三、Kubernetes快速入门

三、Kubernetes快速入门

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 443/TCP 8hnginx-svc ClusterIP 10.107.131.111 32222/TCP 3s[root@master ~]# curl 10.107.131.111:32222 #集群内访问........这种⽅式只能在集群中进⾏访问,⽆法将业务发布出去通过edit修改pod类型,将业务发布出去[root@master ~]# kubectl edit svc nginx-svc #修改service类型为NodePortapiVersion: v1kind: Servicespec: type: NodePort[root@master ~]# kubectl get svc #查看Seriver端⼝NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEkubernetes ClusterIP 10.96.0.1 443/TCP 8hnginx-svc NodePort 10.107.131.111 32222:30497/TCP 3m27s访问资源6、删除资源[root@master ~]# kubectl delete deploy "nginx-deploy" deleted[root@master ~]# kubectl delete svc nginx-svcservice "nginx-svc" deleted

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688056096a72186.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信