2023年6月30日发(作者:)
三、Kubernetes快速⼊门1、pod管理1.1创建pod[root@master ~]# kubectl run nginx-pod --port=80 --restart=Always --image=nginx:1.14-alpine1.2查看pod[root@master ~]# kubectl get pod[root@master ~]# kubectl describe pod nginx-pod #查看pod详细描述1.3删除pod[root@master ~]# kubectl delete po nginx-pod通过⾃主式的创建pod的⽅式存在以下问题1、pod⼀旦挂掉,就会影响业务2、⾃主式pod只能创建单个,没有副本机制3、即使创建多个pod,共同提供服务,也没有办法⾃动重建所以我们要使⽤通过pod控制器去管理pod2、控制器管理(deployment)2.1通过控制器去创建pod以deployment为例[root@master ~]# kubectl create deploy nginx-deploy --replicas=2 --port=80 --image=nginx:1.14-alpine2.2查看deployment[root@master ~]# kubectl get deploy nginx-deployNAME READY UP-TO-DATE AVAILABLE AGEnginx-deploy 3/3 3 3 30m3、伸缩控制当业务需求量⼤的时候,需要扩容pod;当需求量⼩的时候需要去缩容pod[root@master ~]# kubectl scale --replicas=5 deploy nginx-deploy[root@master ~]# kubectl scale --replicas=3 deploy nginx-deploy4、滚动更新在业务不中断的前提下去更新pod[root@master ~]# kubectl describe deploy nginx-deploy | grep Image #查看当前镜像 Image: nginx:1.14-alpine
[root@master ~]# kubectl set image deploy nginx-deploy nginx=nginx:1.17-alpine
[root@master ~]# kubectl rollout status deploy nginx-deploy #查看滚动更新状态Waiting for deployment "nginx-deploy" rollout to finish: 1 out of 3 new replicas have .deployment "nginx-deploy" successfully rolled out使⽤发现有问题,需要去回滚[root@master ~]# kubectl rollout undo deploy nginx-deploy #回退到上⼀个版本[root@master ~]# kubectl rollout undo deploy --to-revision=2 #回退到第⼆个版本[root@master ~]# kubectl describe deploy nginx-deploy | grep Image #查看当前镜像 Image: nginx:1.15-alpine[root@master ~]# kubectl rollout history deploy nginx-deploy #查看历史版本5、Service管理需要最终把业务发布到互联⽹当中,就需要前端service,将pod进⾏代理[root@master ~]# kubectl expose --name=nginx-svc --port=32222 --target-port=80 deploy nginx-deploy #service前端端⼝为32222 后端为80 默认使⽤ClusterIP[root@master ~]# kubectl get svc #查看serviceIP地址以及端⼝NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEkubernetes ClusterIP 10.96.0.1
发布者:admin,转转请注明出处:http://www.yc00.com/web/1688056096a72186.html
评论列表(0条)