Menu Close
Settings Close

Language and Page Formatting Options

5.5. 创建镜像签名配置映射

在更新集群前,需要手动创建包含您使用的发行版本镜像签名的配置映射。此签名允许 Cluster Version Operator(CVO)通过比较预期的及实际镜像签名来验证发行的镜像没有被修改。

如果要从 4.4.8 或更高版本升级,您可以使用 oc CLI 创建配置映射。如果您是从更早的版本升级,则必须使用手动方法。

5.5.1. 使用 oc CLI 创建用于镜像签名验证的配置映射

在更新集群前,需要手动创建包含您使用的发行版本镜像签名的配置映射。此签名允许 Cluster Version Operator(CVO)通过比较预期的及实际镜像签名来验证发行的镜像没有被修改。

注意

如果从 4.4.8 之前的发行版本升级,则必须使用手动方法创建配置映射,而不是使用此流程。此流程使用的命令不在早期版本的 oc 命令行界面(CLI)中。

先决条件

  • 安装 OpenShift CLI(oc)版本 4.4.8 或更高版本。

流程

  1. mirror.openshift.comGoogle Cloud Storage(GCS) 获取您要升级到的版本的镜像签名。
  2. 使用 oc 命令行界面(CLI)登录您要升级的集群。
  3. 将镜像发行镜像签名配置映射应用到连接的集群:

    $ oc apply -f <image_signature_file> 1
    1
    对于 <image_signature_file>,指定文件的路径和名称,例如 mirror/config/signature-sha256-81154f5c03294534.yaml

5.5.2. 手动创建镜像签名配置映射

创建并应用镜像签名配置映射到您要更新的集群。

注意

每次更新集群时都必须执行以下步骤。

流程

  1. 请参阅 OpenShift Container Platform 升级路径 知识库文章,以确定集群的有效升级路径。
  2. 将版本添加到 OCP_RELEASE_NUMBER 环境变量中:

    $ OCP_RELEASE_NUMBER=<release_version> 1
    1
    对于 <release_version>,请指定与集群升级到的 OpenShift Container Platform 版本对应的标签,如 4.4.0
  3. 将集群的系统构架添加到 ARCHITECTURE 环境变量中:

    $ ARCHITECTURE=<server_architecture> 1
    1
    对于 server_architecture,指定服务器的构架,如 x86_64
  4. Quay 获取发行版本镜像摘要:

    $ DIGEST="$(oc adm release info quay.io/openshift-release-dev/ocp-release:${OCP_RELEASE_NUMBER}-${ARCHITECTURE} | sed -n 's/Pull From: .*@//p')"
  5. 设置摘要算法:

    $ DIGEST_ALGO="${DIGEST%%:*}"
  6. 设置摘要签名:

    $ DIGEST_ENCODED="${DIGEST#*:}"
  7. mirror.openshift.com 网站获取镜像签名。

    $ SIGNATURE_BASE64=$(curl -s "https://mirror.openshift.com/pub/openshift-v4/signatures/openshift/release/${DIGEST_ALGO}=${DIGEST_ENCODED}/signature-1" | base64 -w0 && echo)
  8. 创建配置映射:

    $ cat >checksum-${OCP_RELEASE_NUMBER}.yaml <<EOF
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: release-image-${OCP_RELEASE_NUMBER}
      namespace: openshift-config-managed
      labels:
        release.openshift.io/verification-signatures: ""
    binaryData:
      ${DIGEST_ALGO}-${DIGEST_ENCODED}: ${SIGNATURE_BASE64}
    EOF
  9. 将配置映射应用到集群以更新:

    $ oc apply -f checksum-${OCP_RELEASE_NUMBER}.yaml