검색

7.15.5.2. VDDK 이미지 준비

download PDF

가져오기 프로세스에서는 VMware VDDK(가상 디스크 개발 키트)를 사용하여 VMware 가상 디스크를 복사합니다.

VDDK SDK를 다운로드하여 VDDK 이미지를 생성한 후 이미지를 이미지 레지스트리에 업로드하고 v2v-vmware 구성 맵에 추가할 수 있습니다.

VDDK 이미지에 사용할 내부 OpenShift Container Platform 이미지 레지스트리 또는 안전한 외부 이미지 레지스트리를 구성할 수 있습니다. OpenShift Virtualization 환경에서 레지스트리에 액세스할 수 있어야 합니다.

참고

VDDK 이미지를 공용 레지스트리에 저장하면 VMware 라이센스 약관을 위반할 수 있습니다.

7.15.5.2.1. 내부 이미지 레지스트리 구성

Image Registry Operator 구성을 업데이트하여 베어 메탈에 내부 OpenShift Container Platform 이미지 레지스트리를 구성할 수 있습니다.

경로를 사용하여 레지스트리를 노출하면 OpenShift Container Platform 클러스터 내에서 직접 또는 외부에서 레지스트리에 액세스할 수 있습니다.

이미지 레지스트리의 관리 상태 변경

이미지 레지스트리를 시작하려면 Image Registry Operator 구성의 managementStateRemoved에서 Managed로 변경해야 합니다.

절차

  • managementState Image Registry Operator 구성을 Removed에서 Managed로 변경합니다. 예를 들면 다음과 같습니다.

    $ oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"managementState":"Managed"}}'
베어메탈 및 기타 수동 설치를 위한 레지스트리 스토리지 구성

클러스터 관리자는 설치한 후 스토리지를 사용하도록 레지스트리를 구성해야 합니다.

사전 요구 사항

  • 클러스터 관리자 권한이 있어야 합니다.
  • 베어 메탈과 같이 수동으로 프로비저닝된 RHCOS(Red Hat Enterprise Linux CoreOS) 노드를 사용하는 클러스터입니다.
  • Red Hat OpenShift Container Storage와 같이 클러스터용 영구 스토리지 프로비저닝.

    중요

    OpenShift Container Platform은 복제본이 하나만 있는 경우 이미지 레지스트리 스토리지에 대한 ReadWriteOnce 액세스를 지원합니다. 두 개 이상의 복제본으로 고 가용성을 지원하는 이미지 레지스트리를 배포하려면 ReadWriteMany 액세스가 필요합니다.

  • "100Gi" 용량이 필요합니다.

절차

  1. 스토리지를 사용하도록 레지스트리를 구성하기 위해 configs.imageregistry/cluster 리소스에서 spec.storage.pvc를 변경합니다.

    참고

    공유 스토리지를 사용할 때 보안 설정을 확인하여 외부에서의 액세스를 방지합니다.

  2. 레지스트리 pod가 없는지 확인합니다.

    $ oc get pod -n openshift-image-registry -l docker-registry=default

    출력 예

    No resourses found in openshift-image-registry namespace

    참고

    출력에 레지스트리 Pod가 있는 경우 이 절차를 계속할 필요가 없습니다.

  3. 레지스트리 구성을 확인합니다.

    $ oc edit configs.imageregistry.operator.openshift.io

    출력 예

    storage:
      pvc:
        claim:

    image-registry-storage PVC의 자동 생성을 허용하도록 claim 필드를 비워 둡니다.

  4. clusteroperator 상태를 확인합니다.

    $ oc get clusteroperator image-registry

    출력 예

    NAME             VERSION                              AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
    image-registry   4.7                                  True        False         False      6h50m

  5. 이미지를 빌드 및 푸시할 수 있도록 레지스트리의 관리가 설정되어 있는지 확인하십시오.

    • 다음을 실행합니다.

      $ oc edit configs.imageregistry/cluster

      다음으로 라인을 변경하십시오.

      managementState: Removed

      다음으로 변경

      managementState: Managed
클러스터에서 직접 레지스트리에 액세스

클러스터 내부에서 레지스트리에 액세스할 수 있습니다.

절차

