Kubernetes 系列【13】控制器:可视化操作 Deployment

文章目录

  • [1. 前言](#1. 前言)
  • [2. 前置准备](#2. 前置准备)
    • [2.1 安装 Kuboard](#2.1 安装 Kuboard)
    • [2.2 登录并导入集群](#2.2 登录并导入集群)
  • [3. 可视化创建 Deployment](#3. 可视化创建 Deployment)
    • [3.1 进入创建页面](#3.1 进入创建页面)
    • [3.2 基本信息](#3.2 基本信息)
    • [3.2 容器信息](#3.2 容器信息)
    • [3.3 完成创建](#3.3 完成创建)
    • [3.4 查看状态](#3.4 查看状态)
  • [4. 可视化滚动更新](#4. 可视化滚动更新)
    • [4.1 方式 1 :调整镜像版本](#4.1 方式 1 :调整镜像版本)
    • [4.2 方式 2 :预览/编辑 YAML](#4.2 方式 2 :预览/编辑 YAML)
    • [4.3 方式 3 :编辑 Deployment](#4.3 方式 3 :编辑 Deployment)
    • [4.4 更新完成](#4.4 更新完成)
  • [5. 可视化版本回滚(故障应急)](#5. 可视化版本回滚(故障应急))
    • [5.1 触发异常](#5.1 触发异常)
    • [5.2 执行回滚](#5.2 执行回滚)
  • [6. 扩缩容](#6. 扩缩容)
    • [6.1 手动](#6.1 手动)
    • [6.2 自动伸缩](#6.2 自动伸缩)
      • [6.2.1 更新策略](#6.2.1 更新策略)
      • [6.2.2 自动伸缩](#6.2.2 自动伸缩)

1. 前言

在传统 K8s 运维学习中,我们通常基于【 kubectl 命令行 + YAML 清单 】完成 Deployment 的创建、更新、回滚、灰度等全流程操作。

这种方式原生、精准,也是必须掌握的,但是资源链路黑盒,层级关系不直观 ,无法直观查看多版本 ReplicaSet 并存关系、Pod 分布节点、标签关联规则,全靠逻辑推导。

所以,可以结合可视化管理平台,更清楚直观的观察到全链路,生产环境一般也都是给你管理界面,而不会直接让你在服务器上操作。

2. 前置准备

Kuboard 是一款国产开源轻量级 K8s 可视化管理面板。

2.1 安装 Kuboard

可参考:

2.2 登录并导入集群

也很简单:

3. 可视化创建 Deployment

3.1 进入创建页面

  1. 首页左侧导航栏进入【Kubernetes 集群列表】,选择默认命名空间(default
  1. 进入【创建工作负载】:

3.2 基本信息

点击【部署(Deployment)】:

填写【基本信息】:

  1. 工作负载类型K8s 应用控制器,常用 Deployment(无状态服务)
  2. Deployment:管理普通微服务,支持滚动更新、回滚、扩缩容
  3. 工作负载分层 :环境分组,留空 = 默认层
  4. 工作负载名称Deployment 资源名,小写字母/数字/横杠,命名空间唯一
  5. 服务描述50 字内业务备注,仅展示用
  6. 注解 :资源注解 metadata.annotations,键值对格式,存储非标识类附加信息(域名、负责人等)
  7. 标签 :资源筛选标识,编辑器自动同步 Pod 匹配标签
  8. 副本数 :运行的 Pod 实例数量

填写如下:

3.2 容器信息

添加工作容器:

填写相关信息:

必填项:

  1. 名称:容器唯一标识,必填
  2. 容器镜像:镜像地址,私有仓库搭配 ImagePullSecret 密钥
  3. 镜像拉取策略:Always/IfNotPresent (默认)/Never

可选配置(勾选启用):

  1. 命令/参数:覆盖镜像默认启动指令
  2. 环境变量:注入运行参数
  3. 资源请求/限制:CPU 内存调度与上限管控
  4. 容器端口:业务监听端口声明
  5. 健康检查:探针检测容器状态,异常重启
  6. 生命周期回调:容器启停执行自定义脚本
  7. 容器安全上下文:限制容器运行权限,加固安全
  8. 滚动更新策略(默认 25%,可直接修改):

3.3 完成创建

Kuboard 自动生成合规 YAML 并提交至集群,完成创建。

点击【保存】:

会先进行校验:

点击【应用】:

3.4 查看状态

查看工作负载:

点击 nginx-web,在上方可以直接进行相关操作:

在运行时界面可以看到当前状态:

4. 可视化滚动更新

需求:将 Nginx 滚动更新至 1.16.1,业务零中断。

4.1 方式 1 :调整镜像版本

点击 【调整镜像版本】,输入版本号并【确定】:

4.2 方式 2 :预览/编辑 YAML

还可以通过【预览/编辑 YAML】进行修改:

编辑页面:

4.3 方式 3 :编辑 Deployment

还可以通过【编辑】进行修改:

所有信息都可以在这里修改:

4.4 更新完成

自动更新完成后,查看历史版本、当前副本集数、最大历史副本集数、副本集等信息:

5. 可视化版本回滚(故障应急)

5.1 触发异常

编辑容器镜像为不存在的版本nginx:1.161,提交后 Pod 触发 ImagePullBackOff 异常。

5.2 执行回滚

历史版本中选择一个可用版本,直接点击【回滚到】:

历史版本正常运行:

6. 扩缩容

6.1 手动

直接点击【伸缩】即可:

6.2 自动伸缩

点击【自动伸缩】:

6.2.1 更新策略

点击【编辑更新策略】:

可以修改更新策略,以及对应的参数:

6.2.2 自动伸缩

自动伸缩(HPA)模块可以开启【自动伸缩】:

点击后可以配置相关参数:

相关推荐
能有时光1 小时前
] K8s 核心组件使用指南
云原生·容器·kubernetes
我登哥MVP2 小时前
HDFS硬核拆解-读写Pipeline与Java实战
java·hadoop·hdfs·云原生·云计算
运维老郭14 小时前
【K8s运维实战】Kubernetes临时存储卷实战:emptyDir核心用法与gitRepo弃用迁移指南
运维·云原生·kubernetes
AAA@峥18 小时前
容器数据不丢失:Docker 分层存储 + Volume 共享、备份迁移完整指南
运维·docker·容器
十年磨一剑~20 小时前
docker 为何每次 docker tag才能 docker push
docker·容器·eureka
gs801401 天前
记一次多 Agent 架构在单节点 K8s 触发的 PID 耗尽与 Pod 驱逐(Evicted)大摸排
容器·架构·kubernetes
bukeyiwanshui1 天前
20260701 k8s Metric Server
容器·贪心算法·kubernetes
江湖有缘1 天前
基于Docker环境部署tillywork开源工作管理工具
docker·容器·开源
鸿儒5171 天前
MR-50国产化GPU docker配置方法
docker·容器·mr