5.4. 이미지 서명 ConfigMap 생성


클러스터를 업데이트하기 전에 사용하는 릴리스 이미지의 서명이 포함된 ConfigMap을 수동으로 생성해야합니다. 이 서명을 통해 CVO (Cluster Version Operator)는 예상되는 이미지와 실제 이미지 서명을 비교하여 릴리스 이미지가 변경되지 않았는지 확인할 수 있습니다.

버전 4.4.8 이상에서 업그레이드하는 경우 oc CLI를 사용하여 ConfigMap을 생성할 수 있습니다. 이전 버전에서 업그레이드하는 경우 수동 방법을 사용해야합니다.

5.4.1. oc CLI를 사용하여 이미지 서명 확인을 위한 ConfigMap 생성

클러스터를 업데이트하기 전에 사용하는 릴리스 이미지의 서명이 포함된 ConfigMap을 수동으로 생성해야합니다. 이 서명을 통해 CVO (Cluster Version Operator)는 예상되는 이미지와 실제 이미지 서명을 비교하여 릴리스 이미지가 변경되지 않았는지 확인할 수 있습니다.

참고

버전 4.4.8 이전 릴리스에서 업그레이드하는 경우 이 절차 대신 ConfigMap을 생성하기위한 수동 방법을 사용해야합니다. 이 절차에 사용되는 명령은 이전 버전의 oc 명령행 인터페이스 (CLI)에서 제공되지 않습니다.

전제 조건

  • oc로 알려진 OpenShift 명령행 인터페이스 (CLI)를 설치합니다 (버전 4.4.8 이상).

프로세스

  1. mirror.openshift.com 또는 Google Cloud Storage (GCS) 에서 업그레이드하려는 버전의 이미지 서명을 가져옵니다.
  2. oc 명령행 인터페이스 (CLI)를 사용하여 업그레이드중인 클러스터에 로그인합니다.
  3. 미러링된 릴리스 이미지 서명 ConfigMap을 연결된 클러스터에 적용합니다.

    $ oc apply -f <image_signature_file> 1
    1
    <image_signature_file> 의 경우 파일의 경로와 이름을 지정합니다 (예: mirror/config/signature-sha256-81154f5c03294534.yaml).

5.4.2. 이미지 서명 ConfigMap 수동으로 생성

이미지 서명 ConfigMap을 만들고 업데이트하려는 클러스터에 적용합니다.

참고

클러스터를 업데이트할 때 마다 다음 단계를 수행해야합니다.

프로세스

  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
    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. ConfigMap을 생성합니다.

    $ 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. 업데이트할 클러스터에 ConfigMap을 적용합니다.

    $ oc apply -f checksum-${OCP_RELEASE_NUMBER}.yaml
Red Hat logoGithubRedditYoutube

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.