내부 경로를 사용하여 클러스터에서 레지스트리에 액세스합니다.

  1. 노드의 이름을 가져와서 노드에 액세스합니다.

    $ oc get nodes
    $ oc debug nodes/<node_name>
  2. 노드에서 ocpodman과 같은 툴에 대한 액세스를 활성화하려면 다음 명령을 실행합니다.

    sh-4.2# chroot /host
  3. 액세스 토큰을 사용하여 컨테이너 이미지 레지스트리에 로그인합니다.

    sh-4.2# oc login -u kubeadmin -p <password_from_install_log> https://api-int.<cluster_name>.<base_domain>:6443
    sh-4.2# podman login -u kubeadmin -p $(oc whoami -t) image-registry.openshift-image-registry.svc:5000

    다음과 같은 로그인 확인 메시지가 표시되어야합니다.

    Login Succeeded!
    참고

    사용자 이름에 모든 값을 지정할 수 있으므로 토큰에는 필요한 모든 정보가 포함됩니다. 콜론이 포함된 사용자 이름을 지정하면 로그인에 실패합니다.

    이미지 레지스트리 Operator가 경로를 생성하므로 default-route-openshift-image-registry.<cluster_name>과 유사합니다.

  4. 레지스트리에 대해 podman pullpodman push 작업을 수행합니다.

    중요

    모든 이미지를 가져올 수 있지만 system:registry 역할이 추가된 경우 프로젝트의 레지스트리에만 이미지를 푸시할 수 있습니다.

    다음 예에서는 다음을 사용합니다.

    구성 요소

    <registry_ip>

    172.30.124.220

    <port>

    5000

    <project>

    openshift

    <image>

    image

    <tag>

    생략됨 (기본값 latest)

    1. 모든 이미지를 가져옵니다.

      sh-4.2# podman pull name.io/image
    2. <registry_ip>:<port>/<project>/<image> 형식으로 새 이미지에 태그를 지정합니다. OpenShift Container Platform이 레지스트리에 이미지를 올바르게 배치하고 나중에 액세스할 수 있도록 이 풀 사양에 프로젝트 이름이 표시되어야합니다.

      sh-4.2# podman tag name.io/image image-registry.openshift-image-registry.svc:5000/openshift/image
      참고

      사용자가 이미지를 작성하거나 푸시할 수 있도록 지정된 프로젝트에 대한 system:image-builder 역할이 있어야합니다. 그렇지 않으면 다음 단계의 podman push가 실패합니다. 테스트를 위해 이미지를 푸시할 새 프로젝트를 만들 수 있습니다.

    3. 새로 태그가 지정된 이미지를 레지스트리로 푸시합니다.

      sh-4.2# podman push image-registry.openshift-image-registry.svc:5000/openshift/image
수동으로 보안 레지스트리 공개

클러스터 내에서 OpenShift Container Platform 레지스트리에 로그인하지 않고 외부에서 레지스트리에 액세스할 수 있도록 레지스트리의 라우팅을 공개합니다. 이를 통해 라우팅 주소를 사용하여 클러스터 외부에서 레지스트리에 로그인하고 라우팅 호스트를 사용하여 기존 프로젝트에 이미지를 태그 지정하거나 푸시할 수 있습니다.

사전 요구 사항

  • 다음 사전 요구 사항이 자동으로 수행됩니다.

    • 레지스트리 Operator를 배포합니다.
    • Ingress Operator를 배포합니다.

절차

configs.imageregistry.operator.openshift.io 리소스에서 DefaultRoute 매개 변수를 사용하거나 사용자 지정 라우팅을 사용하여 라우팅을 공개할 수 있습니다.

DefaultRoute를 사용하여 레지스트리를 공개하려면 다음을 수행합니다.

  1. DefaultRouteTrue로 설정합니다.

    $ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge
  2. podman으로 로그인합니다.

    $ HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')
    $ podman login -u kubeadmin -p $(oc whoami -t) --tls-verify=false $HOST 1
    1
    --tls-verify=false는 클러스터의 기본 라우팅 인증서를 신뢰할 수없는 경우 필요합니다. Ingress Operator를 사용하여 신뢰할 수있는 사용자 지정 인증서를 기본 인증서로 설정할 수 있습니다.

사용자 지정 라우팅을 사용하여 레지스트리를 공개하려면 다음을 수행합니다.

  1. 라우팅의 TLS 키로 보안 시크릿을 만듭니다.

    $ oc create secret tls public-route-tls \
        -n openshift-image-registry \
        --cert=</path/to/tls.crt> \
        --key=</path/to/tls.key>

    이 단계는 선택 사항입니다. 보안 시크릿을 생성하지 않으면 라우팅은 Ingress Operator의 기본 TLS 구성을 사용합니다.

  2. 레지스트리 Operator에서 다음을 수행합니다.

    spec:
      routes:
        - name: public-routes
          hostname: myregistry.mycorp.organization
          secretName: public-route-tls
    ...
    참고

    레지스트리 라우팅에 대한 사용자 지정 TLS 구성을 제공하는 경우에만 secretName을 설정합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.