使用方法

注意事项

  1. 容器 OS 升级为所有软件包原子升级,默认不在容器 OS 内提供单包升级能力。
  2. 容器 OS 升级为双区升级的方式,不支持更多分区数量。
  3. 单节点的升级过程的日志可在节点的/var/log/messages文件查看。
  4. 请严格按照提供的升级和回退流程进行操作,异常调用顺序可能会导致系统无法升级或回退。
  5. 暂不支持内核跨版本升级

升级指导

编写YAML文件,在集群中部署 OS 的cr实例,用于部署cr实例的YAML示例如下:

apiVersion: upgrade.openeuler.org/v1alpha1
kind: OS
metadata:
  name: os-sample
spec:
  osversion: KubeOS 1.0.0
  imageurl: edit.image.url
  maxunavailable: 1
  checksum: image checksum
  flagSafe: imageurl is safe or not

参数说明如下:

参数参数含义是否必选
osversion用于升级的镜像的 OS 版本
imageurl用于升级的镜像的地址
maxunavailable同时进行升级的节点数
checksum用于升级的镜像的checksum(SHA-256)值
flagsafe:imageurl是否为安全的地址

imageurl指定的地址里包含协议,只支持http或https协议。imageurl为https协议时为安全传输,imageurl为http地址时,需指定flagsafe为true,即用户明确该地址为安全时,才会下载镜像。如imageurl为http地址且没有指定flagsafe为true,默认该地址不安全,不会下载镜像并且在升级节点的日志中提示用户该地址不安全

对于imageurl,推荐使用https协议,使用https协议请确保升级的虚拟机已安装相应证书。如果镜像服务器由用户自己维护,需要用户自己进行签名,并保证升级节点已安装对应证书。用户将证书放在容器OS /etc/pki/ca-trust/source/anchors目录下,然后使用update-ca-trust extract 命令安装证书。地址由管理员传入,管理员应该保证网址的安全性,推荐采用内网地址。

假定将上面的YAML保存到upgrade_v1alpha1_os.yaml

查看未升级的节点的 OS 版本

kubectl get nodes -o custom-columns='NAME:.metadata.name,OS:.status.nodeInfo.osImage'

执行命令,在集群中部署cr实例后,节点会根据配置的参数信息进行升级。

kubectl apply -f upgrade_v1alpha1_os.yaml

再次查看节点的 OS 版本来确认节点是否升级完成

kubectl get nodes -o custom-columns='NAME:.metadata.name,OS:.status.nodeInfo.osImage'

说明

如果后续需要再次升级,与上面相同对 upgrade_v1alpha1_os.yaml 的 imageurl ,osversion,checksum,maxunavailable 或 flagsafe 字段进行相应修改。

回退指导

使用场景

  • 虚拟机无法正常启动时,需要退回到上一可以启动的版本时进行回退操作,仅支持手动回退容器 OS 。
  • 虚拟机能够正常启动并且进入系统,需要将当前版本退回到老版本时进行回退操作,支持工具回退(类似升级方式)和手动回退,建议使用工具回退。

手动回退

手动重启虚拟机,选择第二启动项进行回退,手动回退仅支持回退到本次升级之前的版本。

工具回退

  1. 修改 OS 的cr实例的YAML 配置文件(例如 upgrade_v1alpha1_os.yaml),将 imageurl 、osversion、checksum 和flagsafe 字段设置为期望回退的老版本镜像信息。

  2. 在集群中更新cr。

    kubectl apply -f upgrade_v1alpha1_os.yaml
    

    更新完成后,节点会根据配置信息回退容器 OS。

  3. 查看节点容器 OS 版本,确认回退是否成功。

    kubectl get nodes -o custom-columns='NAME:.metadata.name,OS:.status.nodeInfo.osImage'
    

文档捉虫

“有虫”文档片段

问题描述

提交类型 issue

有点复杂...

找人问问吧。

PR

小问题,全程线上修改...

一键搞定!

问题类型
规范和低错类

● 错别字或拼写错误;标点符号使用错误;

● 链接错误、空单元格、格式错误;

● 英文中包含中文字符;

● 界面和描述不一致,但不影响操作;

● 表述不通顺,但不影响理解;

● 版本号不匹配:如软件包名称、界面版本号;

易用性

● 关键步骤错误或缺失,无法指导用户完成任务;

● 缺少必要的前提条件、注意事项等;

● 图形、表格、文字等晦涩难懂;

● 逻辑不清晰,该分类、分项、分步骤的没有给出;

正确性

● 技术原理、功能、规格等描述和软件不一致,存在错误;

● 原理图、架构图等存在错误;

● 命令、命令参数等错误;

● 代码片段错误;

● 命令无法完成对应功能;

● 界面错误,无法指导操作;

风险提示

● 对重要数据或系统存在风险的操作,缺少安全提示;

内容合规

● 违反法律法规,涉及政治、领土主权等敏感词;

● 内容侵权;

您对文档的总体满意度

非常不满意
非常满意
提交
根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。