Object Storage 버킷 없이 VPC 클러스터 생성하기

가상 사설 클라우드

내부 이미지 레지스트리를 뒷받침하는 ‘ IBM Cloud Object Storage ’ 버킷 없이 VPC에 Red Hat OpenShift on IBM Cloud 클러스터를 생성합니다. IBM 금융 서비스 클라우드 요구 사항을 충족해야 하는 환경의 경우, IBM Cloud Object Storage 인스턴스 없이 클러스터를 생성하고 IBM Cloud Container Registry 에서 컨테이너 이미지를 직접 가져올 수 있습니다. 클러스터 생성 시 IBM Cloud Object Storage 인스턴스가 제공되지 않으면, 내부 레지스트리는 일시적인 emptyDir 스토리지를 사용하며, 이를 통해 클러스터가 내부 레지스트리가 아닌 중앙 집중식 이미지 관리에 기반한 FS Cloud 표준에 따라 일관되게 운영되도록 보장합니다.

대상

이 튜토리얼은 IBM 의 금융 서비스 클라우드(Financial Services Cloud) 요구 사항을 충족해야 하는 환경에서 VPC 인프라 상에 ‘ Red Hat OpenShift on IBM Cloud ’ 클러스터를 생성하는 클러스터 관리자를 대상으로 합니다. 이 기능은 클러스터 내부 레지스트리 대신 IBM Cloud Container Registry 을 주 이미지 레지스트리로 사용해야 하는 팀을 대상으로 합니다.

목표

이 튜토리얼에서는 IBM 의 Financial Services Cloud 표준에 따라, IBM Cloud Object Storage 인스턴스를 구성하지 않고 Red Hat OpenShift on IBM Cloud VPC 클러스터를 생성합니다. 클러스터의 내부 이미지 레지스트리는 임시 emptyDir 스토리지를 사용하며, 이미지는 IBM Cloud Container Registry 을 통해 중앙에서 관리됩니다.

제공되는 내용

이 튜토리얼에서는 다음 리소스를 생성합니다. 튜토리얼을 완료한 후 해당 리소스를 보관하지 않으려면, 선택적으로 삭제할 수 있는 단계가 있습니다.

  • COS 기반 내부 레지스트리가 없는 VPC상의 Red Hat OpenShift on IBM Cloud 클러스터
  • 관리 용도로 구성된 클러스터 액세스

시작하기 전에

클러스터를 생성하기 전에 다음 필수 단계를 완료하십시오.

IBM Cloud Object Storage 인스턴스를 생략하기로 한 결정은 되돌릴 수 없습니다. 클러스터를 생성한 후에는 COS 기반 내부 레지스트리를 추가하거나 제거할 수 없습니다. 요구 사항이 변경되어 영구적인 내부 레지스트리 저장소가 필요한 경우, 새 클러스터를 생성하고 생성 시점에 COS 인스턴스를 지정해야 합니다.

