16.2. 연결이 끊긴 환경에서 업데이트 준비

Red Hat OpenShift Container Storage 환경이 인터넷에 직접 연결되지 않은 경우 기본 Operator Hub 및 이미지 레지스트리에 대한 대안으로 OLM(Operator Lifecycle Manager)을 제공하기 위해 일부 추가 구성이 필요합니다.

자세한 내용은 OpenShift Container Platform 설명서를 참조하십시오. Operator 카탈로그 이미지 업데이트.

연결이 끊긴 업데이트를 위해 클러스터를 구성하려면 다음을 수행합니다.

이러한 단계가 완료되면 정상적으로 업데이트를 계속합니다.

16.2.1. 미러 레지스트리 인증 세부 정보 추가

사전 요구 사항

  • 연결이 끊긴 기존 클러스터에서 OpenShift Container Platform 4.3 이상을 사용하는지 확인합니다.
  • oc 클라이언트 버전이 4.4 이상인지 확인합니다.
  • 미러 레지스트리를 사용하여 미러 호스트를 준비합니다. 자세한 내용은 미러 호스트 준비를 참조하십시오.

절차

  1. cluster -admin 역할을 사용하여 OpenShift Container Platform 클러스터에 로그인합니다.
  2. auth.json 파일을 찾습니다.

    이 파일은 podman 또는 docker를 사용하여 레지스트리에 로그인할 때 생성됩니다. 다음 위치 중 하나에 있습니다.

    • ~/.docker/auth.json
    • /run/user/<UID>/containers/auth.json
    • /var/run/containers/<UID>/auth.json
  3. 고유한 Red Hat 레지스트리 가져오기 시크릿을 가져와 auth.json 파일에 붙여넣습니다. 다음과 같이 나타납니다.

    {
        "auths": {
            "cloud.openshift.com": {
                "auth": "*****************",
                "email": "user@example.com"
            },
            "quay.io": {
                "auth": "*****************",
                "email": "user@example.com"
            },
            "registry.connect.redhat.com": {
                "auth": "*****************",
                "email": "user@example.com"
            },
            "registry.redhat.io": {
                "auth": "*****************",
                "email": "user@example.com"
            }
        }
      }
  4. 설정에 대한 적절한 세부 정보를 사용하여 환경 변수를 내보냅니다.

    $ export AUTH_FILE="<location_of_auth.json>"
    $ export MIRROR_REGISTRY_DNS="<your_registry_url>:<port>"
  5. podman 을 사용하여 미러 레지스트리에 로그인하고 자격 증명을 ${AUTH_FILE} 에 저장합니다.

    $ podman login ${MIRROR_REGISTRY_DNS} --tls-verify=false --authfile ${AUTH_FILE}

    그러면 미러 레지스트리가 auth.json 파일에 추가됩니다.

    {
        "auths": {
            "cloud.openshift.com": {
                "auth": "*****************",
                "email": "user@example.com"
            },
            "quay.io": {
                "auth": "*****************",
                "email": "user@example.com"
            },
            "registry.connect.redhat.com": {
                "auth": "*****************",
                "email": "user@example.com"
            },
            "registry.redhat.io": {
                "auth": "*****************",
                "email": "user@example.com"
            },
            "<mirror_registry>": {
                "auth": "*****************",
            }
        }
      }