Kubernetes(K8S) Controller - Deployment 介绍

打印 上一主题 下一主题

主题 736|帖子 736|积分 2208

什么是controller

实际存在的,管理和运行容器的对象
Pod 和 Controller 关系

Pod 是通过 Controller 实现应用的运维,比如伸缩、滚动升级等等
Pod 和 Controller 之间通过 label 标签建立关系
Deployment 控制器应用场景

场景:Web服务、微服务
部署无状态应用
管理Pod和ReplicaSet
部署、滚动升级等功能
yaml 文件字段说明

Kubernetes(K8S) yaml 介绍
Deployment 控制器应用部署


通过 matchLabels 和 labels 进行匹配

  • 导出 yaml 文件 kubectl create
  • 编辑 yaml 文件
  • 进行部署,kubectl apply -f
  • 对外发布,kubectl expose deployment 或者在 yaml 中编辑 NodePort
升级回滚


  • 升级
  1. # 命令修改
  2. [root@k8smaster ~]# kubectl set image deployment/javademo1 vipsoft=registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:2.0
  3. # 手动修改
  4. # Containers:
  5. #   vipsoft:
  6. #    Image:        registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:1.0  #将 :1.0 改成 2.0
  7. # 一旦镜像名(或 Pod 定义)发生了修改,则触发 k8s 系统完成 Deployment 所有运行 Pod 的滚动升级操作
  8. [root@k8smaster ~]# kubectl edit deployment/javademo1
复制代码

  • 回滚
  1. # 查看历史版本
  2. [root@k8smaster ~]# kubectl rollout history deployment/javademo1
  3. # 这边没加参娄,回滚到上一个版本
  4. [root@k8smaster ~]# kubectl rollout undo deployment/javademo1
  5. # 回到指定的版本
  6. [root@k8smaster ~]# kubeetl rollout undo deployment/javademo1 --to-revision=2
复制代码
Kubernetes(K8S) Deployment 升级和回滚
弹性伸缩
  1. # 创建 3 个副本
  2. [root@k8smaster ~]# kubectl scale deployment javademo1 --replicase=3
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表