kubernetes(minikube) 使用笔记
第一次学习Kubernetes教程,先做记录行为/现象,后面学习原理的时候作为参照。
----
〇、启动与部署
1. 启动Kubernetes
minikube start
2. 部署镜像
示例:kubectl create deployment <deployment name> --image=gcr.io/google-samples/kubernetes-bootcamp:v1
3. 服务停止与环境清理
minikube stop
minikube delete
一、查看信息
1. kubectl get deployments/nodes/pods/services
(有意思的是这些命令都兼容不带s的单数形式,下面的前缀也是)
2. kubectl describe
kubectl describe deployment/<deployment name>
kubectl describe node/<node name>
kubectl describe pod/<pod name>
kubectl describe service/kubernetes
3. 标签记法
上述对deployment/node/pod/service的定位可以使用标签记法替代
如:node -l <key>=<value>
标签操作见后续笔记。
二、网络
外部直接可达的网络类型:
1. NodePort
IP获取方式:minikube ip
端口获取方式:kubectl get services 的返回结果中可以查看到端口映射情况。或者使用kubectl describe services/<service name> 查看。
映射创建方式:kubectl expose deployment/<deployment name> --type="NodePort" --port <pod port>
逆操作(删除服务):kubectl delete service/<service name>
2. proxy
IP:localhost
端口:默认8001
访问pod(80端口)的示例:http://localhost:8001/api/v1/namespaces/default/pods/<pod name>/proxy/
三、直接操作Pod
类似于docker的操作。
1. 执行命令
kubectl exec <pod name> command
2. 登录pod
kubectl exec -ti <pod name> bash
四、Scale & ReplicaSet
查看ReplicaSet:
kubectl get rs
调整副本数:
kubectl scale deployments/<deployment name> --replicas=<replica number>
五、应用升级
kubectl set image deployments/<deployment name> <container name>=<container image>
示例:kubectl set image deployments/<deployment name> kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
可以使用 kubectl describe <resource type> 来查看container name是什么。
确认变更是否成功:kubectl rollout status deployments/<deployment name>
回滚变更:kubectl rollout undo deployments/<deployment name>
六、标签操作
追加标签:kubectl label pod <pod name> <key>=<value>
如果要修改需要加--overwrite参数。

浙公网安备 33010602011771号