文章目录
- 1. 前言
- 2. 前置准备
- 2.1 安装 Kuboard
- 2.2 登录并导入集群
- 3. 可视化创建 Deployment
- 3.1 进入创建页面
- 3.2 基本信息
- 3.2 容器信息
- 3.3 完成创建
- 3.4 查看状态
- 4. 可视化滚动更新
- 4.1 方式 1 :调整镜像版本
- 4.2 方式 2 :预览/编辑 YAML
- 4.3 方式 3 :编辑 Deployment
- 4.4 更新完成
- 5. 可视化版本回滚(故障应急)
- 5.1 触发异常
- 5.2 执行回滚
- 6. 扩缩容
- 6.1 手动
- 6.2 自动伸缩
- 6.2.1 更新策略
- 6.2.2 自动伸缩
1. 前言
在传统K8s运维学习中,我们通常基于【kubectl命令行 +YAML清单 】完成Deployment的创建、更新、回滚、灰度等全流程操作。
这种方式原生、精准,也是必须掌握的,但是资源链路黑盒,层级关系不直观,无法直观查看多版本ReplicaSet并存关系、Pod分布节点、标签关联规则,全靠逻辑推导。
所以,可以结合可视化管理平台,更清楚直观的观察到全链路,生产环境一般也都是给你管理界面,而不会直接让你在服务器上操作。
2. 前置准备
Kuboard是一款国产开源轻量级K8s可视化管理面板。
2.1 安装 Kuboard
可参考:
- Kubernetes 系列【3】使用 kubeadm 创建 K8s 集群
- Kuboard 官网文档
2.2 登录并导入集群
也很简单:
3. 可视化创建 Deployment
3.1 进入创建页面
- 首页左侧导航栏进入【
Kubernetes集群列表】,选择默认命名空间(default)
- 进入【创建工作负载】:
3.2 基本信息
点击【部署(Deployment)】:
填写【基本信息】:
- 工作负载类型:
K8s应用控制器,常用Deployment(无状态服务) - Deployment:管理普通微服务,支持滚动更新、回滚、扩缩容
- 工作负载分层:环境分组,留空
=默认层 - 工作负载名称:
Deployment资源名,小写字母/数字/横杠,命名空间唯一 - 服务描述:
50字内业务备注,仅展示用 - 注解:资源注解
metadata.annotations,键值对格式,存储非标识类附加信息(域名、负责人等) - 标签:资源筛选标识,编辑器自动同步
Pod匹配标签 - 副本数:运行的
Pod实例数量
填写如下:
3.2 容器信息
添加工作容器:
填写相关信息:
必填项:
- 名称:容器唯一标识,必填
- 容器镜像:镜像地址,私有仓库搭配
ImagePullSecret密钥 - 镜像拉取策略:
Always/IfNotPresent(默认)/Never
可选配置(勾选启用):
- 命令/参数:覆盖镜像默认启动指令
- 环境变量:注入运行参数
- 资源请求/限制:
CPU内存调度与上限管控 - 容器端口:业务监听端口声明
- 健康检查:探针检测容器状态,异常重启
- 生命周期回调:容器启停执行自定义脚本
- 容器安全上下文:限制容器运行权限,加固安全
- 滚动更新策略(默认
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)模块可以开启【自动伸缩】:
点击后可以配置相关参数: