VPC 클러스터 작성
가상 사설 클라우드
IBM Cloud CLI 또는 IBM Cloud 콘솔을 사용하여 표준 VPC 클러스터를 작성하고 앱의 고가용성 및 보안 요구사항을 충족하도록 클러스터를 사용자 정의하십시오.
가상 머신을 실행하고 싶으신가요? OpenShift 가상화 서비스 는 가상화 기능, 스토리지 및 네트워킹이 자동으로 설정된 사전 구성된 클러스터를 제공합니다. 시작하려면 가상화 서비스 클러스터 만들기를 참조하세요.
전제조건 및 참고
-
VPC 계정에 vCPU, 메모리, GPU, 인스턴스 스토리지 및 최적화된 인스턴스 스토리지 리소스에 대한 충분한 할당량이 있는지 확인합니다. VPC는 가상 서버 인스턴스(VSI) 워커 노드에 대해 계정별로 이러한 할당량을 관리합니다. 할당량 제한에 도달하면 워커 노드 프로비저닝이 실패합니다. 현재 할당량 사용량을 확인하려면 VPC 리소스 메트릭 보기를 참조하세요. 자세한 내용은 VPC 쿼터 및 쿼터 제한으로 인해 VPC 워커 노드가 프로비저닝에 실패하는 이유에서 확인하세요.
-
워커 노드가 공용 엔드포인트에 액세스해야 하거나, 공용 및 사설 클라우드 서비스 엔드포인트를 모두 활성화할 계획인 경우, 웹 콘솔이나 OperatorHub 과 같은 기본 Red Hat OpenShift 구성 요소에 액세스하려면 VPC 내의 각 서브넷에 공용 게이트웨이를 연결해야 합니다.
-
퍼블릭 및 클라우드 서비스 엔드포인트를 모두 사용으로 설정할 경우 웹 콘솔 또는 OperatorHub와 같은 기본 Red Hat OpenShift 컴포넌트에 액세스하려면 각 서브넷에 퍼블릭 게이트웨이를 연결해야 합니다. 공용 네트워크 게이트웨이는 클러스터가 다른 앱의 공용 URL과 같은 공용 엔드포인트 또는 퍼블릭 클라우드 서비스 엔드포인트만 지원하는 IBM Cloud 서비스에 액세스하도록 하려는 경우에 필요합니다. 공용 네트워크 게이트웨이가 필요한 시기와 하나 이상의 서브넷으로만 공용 액세스를 제한하도록 클러스터를 설정하는 방법을 파악하려면 VPC 네트워킹 기본사항을 검토해야 합니다.
-
KMS 암호화를 사용하려면 KMS 인스턴스를 작성하고 IAM에서 필요한 서비스 권한을 설정해야 합니다. 자세한 정보는 클러스터에서 작업자 노드의 암호화 관리 를 참조하십시오.
-
클러스터 작성 중에, 또는 구역에서 작업자 노드를 추가할 때 클러스터에 연결한 서브넷을 삭제하지 마십시오. 클러스터에서 사용한 VPC 서브넷을 삭제하면 서브넷의 IP 주소를 사용하는 로드 밸런서에 문제가 발생하고 새 로드 밸런서를 작성하지 못할 수 있습니다.
-
공용 및 사설 클라우드 서비스 엔드포인트 둘 다를 사용하여 VPC 클러스터를 작성하는 경우 나중에 공용 서비스 엔드포인트를 사용 안함으로 설정할 수 없습니다. 따라서 공용 클러스터를 사설 클러스터로 변환할 수 없습니다.
-
VPC 클러스터에서 클래식 인프라 리소스에 대한 액세스가 필요한 경우 계정에서 VRF 및 서비스 엔드포인트를 사용으로 설정 해야 합니다.
-
전용 하드웨어에서 실행되는 클러스터를 작성하려면 먼저 CLI를 사용하여 계정에서 전용 호스트 풀을 작성 해야 합니다.
*클러스터에 대해 신뢰할 수 있는 프로필을 사용 설정하려면 계정에서 프로필을 만들었는지 확인하세요. 자세한 내용은 신뢰할 수 있는 프로필 구성하기를 참조하세요.
콘솔에서 VPC 클러스터 생성하기
IBM Cloud 콘솔을 사용하여 VPC 기반 Red Hat OpenShift 클러스터를 생성하세요. 콘솔 지시사항에 따라 다음 클러스터 구성을 작성하십시오. 클러스터 생성을 시작하려면 콘솔로 이동한 다음, 클러스터 생성을 클릭합니다.
- 가상 사설 클라우드
-
클러스터를 작성할 기존 Virtual Private Cloud (VPC) 인스턴스를 선택하십시오. VPC가 없다면 새로 생성할 수 있습니다.
- 위치
-
클러스터의 작업자 구역 및 서브넷 을 검토하십시오. 구역은 선택한 VPC에 따라 필터링되며 이전에 작성한 VPC 서브넷을 포함합니다. 클러스터에 대해 원하는 가용성 레벨에 따라 하나 이상의 구역을 선택하십시오. 기본적으로 클러스터 리소스는 고가용성을 위해 세 개의 구역에 분산되어 있습니다. 나중에 클러스터에 구역을 추가 할 수 있습니다.
- 버전
-
클러스터 버전을 선택하십시오. 기본적으로 클러스터는 기본 Kubernetes 버전으로 작성되지만 다른 지원되는 버전 을 지정할 수 있습니다.
- 라이센스
-
클러스터에 대한 인타이틀먼트를 적용하거나 라이센스를 구매하십시오. 자세한 정보는 계정에 소프트웨어 라이센스 지정, 클러스터에 Cloud Paks, 인타이틀먼트 또는 라이센스 추가 및 Cloud Pak FAQ를 참조하십시오.
- 작업자 풀
-
클러스터 작업자 풀은 워크로드를 실행하는 작업자 노드의 수와 유형을 정의합니다. 언제든지 작업자 풀 세부사항을 변경할 수 있습니다.
-
- 구역당 작업자 노드: 고가용성을 위해 구역당 최소 3개의 작업자 노드가 권장됩니다.
-
- 플레이버: 플레이버는 각 워커 노드에 설정되어 컨테이너에서 사용할 수 있도록 제공되는 아키텍처, 가상 CPU 수, 메모리, GPU 및 디스크 공간을 정의합니다. 사용 가능한 베어메탈 및 가상 머신 유형은 클러스터가 배치되는 구역에 따라 다양합니다. 사용 가능한 특징 목록은 VPC 특징 을 참조하십시오.
- 콘솔에서 특징을 선택하면 시스템 유형, 아키텍처및 운영 체제별로 사용 가능한 특징을 필터링할 수 있습니다. 사용 가능한 모델 타입은
shared또는dedicated입니다.dedicated옵션은 계정에 전용 호스트 풀 이 이미 있는 경우에만 사용 가능합니다. 클러스터 버전별 사용 가능한 운영 체제 및 아키텍처 목록은 사용 가능한 버전 을 참조하십시오.
-
- 로컬 디스크 암호화: 기본적으로 작업자 노드는 AES 256비트디스크 암호화 기능을 합니다. 클러스터를 작성할 때 디스크 암호화를 끄도록 선택할 수 있습니다. 암호화를 사용으로 설정하면 작업자 풀의 각 작업자 노드가 사용자가 관리하는 KMS 제공자 신임 정보를 사용하여
암호화됩니다.
default작업자 풀의 노드만 암호화됩니다. 클러스터를 작성한 후 추가 작업자 풀을 작성하는 경우 각 풀에서 개별적으로 암호화를 사용으로 설정해야 합니다. 클러스터의 각 작업자 풀이 동일한 KMS 인스턴스와 루트 키를 사용하거나 동일한 KMS 인스턴스와 다른 루트 키를 사용하거나 각기 다른 인스턴스를 사용할 수 있습니다.
- 로컬 디스크 암호화: 기본적으로 작업자 노드는 AES 256비트디스크 암호화 기능을 합니다. 클러스터를 작성할 때 디스크 암호화를 끄도록 선택할 수 있습니다. 암호화를 사용으로 설정하면 작업자 풀의 각 작업자 노드가 사용자가 관리하는 KMS 제공자 신임 정보를 사용하여
암호화됩니다.
-
- 보조 스토리지:
900gb.5iops-tier블록 스토리지 디스크와 같은 작업자 노드에 보조 디스크를 프로비저닝할 수 있습니다. 보조 디스크를 추가하면 해당 디스크가 컨테이너 런타임에 사용되는 반면, 기본 디스크는 운영 체제에 사용됩니다. 2차 디스크는 대형 이미지가 있는 팟 (Pod) 실행과 같이 더 많은 컨테이너 스토리지가 필요한 시나리오에서 유용합니다. 보조 스토리지를 사용하는 경우, 오버레이 파일 시스템으로 인해 파드가 볼륨의 전체 IOPS/대역폭 기능을 사용하지 못할 수 있습니다. 보조 디스크는 사용자 계정에서 프로비저닝되며 VPC 콘솔에서 볼 수 있습니다. 이러한 디스크의 비용은 각 작업자의 비용과 구분되며 청구에 다른 개별 항목으로 표시됩니다. 이러한 보조 볼륨도 계정의 할당량 사용량에 포함됩니다. 지속적 볼륨을 연결할 수 있는 노드에서 보조 스토리지를 사용하려는 경우 10-iops 티어 이상을 사용하는 것이 좋습니다. 이는 노드에 대한 스토리지 대역폭 할당이 2차 스토리지 볼륨과 첨부된 PVC간에 공유되기 때문입니다. 5-iops를 사용하는 경우 이로 인해 이미지를 가져오거나 스토리지에 쓰는 팟 (Pod) 의 성능이 저하될 수 있습니다. 가상 서버 인스턴스에서의 대역폭 할당에 대한 자세한 내용은 '가상 서버 인스턴스에서의 대역폭 할당'을 참조하십시오.
- 보조 스토리지:
-
- GPU: 클러스터에 AI, 비주얼 또는 고품질 그래픽 워크로드를 배포하려는 경우 GPU 워커 노드 플레이버를 선택해야 합니다.
추가 풍미 유형(GPU가, A100, H100, NVIDIAV100 H200 인 풍미 포함)은 허용 목록에 등록된 계정에서만 이용 가능합니다. 다른 허용 목록에 있는 특징에 대한 액세스를 요청하려면 허용 목록에 대한 액세스를 요청 하십시오.
- 작업자 풀 암호화
- 워커 풀 수준에서 키 관리 서비스(KMS) 공급자를 활성화하여 워커 노드의 암호화를 관리하십시오. KMS 인스턴스 및 CRN을 선택하십시오.
- 네트워크 플러그인 4.20 이상
- 사용할 컨테이너 네트워크 인터페이스(CNI)를 선택하십시오. Calico 와 Open Virtual Network 중에서 선택하십시오. Open Virtual Network는 OpenShift 클러스터 버전 4.20 이상 및 RHCOS 워커 노드에서만 사용할 수 있다는 점에 유의하십시오. 자세한 내용은 ‘컨테이너 네트워크 인터페이스(CNI)선택’을 참조하십시오.
- 네트워크 설정
- 서비스 엔드포인트는 마스터에 대한 통신을 제공합니다. 공용 서비스 엔드포인트 또는 공용 및 사설 클라우드 서비스 엔드포인트 둘 다를 사용하여 클러스터를 구성하도록 선택할 수 있습니다. 인터넷 연결 앱을 실행하거나 클러스터를 개인용으로 유지하는 데 필요한 설정에 대한 자세한 정보는 클러스터 네트워크 설정 계획을 참조하십시오. 클러스터를 생성한 후에는 클라우드 서비스 엔드포인트를 변경할 수 없습니다.
- 내부 레지스트리
- COS 인스턴스를 선택하십시오. Red Hat OpenShift on IBM Cloud 클러스터의 내부 레지스트리에 저장된 컨테이너 이미지는 Object Storage 버킷에 자동으로 백업됩니다. 클러스터를 삭제하더라도 오브젝트 스토리지 버킷에 저장된 데이터는 그대로 유지됩니다.
- 아웃바운드 트래픽 보호
- 버전 4.15 이상의 클러스터에 대한 기본 동작은 클러스터가 작동하고 다른 모든 아웃바운드 연결을 사용 안함으로 설정하는 데 필요한 네트워킹 트래픽만 허용하는 것입니다. 다음과 같이 공용 인터넷 연결이 필요한 앱이나 서비스가 있는 경우 GitHub 저장소, Docker 바퀴통,
quay.io, Red Hat Marketplace 그리고 OperatorHub, 모든 아웃바운드 트래픽이 허용되도록 아웃바운드 트래픽 보호를 완전히 비활성화하거나 필요한 아웃바운드 트래픽만 허용하도록 보안 그룹 규칙을 추가해야 합니다. - 클러스터 암호화
- 클러스터의 시크릿 및 기타 민감한 정보를 암호화하기 위해 키 관리 서비스 (KMS) 를 사용하여 데이터 암호화를 사용으로 설정합니다. 나중에 KMS를 사용으로 설정 할 수도 있습니다.
- 수신 시크릿 관리
- IBM Cloud Secrets Manager 은 클러스터의 Ingress 하위 도메인 인증서 및 기타 시크릿을 중앙에서 관리합니다. 클러스터 작성 프로세스 중에 Secrets Manager 인스턴스를 클러스터에 등록하도록 선택할 수 있습니다. 클러스터의 시크릿에 대한 액세스를 제어하는 데 사용할 수 있는 시크릿 그룹을 지정할 수도 있습니다. 클러스터를 작성한 후에는 이 두 옵션을 모두 구성하거나 변경할 수 있습니다.
- VPC 보안 그룹
kube-<clusterID>보안 그룹 외에도 VPC 클러스터의 모든 워커 노드에 적용할 사용자 정의 보안 그룹을 최대 4개까지 지정할 수 있습니다. 자세한 내용은 기본값으로 보안 클러스터 VPC 네트워킹 이해를 참조하세요.- 클러스터 세부사항
- IBM Cloud 리소스를 구성하고 식별하는 데 사용할 고유한 클러스터 이름 및 태그 (예:
team또는billing department) 를 사용자 정의할 수 있습니다. - 클러스터를 작성할 리소스 그룹 을 선택하십시오. 특정 클러스터는 하나의 리소스 그룹에서만 작성될 수 있으며, 클러스터가 작성되고 나면 해당 리소스 그룹을 변경할 수 없습니다. 기본 외의 리소스 그룹에 클러스터를 작성하려면 해당 리소스 그룹에 대해 Viewer 역할 이상의 역할을 갖고 있어야 합니다.
- 기존 신뢰할 수 있는 프로필을 클러스터에 추가하려면 신뢰할 수 있는 프로필의 ID를 지정합니다. 신뢰할 수 있는 프로필을 지정하지 않으면 대신 API 키를 사용하여 클러스터 생성 프로세스를 완료할 수 있습니다. 자세한 내용은 신뢰할 수 있는 프로필 구성하기를 참조하세요.
- 관측성 통합
- 클러스터에 포함할 추가 관찰 가능성 통합을 사용으로 설정할 수 있습니다. 일부 통합은 해당 통합의 기존 플랫폼 인스턴스가 있는 경우 자동으로 사용으로 설정됩니다. 이 경우, 연동 기능을 비활성화할 수 없습니다. 통합을 사용하고 해당 통합의 기존 애플리케이션 인스턴스만 있는 경우 기본적으로 통합이 사용 안함으로 설정되며 수동으로 사용으로 설정해야 합니다.
-
- 로깅: IBM Cloud Logs 를 사용하여 운영 체제 로그, 애플리케이션 로그, 플랫폼 로그를 관리할 수 있습니다. 나중에 이 통합을 사용하려면 다음을 참조하세요 IBM Cloud Logs.
-
- 모니터링 및 워크로드 보호: 모니터링 서비스 통합을 통해 애플리케이션, 서비스 및 플랫폼의 성능과 상태에 대한 운영 가시성을 확보할 수 있습니다. 이 통합을 비활성화하고 나중에 활성화하려면 클러스터 상태 모니터링하기 를 참조하세요. Security and Compliance Center 워크로드 보호 통합은 소프트웨어 취약성을 찾아 우선순위를 지정하고, 위협을 탐지 및 대응하며, 소스부터 실행까지 구성, 권한 및 규정 준수를 관리합니다. 자세한 내용은 워크로드 보호 시작하기 페이지를 참조하세요.
- 모니터링 및 워크로드 보호의 새 인스턴스 또는 기존 인스턴스를 사용하려면 구성 유형를 지정합니다. 모니터링 및 워크로드 보호의 기존 인스턴스를 모두 사용하려는 경우 각 통합의 인스턴스를 연결해야 합니다. 이 경우 사용할 모니터링 또는 워크로드 보호 인스턴스 중 하나를 지정합니다. 두 인스턴스를 모두 지정할 수는 없지만 두 인스턴스가 연결되어 있는 동안에는 두 인스턴스가 모두 사용됩니다. 모니터링 또는 워크로드 보호 인스턴스의 상세 정보 페이지에서 기존 인스턴스를 연결할 수 있습니다.
CLI를 사용하여 VPC 클러스터 생성하기
- 계정을 준비하고 클러스터 구성을 결정하기 위해 필수 전제 조건을 모두 충족했는지 확인하십시오.
- IBM Cloud CLI 및 Red Hat OpenShift on IBM Cloud 플러그인을 설치하십시오.
- VPC CLI 플러그인을 설치하십시오.
-
명령행에서 IBM Cloud 계정에 로그인하고 VPC 클러스터를 작성할 IBM Cloud 지역 및 리소스 그룹을 대상으로 지정하십시오. 지원되는 지역은 다른 지역에 VPC 작성을 참조하십시오. 프롬프트가 표시되면 IBM Cloud 인증 정보를 입력하십시오. 연동 ID가 있는 경우, ‘ --sso ’ 옵션을 사용하여 로그인하십시오.
ibmcloud login -r REGION [-g <resource_group>] [--sso] -
클러스터를 작성할 동일한 지역에서 VPC를 작성하십시오. VPC에 있는 작업자 노드의 클러스터와 IBM Cloud 클래식 인프라 간에 정보를 전송하고 수신해야 합니까? 이 경우에는 클래식 액세스를 위한 VPC 서브넷 작성의 단계에 따라 자동 기본 주소 접두부가 없는 클래식 사용 VPC 및 VPC 서브넷을 작성하십시오.
-
VPC의 서브넷을 작성하십시오.
- 다중 영역 클러스터를 생성하려면, 클러스터에 포함할 모든 영역에서 이 단계를 반복하여 추가 서브넷을 생성하십시오.
- VPC 서브넷은 클러스터에 있는 작업자 노드 및 로컬 로드 밸런서 서비스에 IP 주소를 제공하므로 충분한 IP 주소가 있는 VPC 서브넷을 작성하십시오(예: 256개). VPC 서브넷에 있는 IP 수를 나중에 변경할 수 없습니다.
- 다음 예약된 범위를 사용하지 마십시오(
172.16.0.0/16,172.18.0.0/16,172.19.0.0/16및172.20.0.0/16). - 작업자 노드가 공용 엔드포인트에 액세스해야 하는 경우 또는 퍼블릭 및 프라이빗 클라우드 서비스 엔드포인트를 모두 사용으로 설정하려는 경우 웹 콘솔 또는 OperatorHub와 같은 기본 Red Hat OpenShift 컴포넌트에 액세스하도록 각 서브넷에 퍼블릭 게이트웨이를 연결해야 합니다.
- 중요: 클러스터 작성 중에, 또는 구역에서 작업자 노드를 추가할 때 클러스터에 연결한 서브넷을 삭제하지 마십시오. 클러스터에서 사용한 VPC 서브넷을 삭제하면 서브넷의 IP 주소를 사용하는 로드 밸런서에 문제가 발생하고 새 로드 밸런서를 작성하지 못할 수 있습니다.
- 자세한 정보는 Red Hat OpenShift on IBM Cloud의 VPC 네트워킹 개요: 서브넷을 참조하십시오.
-
VPC에서 클러스터를 작성하십시오.
ibmcloud oc cluster create vpc-gen2명령을 사용하여 VPC에 하나의 VPC 서브넷에만 연결된 작업자 노드가 있는 단일 구역 클러스터를 작성할 수 있습니다. 다중 구역 클러스터를 작성하려면 IBM Cloud 콘솔을 사용하거나 클러스터가 작성된 후 클러스터에 구역을 더 추가할 수 있습니다. 클러스터는 프로비저닝하는 데 몇 분 정도 소요됩니다.ibmcloud oc cluster create vpc-gen2 --name CLUSTER_NAME --zone VPC_ZONE --vpc-id VPC_ID --subnet-id VPC_SUBNET_ID --flavor WORKER_FLAVOR --version 4.21_openshift --cos-instance COS_CRN --workers NUMBER_WORKERS_PER_ZONE [--offering OFFERING] [--sm-group GROUP] [--sm-instance INSTANCE] [--trusted-profile-id ID] [--pod-subnet] [--service-subnet] [--disable-public-service-endpoint] [[--kms-account-id KMS_ACCOUNT_ID] --kms-instance KMS_INSTANCE_ID --crk ROOT_KEY_ID] [--secondary-storage STORAGE] [--disable-outbound-traffic-protection] [--operating-system SYSTEM] [--cni CNI]--name <cluster_name>- 클러스터의 이름을 지정하십시오. 이름은 문자로 시작해야 하며 35자 이하의 문자, 숫자, 마침표(.) 및 하이픈(-)을 포함할 수 있습니다. 지역 전체에서 고유한 이름을 사용하십시오. 클러스터 이름과 클러스터가 배치된 지역이 Ingress 하위 도메인의 완전한 이름을 형성합니다. 특정 Ingress 하위 도메인이 지역 내에서 고유하도록 하기 위해 클러스터 이름을 자르고 Ingress 도메인 이름 내의 무작위 값을 추가할 수 있습니다.
--zone <zone>- 클러스터를 작성할 IBM Cloud 구역을 지정하십시오. VPC를 작성할 때 선택한 메트로 도시 위치와 일치하는 구역을 사용하고 해당 구역에 대한 기존 VPC 서브넷이 있는지 확인하십시오. 예를 들어, 댈러스 메트로 도시에 VPC를 작성한 경우 구역은
us-south-1,us-south-2또는us-south-3으로 설정되어야 합니다. 사용 가능한 VPC 클러스터 구역을 나열하려면ibmcloud oc zone ls --provider vpc-gen2를 실행하십시오. 자국 외에 있는 구역을 선택하면 외국에서 데이터를 실제로 저장하기 전에 법적 인가를 받아야 할 수 있습니다. --vpc-id <vpc_ID>- 이전에 작성한 VPC의 ID를 입력하십시오. VPC의 ID를 검색하려면
ibmcloud oc vpcs를 실행하십시오. --subnet-id <subnet_ID>- 이전에 작성한 VPC 서브넷의 ID를 입력하십시오. CLI에서 VPC 클러스터를 작성하는 경우 처음에는 하나의 서브넷만 있는 한 구역에서만 클러스터를 작성할 수 있습니다. 다중 구역 클러스터를 작성하려면 클러스터가 작성된 후 클러스터에 이전에 작성한 서브넷이 있는 다중 구역을 추가하십시오. 모든 리소스 그룹에
있는 서브넷의 ID를 나열하려면
ibmcloud oc subnets --provider vpc-gen2 --vpc-id <,VPC_ID> --zone <subnet_zone>을 실행하십시오. --flavor <worker_flavor>- 사용할 작업자 노드 특성을 입력하십시오. 특성(flavor)은 각 작업자 노드에서 설정되며 컨테이너에서 사용 가능한 가상 CPU, 메모리 및 디스크 공간의 양을 판별합니다. VPC 작업자 노드는 공유 인프라에서만 가상 머신으로 작성할 수 있습니다. 베어메탈 또는 소프트웨어 정의 스토리지 머신은 지원되지 않습니다. 사용 가능한 플레버를 확인하려면, 먼저
ibmcloud oc zone ls --provider vpc-gen2명령어를 실행하여 사용 가능한 VPC 영역을 나열한 다음, 해당 영역을 사용하여ibmcloud oc flavors --zone <VPC_zone> --provider vpc-gen2명령어를 실행해 지원되는 플레버를 확인하십시오. 클러스터를 작성한 후에는 작업자 노드 또는 작업자 풀을 클러스터에 추가하여 서로 다른 특성을 추가할 수 있습니다. --version 4.21_openshift- 클러스터 마스터 노드를 위한 Red Hat OpenShift 버전입니다. 사용 가능한 버전을 보려면
ibmcloud oc versions.를 실행하십시오. --cos-instance <cos_CRN>- 클러스터의 내부 레지스트리를 백업하기 위한 표준 IBM Cloud Object Storage 인스턴스의 CRN ID를 포함시키십시오. 기존 인스턴스의 CRN을 나열하려면
ibmcloud resource service-instances --long을 실행하여 오브젝트 스토리지 인스턴스의 ID를 찾으십시오. 표준 오브젝트 스토리지 인스턴스를 작성하려면ibmcloud resource service-instance-create <name> cloud-object-storage standard global을 실행하고 해당 ID를 기록해 두십시오. --workers <number>- 클러스터에 포함시킬 작업자 노드의 수를 지정하십시오. 이 옵션을 지정하지 않으면 최소값이 1인 클러스터가 작성됩니다.
--operating-system RHEL_9_64|REDHAT_8_64|RHCOS: 선택사항입니다. 클러스터에 있는 작업자 노드의 운영 체제입니다. 클러스터 버전별로 이용 가능한 운영 체제 목록은 Red Hat OpenShift on IBM Cloud 버전 정보를 참조하십시오. 옵션을 지정하지 않으면 클러스터 버전에 해당하는 기본 운영 체제가 사용됩니다.--offering <offering>- 선택사항입니다. 클러스터 제공 유형을 지정하십시오. 허용되는 값은
kubernetes,openshift,openshift-vs입니다.openshift-vs를 사용하여 미리 구성된 가상화 기능을 갖춘 Red Hat OpenShift 가상화 서비스 클러스터를 생성하십시오. 자세한 내용은 Red Hat OpenShift 의 ‘가상화 서비스 개요’를 참조하십시오. --cluster-security-group <group_ID>- 선택사항입니다. 클러스터의 모든 작업자에 적용할 하나 이상의 보안 그룹 ID를 지정하십시오. OpenShift 버전 4.15 및 Kubernetes 버전 1.30 이상의 경우, 이러한 보안 그룹은 IBM관리
kube-clusterID보안 그룹에 추가로 적용됩니다. 이전 클러스터 버전의 경우--cluster-security-group cluster옵션을 지정하여kube-clusterID보안 그룹을 적용하십시오. 값을 지정하지 않으면kube-clusterID를 포함한 기본 보안 그룹 세트가 적용됩니다. 자세한 정보는 작성 시간 동안 클러스터 및 작업자 풀에 VPC 보안 그룹 추가 를 참조하십시오.
클러스터에 적용된 보안 그룹은 클러스터가 작성된 후에는 변경할 수 없습니다. 클러스터에 적용되는 보안 그룹의 규칙을 변경 할 수 있지만 클러스터 레벨에서 보안 그룹을 추가하거나 제거할 수는 없습니다. 클러스터 작성 시 올바르지 않은 보안 그룹을 적용하는 경우 클러스터를 삭제하고 새 클러스터를 작성해야 합니다. 클러스터에 보안 그룹을 추가하기 전에 세부사항을 보려면 작성 시간 동안 클러스터 및 작업자 풀에 VPC 보안 그룹 추가 를 참조하십시오.
--sm-group GROUP- 선택사항입니다. 비밀이 저장된 Secrets Manager 인스턴스의 비밀 그룹 ID입니다. 시크릿 그룹 ID를 가져오려면 Secrets Manager CLI 참조 를 참조하십시오. 이 옵션을 사용하여 팀의 누가 클러스터 시크릿에 액세스할 수 있는지 제어하는 시크릿 그룹 을 지정하십시오.
--sm-instance INSTANCE- 선택사항입니다. Secrets Manager 인스턴스의 CRN. 인스턴스의 CRN을 가져오려면
ibmcloud oc ingress instance ls --cluster CLUSTER를 실행하십시오. Secrets Manager 인스턴스를 클러스터에 등록하려면 이 옵션을 포함하십시오. --trusted-profile-id ID- 클러스터와 연결할 기존 신뢰할 수 있는 프로필의 ID를 지정합니다. 신뢰할 수 있는 프로필을 사용하면 별도의 IAM 자격 증명을 관리할 필요 없이 계정에 있는 리소스에 대한 액세스 권한을 부여할 수 있습니다. 자세한 내용은 신뢰할 수 있는 프로필 구성하기를 참조하세요.
--pod-subnet-
- VPC에서 작성하는 첫 번째 클러스터의 기본 팟(Pod) 서브넷은
172.17.0.0/18입니다. - 해당 VPC에서 생성하는 두 번째 클러스터의 기본 포드 서브넷은
172.17.64.0/18입니다. 각 후속 클러스터에서 팟(Pod) 서브넷 범위는 다음으로 사용 가능한, 겹치지 않는/18서브넷입니다. 클러스터를 IBM Cloud® Direct Link 또는 VPN 서비스를 통해 온프레미스 네트워크에 연결하려는 경우, 팟(Pod)에 사설 IP 주소를 제공하는 사용자 정의 서브넷 CIDR을 지정하여 서브넷 충돌을 방지할 수 있습니다. --pod-subnet옵션에 포함하여 서브넷 크기를 지정할 수 있습니다. 예:--pod-subnet 0.0.0.0/X. 여기서X는 필수 팟 (Pod) 서브넷 크기입니다. 그러면 팟 (Pod) 서브넷이 자동으로 선택됩니다. 파드 서브넷을 자동으로 할당할 때, 할당은172.17.0.0에서 시작되고, 최대 서브넷은13으로 제한되며, 최소 서브넷 크기는23로 제한된다.- 서브넷 크기를 선택하는 경우 작성하려는 클러스터의 크기와 나중에 추가할 작업자 노드 수를 고려하십시오. 서브넷의 CIDR은 최소
/23이상이어야 하며, 이는 클러스터 내 최대 4개의 워커 노드에 충분한 포드 IP 주소를 제공합니다. 더 큰 클러스터의 경우에는 8개의 작업자 노드에 충분한 팟(Pod) IP 주소를 보유하기 위해/22를 사용하고 16개의 작업자 노드에 충분한 팟(Pod) IP 주소를 보유하기 위해/21을 사용하는 등의 방식을 사용하십시오. 팟(Pod)과 서비스 서브넷은 겹칠 수 없습니다. 워커 노드에 사용자 정의 범위 서브넷을 사용하는 경우, 워커 노드 서브넷이 클러스터의 포드 서브넷과 중복되지 않도록 해야 합니다. 선택하는 서브넷은172.17.0.0 - 172.17.255.255,172.21.0.0 - 172.31.255.255,192.168.0.0 - 192.168.254.255,198.18.0.0 - 198.19.255.255범위 중 하나 내에 있어야 합니다.
- VPC에서 작성하는 첫 번째 클러스터의 기본 팟(Pod) 서브넷은
--service-subnet- 클러스터에 배치된 모든 서비스에는 기본적으로 172.21.0.0/16 범위의 사설 IP 주소가 지정됩니다. 클러스터를 IBM Cloud Direct Link 또는 VPN 서비스를 통해 온프레미스 네트워크에 연결하려는 경우, 서비스에 사설 IP 주소를 제공하는 사용자 정의 서브넷 CIDR을 지정하여 서브넷 충돌을 방지할 수 있습니다. 서브넷은
/24이상 크기의 CIDR 형식으로 지정되어야 하며 클러스터에서 최대 255개 이상의 서비스를 허용합니다. 선택하는 서브넷은172.17.0.0 - 172.17.255.255,172.21.0.0 - 172.31.255.255,192.168.0.0 - 192.168.254.255,198.18.0.0 - 198.19.255.255범위 중 하나 내에 있어야 합니다. 팟 (Pod) 및 서비스 서브넷은 겹칠 수 없습니다. --disable-public-service-endpoint- 명령에 이 옵션을 포함하여 프라이빗 클라우드 서비스 엔드포인트만 있는 VPC 클러스터를 작성하십시오. 이 옵션을 포함하지 않으면 클러스터가 퍼블릭 및 프라이빗 클라우드 서비스 엔드포인트로 설정됩니다. 이 서비스 엔드포인트는 Red Hat OpenShift 마스터 및 작업자 노드의 통신 방법, 클러스터가 클러스터 외부의 다른 IBM Cloud 서비스 및 앱에 액세스하는 방법 및 사용자가 클러스터에 연결하는 방법을 결정합니다. 자세한 정보는 클러스터 네트워크 설정 계획을 참조하십시오. 이 옵션을 포함하면, 클러스터가 생성될 때 기본적으로 사설 네트워크에서만 애플리케이션을 노출하는 라우터와 Ingress 컨트롤러가 함께 구성됩니다. 나중에 앱을 공용 네트워크에 노출시키려는 경우에는 공용 라우터 및 Ingress 제어기를 수동으로 작성해야 합니다.
--kms-account-id <KMS_acount_ID>- 선택사항:
--kms-instance-id및--crk옵션이 제공되고 KMS 인스턴스가 클러스터의 계정과 다른 계정에 있는 경우 포함되어야 합니다. 그렇지 않으면 생략할 수 있습니다. 다른 계정에서 KMS를 사용하여 암호화를 설정하는 것은 허용 목록에 있는 계정에만 사용할 수 있습니다. 허용 목록에 추가하려면 지원이 있는 케이스를 여십시오. --kms-instance <KMS_instance_ID>- 선택사항:
default작업자 풀에서 작업자 노드의 로컬 디스크를 암호화하는 데 사용하도록 키 관리 서비스(KMS) 인스턴스의 ID를 포함합니다. 사용 가능한 KMS 인스턴스를 나열하려면ibmcloud oc kms instance ls를 실행하십시오. 이 옵션을 포함하는 경우--crk옵션도 포함해야 합니다. KMS 암호화를 사용하려면 KMS 인스턴스를 작성하고 IAM에서 필요한 서비스 권한을 설정해야 합니다. 클러스터에서 작업자 노드의 암호화 관리를 참조하십시오. --crk <root_key>- 선택사항:
default작업자 풀에서 작업자 노드의 로컬 디스크를 암호화하는 데 사용하도록 KMS 인스턴스에 루트 키의 ID를 포함합니다. 사용 가능한 루트 키를 나열하려면,ibmcloud oc kms crk ls --instance-id를 참조하십시오. 이 옵션을 포함하는 경우--kms-instance옵션도 포함해야 합니다. KMS 암호화를 사용하려면 KMS 인스턴스를 작성하고 IAM에서 필요한 서비스 권한을 설정해야 합니다. 클러스터에서 작업자 노드의 암호화 관리를 참조하십시오. --secondary-storage STORAGE- 선택사항입니다. 해당 맛에 대한 보관 방법. 예를 들어,
900gb.5iops-tier입니다. 보조 디스크를 추가하면 해당 디스크가 컨테이너 런타임에 사용되는 반면, 기본 디스크는 운영 체제에 사용됩니다. 특징에 대한 스토리지 옵션을 보려면ibmcloud oc flavor get --flavor FLAVOR --zone ZONE --provider vpc-gen2명령을 실행하십시오. VPC 작업자 노드 특성의 목록을 보려면 VPC 특성 을 참조하십시오. --disable-outbound-traffic-protection- 선택사항입니다. 아웃바운드 트래픽 보호를 비활성화합니다.
--cni CNI- 클러스터의 네트워크 플러그인을 설정합니다. Calico 기본값으로 설정되어 있습니다. 허용되는 값입니다:
Calico,OVNKubernetes. --offering OFFERING- 선택사항입니다. 클러스터 제공 유형을 지정하십시오.
openshift-vs를 사용하여 미리 구성된 가상화 기능을 갖춘 Red Hat OpenShift 가상화 서비스 클러스터를 생성하십시오. 별도로 지정하지 않으면 표준 OpenShift 클러스터가 생성됩니다. 자세한 내용은 Red Hat OpenShift 의 ‘가상화 서비스 개요’를 참조하십시오.
-
클러스터 작성이 요청되었는지 확인하십시오. 작업자 노드 머신이 주문되고 클러스터가 계정에서 설정 및 프로비저닝되는 데는 몇 분 정도 소요될 수 있습니다.
ibmcloud oc cluster lsRed Hat OpenShift 마스터의 프로비저닝이 완료되면 클러스터의 상태가 normal로 변경됩니다. Red Hat OpenShift 마스터가 준비되면 작업자 노드가 설정됩니다.
NAME ID State Created Workers Zone Version Resource Group Name Provider mycluster aaf97a8843a29941b49a598f516da72101 normal 20170201162433 3 Dallas 4.21.27_1544_openshift Default vpc-gen2 -
작업자 노드의 상태를 확인하십시오.
ibmcloud oc worker ls --cluster <cluster_name_or_ID>작업자 노드가 준비되면 작업자 노드 State가
normal로 변경되고 Status가Ready로 변경됩니다. 노드 **상태(status)**가Ready로 변경되면, 클러스터에 액세스할 수 있습니다. 클러스터가 준비된 상태인 경우에도 Ingress 시크릿 또는 레지스트리 이미지 가져오기 시크릿과 같이 다른 서비스에서 사용하는 클러스터의 일부는 여전히 처리 중 상태일 수 있다는 점을 유의하십시오.ID Public IP Private IP Flavor State Status Zone Version kube-blrs3b1d0p0p2f7haq0g-mycluster-default-000001f7 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16.encrypted normal Ready dal10 4.21.27_1544_openshift모든 작업자 노드에는 클러스터가 작성된 이후 수동으로 변경될 수 없는 고유 작업자 노드 ID 및 도메인 이름이 지정됩니다. ID 또는 도메인 이름을 변경하면 Red Hat OpenShift 마스터가 클러스터를 관리할 수 없습니다.
VPC 클러스터를 작성하기 위한 예제 명령
인스턴스 스토리지가 있는 플레이버는 허용 목록에 있는 계정에 사용할 수 있습니다. 허용 목록에 추가하려면 지원이 있는 케이스를 여십시오.
us-east-1 에서 3개의 작업자 노드가 있는 VPC 클러스터를 작성하는 예제 명령입니다.
ibmcloud oc cluster create vpc-gen2 --name my_cluster --version 4.21_openshift --zone us-east-1 --vpc-id VPC-ID --subnet-id VPC-SUBNET-ID --cos-instance COS-CRN--flavor bx2.4x16 --workers 3
us-east-1 에 사용자 지정 Pod 서브넷 범위 및 크기를 설정하고 아웃바운드 트래픽 보호 기능을 비활성화한 3개의 워커 노드가 있는 VPC 클러스터를 만드는 명령 예입니다.
ibmcloud oc cluster create vpc-gen2 --name my_cluster --version 4.21_openshift --zone us-east-1 --vpc-id VPC-ID --subnet-id VPC-SUBNET-ID --cos-instance COS-CRN --flavor bx2.4x16 --workers 3 --pod-subnet 0.0.0.0/15 --disable-outbound-traffic-protection
Red Hat CoreOS (RHCOS) 운영 체제를 실행하는 작업자 노드가 있는 VPC 클러스터에 대한 예제 명령입니다.
ibmcloud oc cluster create vpc-gen2 --name my_cluster --zone us-south-1 --flavor b3c.4x16 --vpc_ID VPC-ID --subnet-id SUBNET-ID --operating-system RHCOS
RHEL 9 운영 체제를 실행하고 아웃바운드 트래픽 보호가 비활성화된 워커 노드가 있는 VPC 클러스터에 대한 명령 예입니다.
ibmcloud oc cluster create vpc-gen2 --name my_cluster --zone us-south-1 --flavor b3c.4x16 --vpc_ID VPC-ID --subnet-id SUBNET-ID --operating-system RHEL_9_64 --disable-outbound-traffic-protection
us-south-1 에서 3개의 작업자 노드가 있는 클러스터를 작성하고 KMS 제공자 인스턴스 ID, 계정 ID및 CRK를 제공하여 작업자 노드 디스크 암호화를 사용으로 설정하는 예제 명령입니다.
ibmcloud oc cluster create vpc-gen2 --name <cluster_name> --zone us-south-1 --vpc-id VPC-ID --subnet-id SUBNET-ID --flavor b3c.4x16 --workers 3 --kms-account-id KMS-ACCOUNT-ID --kms-instance-id KMS-INSTANCE-ID --crk CRK
멀티존 VPC 클러스터에 영역을 추가 하여 워커 노드를 추가하는 명령 예제입니다.
ibmcloud oc zone add vpc-gen2 --zone ZONE --cluster <cluster_name_or_ID> --worker-pool WORKER-POOL --subnet-id SUBNET-ID
Terraform을 사용하여 VPC 클러스터 작성
-
Terraform은 VPC 클러스터를 포함한 플랫폼 인프라 IBM Cloud 및 IBM Cloud 리소스의 예측 가능하고 일관된 프로비저닝을 가능하게 합니다.
-
Terraform을 사용하여 VPC 클러스터를 작성하려면 먼저 작성할 클러스터 리소스의 유형을 선언하는 Terraform 구성 파일을 작성합니다. 그런 다음 Terraform 구성 파일을 적용합니다.
-
Terraform에 대한 자세한 내용은 Terraform 소개 페이지를 참조하십시오 IBM Cloud.
-
Terraform IBM 모듈 - Red Hat OpenShift VPC 클러스터(IBM Cloud )에는 즉시 사용 가능한 인프라 코드와 배포를 가속화할 수 있는 실용적인 예제가 포함되어 있습니다. 엔터프라이즈급 OpenShift 환경을 빠르고 일관성 있게 프로비저닝하려는 경우 이 모듈이 좋은 시작점이 될 수 있습니다.
시작하기 전에:
- Terraform CLI및 IBM Cloud 제공자 플러그인을 설치하십시오.
- IBM Cloud API 키가 있는지 확인하세요.
-
Terraform 프로바이더 파일을 생성합니다. Terraform 디렉토리에 파일을 저장하십시오. 자세한 정보는 Terraform IBM Cloud 제공자 문서를 참조하십시오.
Terraform 제공자 파일의 예입니다.
terraform { required_providers { ibm = { source = "IBM-Cloud/ibm" version = "1.53.0" } } } provider "ibm" { region = "us-south" ibmcloud_api_key = "<api-key>" } -
a) VPC 클러스터에 대한 Terraform 구성 파일을 생성합니다. Terraform 디렉토리에 파일을 저장하십시오. 자세한 정보 및 클러스터 구성 옵션은 Terraform
ibm_container_cluster문서를 참조하십시오.테라폼 구성 파일 예시:
resource "ibm_container_vpc_cluster" "cluster" { name = "tf-vpc" vpc_id = "<vpc_id>" flavor = "bx2.16x64" worker_count = "3" operating_system = "REDHAT_8_64" kube_version = "1.28.2" resource_group_id = "<resource_group_id>" zones { subnet_id = "<subnet_id>" name = "us-south-1" } }name- 필수. 클러스터의 이름입니다.
vpc_id- 필수. 클러스터에 사용할 VPC의 ID입니다. 사용 가능한 VPC를 나열하려면
ibmcloud is vpcs`` 명령을 실행하십시오. flavor- 필수. 작업자 노드 특성입니다. 특성은 작업자 노드에 사용 가능한 메모리, CPU및 디스크 공간의 양을 판별합니다. 사용 가능한 작업자 노드 특성 목록을 보려면
ibmcloud oc flavors --zone <zone> --provider classic를 실행하거나 클래식 특성 을 참조하십시오. worker_count- 기본 작업자 풀에 추가할 작업자 노드의 수입니다.
operating_system- 작업자 풀에 있는 작업자 노드의 운영 체제입니다. 클러스터 버전별 지원되는 운영 체제 목록은 Red Hat OpenShift on IBM Cloud 버전 정보 를 참조하십시오.
kube_version- 클러스터의 Kubernetes 버전입니다. 기본적으로 클러스터는 기본 Kubernetes 버전으로 작성되지만 다른 지원되는 버전 을 지정할 수 있습니다.
resource_group_id- 리소스 그룹의 ID입니다. 사용 가능한 리소스 그룹을 확인하려면
ibmcloud resource groups``을 실행하십시오. 값을 제공하지 않으면 기본 자원 그룹이 사용됩니다. zones-
- VPC 클러스터의 기본 작업자 풀의 구역을 설명하는 중첩된 블록입니다.
-
subnet_id: 필수입니다. 작업자 노드에 사용할 VPC 서브넷의 ID입니다. 기존 서브넷을 찾으려면ibmcloud oc subnets --provider classic --zone <zone>를 실행하십시오.
-
name: 필수. 기본 작업자 풀의 구역 이름입니다. 사용 가능한 구역을 확인하려면ibmcloud oc zones --provider vpc-gen2``을 실행하십시오.
b) 또는 Terraform IBM 모듈 을 사용하는 경우 아래 예제를 참조하여 프로비저닝할 수 있습니다 Red Hat OpenShift VPC의 클러스터 Gen2
locals { worker_pools = [ { subnet_prefix = "default" pool_name = "default" machine_type = "bx2.4x16" workers_per_zone = 2 operating_system = "RHCOS" } ] cluster_vpc_subnets = { default = [ { id = "0717-afc29fbb-0dbe-493a-a5b9-f3c5899cb8b9" cidr_block = "192.168.32.0/22" zone = "us-south-1" } ] } } module "ocp_base" { source = "terraform-ibm-modules/base-ocp-vpc/ibm" version = "3.81.3" region = "us-south" resource_group_id = "resource-group-id" cluster_name = "test-ocp-cluster" force_delete_storage = true vpc_id = "vpc-id" vpc_subnets = local.cluster_vpc_subnets worker_pools = local.worker_pools } -
CLI에서 Terraform 디렉토리로 이동하십시오.
cd <terraform_directory> -
명령을 실행하여 Terraform 조치를 초기화하고 계획하십시오. 계획 출력을 검토하여 올바른 조치가 수행되었는지 확인하십시오.
terraform initterraform plan -
Terraform 파일을 적용하여 클러스터를 작성하십시오. 그런 다음 IBM Cloud 콘솔로 이동하여 클러스터가 프로비저닝 중인지 확인하십시오.
terraform apply
VPC 클러스터의 다음 단계
- 작업자 노드를 추가합니다.
- 내부 레지스트리 이미지를 IBM Cloud Object Storage에 백업하십시오.
- 공용 네트워킹 서비스 또는 사설 네트워킹 서비스를 사용하여 앱을 노출하십시오. 노출된 앱이 있는 여러 공용 클러스터가 있는 경우 고가용성을 위해 글로벌 로드 밸런서 를 사용하여 연결하는 것을 고려하십시오.
- IBM Cloud VPN을 설정하여 클러스터를 IBM Cloud VPC 계정 외부의 사설 네트워크에 있는 서비스 또는 다른 VPC에 있는 리소스와 연결하십시오.
- 작업자 노드의 보안 그룹에 규칙을 추가하여 VPC 서브넷에 대한 ingress 및 egress 트래픽을 제어하십시오.