k8s的流程
- 编写dockerfile
- 使用控制器来部署应用
- 使用服务来对外暴露应用
1. 创建应用
使用命令来创建
kubectl create deployment nginx --image=nginx:1.14
使用yaml文件创建
kubectl create deployment nginx --image=nginx:1.14 --dry-run=client -o yaml > nginx.yaml
#空运行创建一个nginx的yaml文件
kubectl apply -f nginx.yaml
2.服务应用
kubectl expose deployment nginx --port=80 --target-port=80 --type=NodePort
#暴露服务端口
#--port:是pod内部通信的端口
#--target-port:是服务的端口,和dockerfile里的expose暴露的端口一致
3. 服务升级
把nginx从1.14升级到1.15版本
使用yaml文件升级
使用kubectl edit deployment/nginx, 找到image进行修改
使用命令升级
kubectl set image deployment nginx nginx=nginx:1.5
4. 服务缩放 (水平扩容,横向扩容)
kubectl scale deployment nginx --replicas=2 #pod里扩容到两台 #也可以在yaml文件里修改replicas 副本数
5. 服务回滚
回滚到上一个版本
kubectl rollout undo deployment nginx
查看历史版本
kubectl rollout history deployment nginx
给历史版本写上注释
kubectl annotate deployment/nginx kubernetes.io/change-cause="$信息"
#只能修改最后的一个版本
查看历史版本的详细信息
kubectl rollout history deployment nginx --revision=1
回滚到指定版本
kubectl rollout undo deployment nginx --to-revision=1
6. 服务删除
kubectl delete deployment nginx
#删除控制器
kubectl delete svc nginx
标签:基本,kubectl,nginx,--,命令,yaml,版本,deployment,k8s From: https://blog.51cto.com/u_13587189/5767998