安装
amd64
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
arm64
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm64
sudo install minikube-linux-arm64 /usr/local/bin/minikube
- 没安装
kubectl可以使用minikube kubectl --代替
kubectl 安装
x86_64
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
arm64
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version
kubectl cluster-info
kubectl get nodes
启动集群
minikube start --force
kubectl get po -A
minikube version
Web 界面
minikube dashboard --port=19888
# http://127.0.0.1:19888/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
部署应用程序
NodePort
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080
kubectl get services hello-minikube
minikube service hello-minikube
# 或
kubectl port-forward service/hello-minikube 7080:8080
LoadBalancer
kubectl create deployment balanced --image=kicbase/echo-server:1.0
kubectl expose deployment balanced --type=LoadBalancer --port=8080
minikube tunnel
kubectl get services balanced
Ingress
minikube addons enable ingress
管理集群
minikube pause
minikube unpause
minikube stop
minikube config set memory 9001
minikube addons list
minikube delete --all
常用命令速查
# 启动/停止
minikube start
minikube start --kubernetes-version=latest
minikube start -p cluster2
minikube stop
minikube delete
minikube delete --all
# Dashboard
minikube dashboard
minikube dashboard --port=19888
minikube dashboard --url
# 插件管理
minikube addons list
minikube addons enable <name>
minikube addons disable <name>
minikube addons open <name>
# 通过 minikube kubectl 代替 kubectl
minikube kubectl -- get pods
minikube kubectl -- --help
教程 kubernetes101
创建集群
minikube version
minikube start
kubectl version
kubectl cluster-info
kubectl get nodes
部署应用
kubectl create deployment nginx --image=nginx:latest
kubectl get deployments
kubectl proxy
curl http://localhost:8001/version
查看应用
kubectl get pods
kubectl describe pods
kubectl logs $POD_NAME
kubectl exec $POD_NAME -- env
kubectl exec -ti $POD_NAME -- bash
公开应用
kubectl expose deployment/nginx --type="NodePort" --port 80
kubectl get services
kubectl describe services/nginx
curl $(minikube ip):$NODE_PORT
# 标签操作
kubectl label pods $POD_NAME version=v1
kubectl get pods -l version=v1
kubectl delete service -l app=nginx
扩缩容
kubectl scale deployments/nginx --replicas=4
kubectl get pods -o wide
kubectl get rs
kubectl describe deployments/nginx
# Load Balancing 验证
kubectl describe services/nginx
curl $(minikube ip):$NODE_PORT
kubectl scale deployments/nginx --replicas=2
滚动更新与回滚
kubectl set image deployments/nginx nginx=nginx:v2
kubectl rollout status deployments/nginx
kubectl describe services/nginx
# 回滚
kubectl set image deployments/nginx nginx=nginx:v10
kubectl rollout undo deployments/nginx
kubectl describe pods