工作集群离线升级指南¶
Note
本文仅针对离线模式下,使用 DCE 5.0 平台所创建的工作集群的 kubernetes 的版本进行升级,不包括其它 kubeneters 组件的升级。
概述¶
在离线场景下,用户可以通过制作增量离线包的方式对使用 DCE 5.0 平台所创建的工作集群的 kubernetes 的版本进行升级。整体的升级思路为:在联网节点构建离线包 → 将离线包导入火种节点 → 更新 Global 集群的 kubernetes 版本清单 → 使用平台 UI 升级工作集群的 kubernetes 版本 。
Note
目前支持构建的离线 kubernetes 版本如下:
- v1.26.3, v1.26.2, v1.26.1, v1.26.0, v1.25.8
- v1.25.7, v1.25.6, v1.25.5, v1.25.4, v1.25.3, v1.25.2, v1.25.1, v1.25.0,
- v1.24.12, v1.24.11, v1.24.10, v1.24.9, v1.24.8, v1.24.7, v1.24.6, v1.24.5, v1.24.4, v1.24.3, v1.24.2, v1.24.1, v1.24.0
在联网节点构建离线包¶
由于离线环境无法联网,用户需要事先准备一台能够**联网的节点**来进行增量离线包的构建,并且在这个节点上启动 Docker 服务。如何安装 Docker?
-
检查联网节点的 Docker 服务运行状态
# 查看节点下 Docker 进程的运行状态 ps aux|grep docker # 预期输出如下: root 12341 0.5 0.2 654372 26736 ? Ssl 23:45 0:00 /usr/bin/docked root 12351 0.2 0.1 625080 13740 ? Ssl 23:45 0:00 docker-containerd --config /var/run/docker/containerd/containerd.toml root 13024 0.0 0.0 112824 980 pts/0 S+ 23:45 0:00 grep --color=auto docker
-
在联网节点的
/root
目录下创建一个名为manifest.yaml
的文件,命令如下:manifest.yaml
内容如下:image_arch
用于指定 CPU 的架构类型,可填入的参数为amd64
和arm64
。kube_version
用于指定需要构建的 kubernetes 离线包版本,可参考上文的支持构建的离线 kubernetes 版本。
-
在
/root
目录下新建一个名为/data
的文件夹来存储增量离线包。执行如下命令,使用
ghcr.m.daocloud.io/kubean-io/airgap-patch:v0.4.8
镜像生成离线包。更多关于
ghcr.m.daocloud.io/kubean-io/airgap-patch:v0.4.8
镜像的信息, 请前往 kubean。docker run --rm -v $(pwd)/manifest.yml:/manifest.yml -v $(pwd)/data:/data ghcr.m.daocloud.io/kubean-io/airgap-patch:v0.4.8
等待 docker 服务运行完成后,检查
/data
文件夹下的文件,文件目录如下:
将离线包导入火种节点¶
-
将联网节点的
/data
文件拷贝至火种节点的/root
目录下,在**联网节点**执行如下命令:Note
“x.x.x.x“ 为火种节点 IP 地址
-
在**火种节点**上将
/data
文件内的镜像文件拷贝至火种节点内置的 docker resgitry 仓库。登陆火种节点后执行如下命令:-
进入镜像文件所在的目录
-
执行 import_images.sh 脚本将镜像导入火种节点内置的 docker resgitry 仓库。
Note
上述命令仅仅适用于火种节点内置的 docker resgitry 仓库,如果使用外部仓库请使用如下命令:
DEST_USER=${username} DEST_PASS=${password} DEST_TLS_VERIFY=false ./import_images.sh https://x.x.x.x:443
”https://x.x.x.x:443” 为外部仓库的地址。 “DEST_USER=\({username} DEST_PASS=\)” 外部仓库的用户名和密码参数。 如果外部仓库为免密,则可删除此参数。
-
-
在火种节点上将
/data
文件内的二进制文件拷贝至火种节点内置的 Minio 服务上。-
进入二进制文件所在的目录
-
执行 import_files.sh 脚本将二进制文件导入火种节点内置的 Minio 服务上。
-
Note
上述命令仅仅适用于火种节点内置的 Minio 服务,如果使用外部 Minio 请将“http://127.0.0.1:9000” 替换为外部 Minio 的访问地址。 “rootuser” 和 “rootpass123”是火种节点内置的 Minio 服务的默认账户和密码。
更新 Global 集群的 kubernetes 版本清单¶
-
将联网节点的
/data
文件内的kubeanofflineversion.cr.patch
清单配置文件拷贝至 Global 集群内任一 **Master 节点**的/root
目录下,请在**联网节点**执行如下命令:Note
“x.x.x.x“ 为 Global 集群内任一 Master 节点 IP 地址
-
完成上一步后登陆 Global 集群内任一 **Master 节点**执行清单配置文件,命令如下:
使用平台 UI 升级工作集群的 kubernetes 版本¶
登录 DCE 5.0 的 UI 管理界面,参照集群升级文档对平台自建的工作集群进行升级。