首页 > 其他分享 >Kubernetes(K8S) Controller - Deployment 介绍

Kubernetes(K8S) Controller - Deployment 介绍

时间:2022-11-30 08:55:05浏览次数:70  
标签:kubectl Kubernetes vipsoft Controller k8smaster deployment K8S root javademo1

什么是controller

实际存在的,管理和运行容器的对象

Pod 和 Controller 关系

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

Deployment 控制器应用场景

场景:Web服务、微服务
部署无状态应用
管理Pod和ReplicaSet
部署、滚动升级等功能

yaml 文件字段说明

Kubernetes(K8S) yaml 介绍

Deployment 控制器应用部署

image
通过 matchLabels 和 labels 进行匹配

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

升级回滚

  • 升级
# 命令修改
[root@k8smaster ~]# kubectl set image deployment/javademo1 vipsoft=registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:2.0
# 手动修改
# Containers:
#   vipsoft:
#    Image:        registry.cn-shanghai.aliyuncs.com/vipsoft/vipsoft:1.0  #将 :1.0 改成 2.0
# 一旦镜像名(或 Pod 定义)发生了修改,则触发 k8s 系统完成 Deployment 所有运行 Pod 的滚动升级操作
[root@k8smaster ~]# kubectl edit deployment/javademo1
  • 回滚
# 查看历史版本
[root@k8smaster ~]# kubectl rollout history deployment/javademo1
# 这边没加参娄,回滚到上一个版本
[root@k8smaster ~]# kubectl rollout undo deployment/javademo1
# 回到指定的版本
[root@k8smaster ~]# kubeetl rollout undo deployment/javademo1 --to-revision=2 

Kubernetes(K8S) Deployment 升级和回滚

弹性伸缩

# 创建 3 个副本
[root@k8smaster ~]# kubectl scale deployment javademo1 --replicase=3

标签:kubectl,Kubernetes,vipsoft,Controller,k8smaster,deployment,K8S,root,javademo1
From: https://www.cnblogs.com/vipsoft/p/16924380.html

相关文章