首页 > Web开发 > 详细

Kubernetes核心技术之Controller

时间:2021-01-26 00:46:24      阅读:52      评论:0      收藏:0      [点我收藏+]

什么是Controller

Controllern不像Pod,是虚拟出来的概念,Controller是实际存在的,是k8s在集群上管理和运行容器的对象

Pod和Controller的关系

Pod是通过Controller实现应用的运维,比如伸缩、滚动升级等等

Pod和Controller是如何取得联系

Pod和Controller之间是通过labei标签建立联系

技术分享图片

Deployment控制器应用场景

  • 部署无状态应用

  • 管理Pod和副本ReplicaSet数量

  • 部署,滚动升级等功能

应用场景:web服务、微服务部署等

yaml文件字段说明

 比较全面的yaml的文件字段说明

Deployment控制器部署应用

第一步导出yaml文件

  • kubectl create deployment web1 --image=nginx --dry-run -o yaml > web1.yaml

然后我们会得到一个web1.yaml文件如下所示

技术分享图片

第二部使用yaml部署应用

  • kubectl apply -f web1.yaml

然后我们一直等待,等待他运行成功

  • 技术分享图片

第三部对外发布(暴露端口)

  • kubectl expose deployment web1 --port=80 --type=NodePort --target-port=80 --name=web1 -o yaml > web1Expose.yaml

然后我们可以看到一个部署文件:web1Expose.yaml

我们将其部署,将Nginx应用进行发布,进行端口暴露

  • kubectl apply -f web1Expose.yaml

  • kubectl get pods,svc

  • 技术分享图片

  • 这个时候已经发布成功,我们可以通过三个节点,只要是30339端口即可访问Nginx服务

应用升级&回滚

下面我们初始化一下环境,将刚刚部署的pod删掉,先删pod ,再删Deployment

  • kubectl get pods   

    • kubectl delete pod podName

  • kubectl get deployments

    • kubectl delete deployment depName

  • 修改刚刚我们导出的web1.yaml文件

    • 副本数量修正为2

    • Nginx的镜像指定版本为1.14

技术分享图片

  • 使用yaml部署应用

    • kubectl apply -f web1.yaml

    • 然后我们去诸多node节点查看相应的镜像版本信息

      • 技术分享图片

应用版本升级(过程分析)

  • 从刚刚我们的操作中,我们部署了两台版本为1.14的Nginx,现在我们要对其进行升级到1.15

  • kubectl set image deployment web1 nginx=nginx:1.15

    • 技术分享图片

  • 我们可以查看升级状态

    • kubectl rollout status deployment 应用名称

      • 技术分享图片

  • 过程分析:升级过程中为什么对外暴露的服务不会停止

技术分享图片

应用版本回滚

  • 就是刚刚查看是否升级成功的命名把status改成history即可查看所有版本信息

    • kubectl rollout history deployment web1.

      • 技术分享图片

  • 版本回滚到上一个版本

    • kubectl rollout undo deployment web1

    • 技术分享图片

  • 版本回滚到指定版本

    • kubectl rollout undo deployment web1 --to-reversion=2

    • 技术分享图片

应用的弹性伸缩

就使用我们刚刚部署的Nginx做列子,我们对其副本伸缩

  • kubectl scale deployment web1 --replicas=10

    • 技术分享图片 

.

 

 

Kubernetes核心技术之Controller

原文:https://www.cnblogs.com/msi-chen/p/14328025.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!