12.3. 미러링을 위한 클러스터 준비

클러스터를 연결 해제하기 전에 연결이 끊긴 클러스터의 모든 노드에서 연결할 수 있는 미러 레지스트리에 이미지를 미러링하거나 복사해야 합니다. 이미지를 미러링하려면 다음을 수행하여 클러스터를 준비해야 합니다.

  • 호스트의 신뢰할 수 있는 CA 목록에 미러 레지스트리 인증서를 추가합니다.
  • cloud.openshift.com 토큰의 이미지 가져오기 보안이 포함된 .dockerconfigjson 파일을 생성합니다.

절차

  1. 이미지 미러링을 허용하는 인증 정보 구성:

    1. 미러 레지스트리의 CA 인증서를 간단한 PEM 또는 DER 파일 형식으로 신뢰할 수 있는 CA 목록에 추가합니다. 예를 들면 다음과 같습니다.

      $ cp </path/to/cert.crt> /usr/share/pki/ca-trust-source/anchors/
      다음과 같습니다., </path/to/cert.crt>
      로컬 파일 시스템의 인증서 경로를 지정합니다.
    2. CA 신뢰를 업데이트합니다. 예를 들어 Linux의 경우:

      $ update-ca-trust
    3. 글로벌 가져오기 보안에서 .dockerconfigjson 파일을 추출합니다.

      $ oc extract secret/pull-secret -n openshift-config --confirm --to=.

      출력 예

      .dockerconfigjson

    4. .dockerconfigjson 파일을 편집하여 미러 레지스트리 및 인증 인증서를 추가하고 새 파일로 저장합니다.

      {"auths":{"<local_registry>": {"auth": "<credentials>","email": "you@example.com"}}},"<registry>:<port>/<namespace>/":{"auth":"<token>"}}}

      다음과 같습니다.

      <local_registry>
      미러 레지스트리가 콘텐츠를 제공하는 데 사용하는 레지스트리 도메인 이름과 선택적으로 포트를 지정합니다.
      auth
      미러 레지스트리의 base64로 인코딩된 사용자 이름 및 암호를 지정합니다.
      <registry>:<port>/<namespace>
      미러 레지스트리 세부 정보를 지정합니다.
      <token>

      미러 레지스트리의 base64 인코딩 username:password 를 지정합니다.

      예를 들면 다음과 같습니다.

      $ {"auths":{"cloud.openshift.com":{"auth":"b3BlbnNoaWZ0Y3UjhGOVZPT0lOMEFaUjdPUzRGTA==","email":"user@example.com"},
      "quay.io":{"auth":"b3BlbnNoaWZ0LXJlbGVhc2UtZGOVZPT0lOMEFaUGSTd4VGVGVUjdPUzRGTA==","email":"user@example.com"},
      "registry.connect.redhat.com"{"auth":"NTE3MTMwNDB8dWhjLTFEZlN3VHkxOSTd4VGVGVU1MdTpleUpoYkdjaUailA==","email":"user@example.com"},
      "registry.redhat.io":{"auth":"NTE3MTMwNDB8dWhjLTFEZlN3VH3BGSTd4VGVGVU1MdTpleUpoYkdjaU9fZw==","email":"user@example.com"},
      "registry.svc.ci.openshift.org":{"auth":"dXNlcjpyWjAwWVFjSEJiT2RKVW1pSmg4dW92dGp1SXRxQ3RGN1pwajJhN1ZXeTRV"},"my-registry:5000/my-namespace/":{"auth":"dXNlcm5hbWU6cGFzc3dvcmQ="}}}