권한
계정 소유자라면 클러스터를 생성하는 데 필요한 권한을 이미 보유하고 있으므로 다음 단계로 진행할 수 있습니다. 그렇지 않으면 계정 소유자에게 API 키를 설정하고 IBM Cloud IAM에서 최소 사용자 권한을 지정하도록 요청하십시오.
명령행 도구
다음 단계를 완료하여 로컬 명령줄 환경을 설정하십시오.
  1. IBM Cloud CLI(ibmcloud)를 설치하십시오.
  2. Red Hat OpenShift on IBM Cloud 플러그인을 설치하십시오.
    ibmcloud plugin install kubernetes-service
    ```
3. Red Hat OpenShift CLI(`oc`)를 설치하십시오. 설치 방법은 [OpenShift CLI 설치](https://docs.redhat.com/en/documentation/openshift_container_platform/4.17/html/cli_tools/openshift-cli-oc#installing-openshift-cli){: external} 를 참조하십시오.

VPC 인프라
클러스터를 생성하기 전에 기존 VPC와 서브넷이 있어야 합니다. 이를 생성하려면 ‘VPC 및 서브넷 생성’을 참조하십시오.

클러스터 생성

IBM Cloud Object Storage 인스턴스를 지정하지 않고 VPC에 Red Hat OpenShift on IBM Cloud 클러스터를 생성합니다. COS 인스턴스가 지정되지 않은 경우, 내부 이미지 레지스트리는 emptyDir 스토리지를 기반으로 합니다.

클러스터 생성 명령어에서 --cos-instance 옵션을 생략하면, 내부 레지스트리는 IBM Cloud Object Storage 대신 emptyDir 스토리지를 사용합니다. emptyDir 스토리지는 일시적인 특성으로, 이미지 레지스트리 포드가 재시작되거나 재스케줄링되면 레지스트리에 저장된 데이터는 소실됩니다. 이 구성은 내부 레지스트리에 의존하는 프로덕션 사용 사례에는 적합하지 않습니다. 향후 영구적인 내부 레지스트리가 필요한 경우, 클러스터 생성 후 ‘ IBM Cloud Object Storage ’ 버킷을 구성할 수 있습니다. 자세한 내용은 ‘ IBM Cloud Object Storage 에 내부 이미지 레지스트리 백업하기’를 참조하십시오.

  1. 클러스터를 생성하려는 IBM Cloud 계정, 리소스 그룹 및 리전에 로그인하십시오. 연동 ID가 있는 경우, ‘ --sso ’ 옵션을 포함하십시오.

    ibmcloud login -r REGION [-g RESOURCE_GROUP] [--sso]
    
  2. 클러스터를 작성하십시오. 자리 표시자 값을 사용자의 클러스터 이름, 존, Red Hat OpenShift 버전, 워커 노드 플레버, VPC ID 및 서브넷 ID로 대체하십시오.

    ibmcloud oc cluster create vpc-gen2 \
      --name <cluster-name> \
      --zone <zone> \
      --version <openshift-version> \
      --flavor <worker-flavor> \
      --workers <number-of-workers> \
      --vpc-id <vpc-id> \
      --subnet-id <subnet-id>
    

    이 명령어에는 ‘ --cos-instance ’ 옵션이 포함되어 있지 않다는 점에 유의하십시오. 이 옵션을 생략하면 내부 레지스트리가 emptyDir 스토리지를 사용하도록 구성됩니다.

  3. 클러스터의 프로비저닝이 완료될 때까지 기다리십시오. 이 과정은 20~30분 정도 소요될 수 있습니다. 'State' 필드에 ' normal'이 표시될 때까지 다음 명령을 실행하여 클러스터 상태를 모니터링하십시오.

    ibmcloud oc cluster get --cluster CLUSTER_NAME
    

클러스터 액세스 구성

클러스터가 실행되면, oc CLI에 액세스할 수 있도록 클러스터 구성을 다운로드하십시오.

  1. 클러스터 구성 파일을 다운로드하고 KUBECONFIG 환경 변수를 설정하십시오.
    ibmcloud oc cluster config --cluster CLUSTER_NAME --admin
    
  2. 클러스터에 연결할 수 있는지 확인하십시오.
    oc get nodes
    
    모든 노드의 STATUS는Ready ’로 표시되어야 합니다.

이미지 레지스트리 구성을 확인하십시오

내부 이미지 레지스트리가 예상대로 emptyDir 스토리지를 사용하고 있는지 확인하십시오.

  1. 이미지 레지스트리의 배포 상태를 확인하십시오.
    oc get deployment -n openshift-image-registry
    
  2. 이미지 레지스트리 구성에서 스토리지 유형을 확인하십시오. 출력 결과에서 ‘ storage ’ 필드에는 ‘ emptyDir: {} ’이 표시되어야 합니다.
    oc get configs.imageregistry.operator.openshift.io cluster -o yaml
    

다음에 수행할 작업

이제 클러스터가 emptyDir 를 기반으로 하는 내부 레지스트리를 사용하여 실행 중입니다. IBM Cloud Container Registry 를 사용하여 이미지를 푸시 및 풀 수 있습니다.