Kubernetes 日常操作记录
1. 创建deployment的YAML文件
kubectl create deployment web2 --image=nginx --dry-run=client -o yaml > web.yaml
2.获取节点解释,如
kubectl explain pods.spec.containers
3.下载镜像策略,imagePullPolicy
Always 镜像标签为latest或镜像不存在时总是从指定的仓库中获取镜像
IfNotPresent 仅当本地镜像缺失时方才从目标仓库下载镜像
Never 禁止从仓库下载镜像,即仅使用本地镜像
4.创建Service, kubectl expose
kubectl expose -name=web2 deployment web2 --port=80 --target-port=80 --type=NodePort
5.修改Pod副本数
kubectl scale deploy web2 --replicas=10
6.删除Pod
kubectl delete pod --force web-59b9bb7664-c2whp
7.获取配置文件
kubectl describe deploy web
8.执行POD内部命令
kubectl exec web-59b9bb7664-27gh4 -it -- /bin/bash kubectl exec web-59b9bb7664-27gh4 -- cat /etc/nginx/nginx.conf
9.POD内部与宿主机之间相互拷贝
kubectl cp web-59b9bb7664-27gh4:etc/nginx/nginx.conf nginx.conf kubectl cp nginx.conf web-59b9bb7664-27gh4:etc/nginx/nginx.conf
10.查看POD实时日志
kubectl attach web-59b9bb7664-27gh4
11.设置NODE不可用
Kubectl cordon worker1
12.修改Service配置
kubectl edit svc web
13. 镜像版本升级
kubectl set image deploy web nginx=nginx:1.21
通过kubectl describe deploy web 查看升级过程与RS的切换,使用滚动发布
14.查看发布历史
kubectl rollout history deploy web
15.回滚上一个版本
Kubectl rollout undo deploy web
16.回滚指定版本
Kubectl rollout undo deploy web –to-revision =2
记录版本操作参数
--record=true
17.扩容,缩容
场景:增加机器后,增加POD扩容
Kubectl scale deploy web –replicas=6
18应用下线
Kubectl delete -f xxx.yaml
或逐个删除
Kubectl delete deploy xxx
Kubectl delete svc xxx