8.5. 이미지 서명 config map 생성
클러스터를 업데이트하기 전에 사용하는 릴리스 이미지의 서명이 포함된 config map을 수동으로 생성해야합니다. 이 서명을 통해 CVO (Cluster Version Operator)는 예상되는 이미지와 실제 이미지 서명을 비교하여 릴리스 이미지가 변경되지 않았는지 확인할 수 있습니다.
버전 4.4.8 이상에서 업그레이드하는 경우 oc
CLI를 사용하여 config map을 생성할 수 있습니다. 이전 버전에서 업그레이드하는 경우 수동 방법을 사용해야합니다.
8.5.1. 이미지 서명 config map 수동으로 생성
이미지 서명 config map을 만들고 업데이트하려는 클러스터에 적용합니다.
클러스터를 업데이트할 때 마다 다음 단계를 수행해야합니다.
프로세스
- OpenShift Container Platform 업데이트 경로 지식 베이스 문서를 참조하여 클러스터의 유효한 업데이트 경로를 결정합니다.
OCP_RELEASE_NUMBER
환경 변수에 버전을 추가합니다.$ OCP_RELEASE_NUMBER=<release_version> 1
- 1
<release_version>
에 대해 클러스터를 업데이트하려는 OpenShift Container Platform 버전에 해당하는 태그를 지정합니다 (예:4.4.0
).
ARCHITECTURE
환경 변수에 클러스터의 시스템 아키텍처를 추가합니다.$ ARCHITECTURE=<server_architecture> 1
- 1
server_architecture
에 대해x86_64
과 같은 서버 아키텍처를 지정합니다.
Quay 에서 릴리스 이미지 다이제스트를 가져옵니다.
$ DIGEST="$(oc adm release info quay.io/openshift-release-dev/ocp-release:${OCP_RELEASE_NUMBER}-${ARCHITECTURE} | sed -n 's/Pull From: .*@//p')"
다이제스트 알고리즘을 설정합니다.
$ DIGEST_ALGO="${DIGEST%%:*}"
다이제스트 서명을 설정합니다.
$ DIGEST_ENCODED="${DIGEST#*:}"
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)
config map을 생성합니다.
$ 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
업데이트할 클러스터에 config map을 적용합니다.
$ oc apply -f checksum-${OCP_RELEASE_NUMBER}.yaml