• 本地部署mini k8 cluster


    mini k8 cluster又称为mini kube。本文将讲解如何在本人的macos上部署mini k8 cluster.

    1. 检查你的配置

    • >2 cpus
    • >2 GB free memory
    • >20 GB free disk
    • docker/podman

    2. 安装minikube

    brew install minikube

    3. 启动minikube

    minikube start

    当你看到如下内容,说明启动成功

    1. 🔎 Verifying Kubernetes components...
    2. Using image gcr.io/k8s-minikube/storage-provisioner:v5
    3. 🌟 Enabled addons: storage-provisioner, default-storageclass
    4. 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

    如果启动失败,则可以尝试如下命令查看log

    1. #找到对应的minikub container
    2. docker ps -a | grep kube | grep -v paus
    3. #查看log
    4. docker logs container_id

    尝试google错误,并解决。我在启动过程中,遇到了autofus4相关的错误,参考了macos - Unable to start minikube on Mac M1 with docker - Stack Overflow cesar的回答解决了问题。

    4. 连接你的minikube

    kubectl get po -A
    

    这时你会看到与以下类似的输出

    1. NAMESPACE NAME READY STATUS RESTARTS AGE
    2. kube-system coredns-64897985d-lv5pc 1/1 Running 0 2m21s
    3. kube-system etcd-minikube 1/1 Running 0 2m31s
    4. kube-system kube-apiserver-minikube 1/1 Running 0 2m31s
    5. kube-system kube-controller-manager-minikube 1/1 Running 0 2m31s
    6. kube-system kube-proxy-69m25 1/1 Running 0 2m22s
    7. kube-system kube-scheduler-minikube 1/1 Running 0 2m31s
    8. kube-system storage-provisioner 1/1 Running 1 (110s ago) 2m28s

    如果你还没有安装kubectel, 则可以尝试以下指令安装

    1. minikube kubectl -- get po -A
    2. # 在你的.bashrc里添加alias
    3. alias kubectl="minikube kubectl --"

    5. 启动面板

    minikube dashboard

    会直接跳转到web界面

     6. 构建一个app service来试一下这个k8 cluster

    1. kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
    2. kubectl expose deployment hello-minikube --type=NodePort --port=8080
    3. kubectl get services hello-minikube
    4. minikube service hello-minikube

    你会看到如下输出

    尝试在web端访问http://127.0.0.1:61052/,你会看到一些ngnix request metadata相关的东西,例如CLIENT VALUESSERVER VALUESHEADERS RECEIVEDBODY 等。

    完成!

  • 相关阅读:
    【计算机视觉】BYOL 讲解
    【stm32】DAC输出三角波锯齿波
    科目三:超车
    ZCU102 Zynq MPSoC IP设置与说明
    浅谈大数据背景下数据库安全保障体系
    tsx 文件中的 行删除
    EasyNLP集成K-BERT算法,借助知识图谱实现更优Finetune导读
    《网络协议》07. 其他协议
    vue、vuex状态管理
    Java,常用类与API,日期时间API的使用
  • 原文地址:https://blog.csdn.net/solinger/article/details/125478754