注:
docker版本: 18.06.2-ce
Kubernetes: v1.15.2
服务器:Centos7
以创建一个deployment展开说明。
1. 创建
kubectl create deployment nginx-demo --image=nginx:latest
创建一个名为nginx-demo的deployment,命名空间默认defaullt
kubectl get deployment
获取所有的deployment(命名空间默认是default)
kubectl get deployment -n dev
获取所有的deployment(命名空间是dev)
kubectl get pods
获取所有的pod
kubectl describe deployment nginx-demo
查看nginx-demo的详情
2.暴露服务
kubectl expose deployment nginx-demo --type=NodePort --port=80 --target-port=80 --name=nginx-service
将nignx-demo映射到服务名为nginx-serice的服务名上,类型为NodePort,k8s分配nodePort端口
kubectl get service
查看服务,找到名为nginx-service,查看端口;
ip:端口 即可以访问nignx首页
3.升级
kubectl set image deployment/nginx-demo nginx=nginx:2
将nginx-demo的镜像由nignx:latest升级为nginx:2
kubectl rollout status deployment/nginx-demo
查看升级状态
4.回滚
kubectl rollout history deployment/nginx-demo
查看之前推出的版本(历史版本)
kubectl rollout undo deployment/nginx-demo
回滚到上一个版本
kubectl rollout undo deployment/nginx-demo --to-revision= 3
回滚到3版本
5.伸缩
kubectl get pods
先查看nignx-demo有几个pod
kubectl scale deployment nginx-demo --replicas=10
扩容到10个pod
kubectl get pods
再查看nignx-demo有几个pod
kubectl scale deployment nginx-demo --replicas=5
缩容到5个pod