OCI에 설치
Oracle Cloud Infrastructure에 OpenShift Container Platform 설치
초록
1장. 지원 설치 관리자를 사용하여 OCI(Oracle Cloud Infrastructure)에 클러스터 설치
OpenShift Container Platform 4.17 이상 버전에서는 지원 설치 관리자를 사용하여 사용자가 제공하는 인프라를 사용하여 Oracle® Cloud Infrastructure(OCI)에 클러스터를 설치할 수 있습니다.
1.1. 지원 설치 프로그램 및 OCI 개요
전용, 하이브리드, 퍼블릭 및 여러 클라우드 환경을 지원하는 OCI(Oracle® Cloud Infrastructure) 인프라에서 클러스터 워크로드를 실행할 수 있습니다. Red Hat과 Oracle 테스트, 검증 및 지원 모두 OCI의 OpenShift Container Platform 클러스터에서 OCI를 실행합니다.
지원 설치 프로그램은 OCI 플랫폼을 지원하며 지원 설치 관리자를 사용하여 OCI에서 클러스터 설치 작업을 자동화하기 위해 직관적인 대화형 워크플로에 액세스할 수 있습니다.
그림 1.1. 연결된 환경에서 지원 설치 관리자를 사용하여 OCI에 클러스터를 설치하는 워크플로
OCI는 규제 준수, 성능 및 비용 효율성에 대한 요구 사항을 충족할 수 있는 서비스를 제공합니다. OCI Resource Manager 구성에 액세스하여 OCI 리소스를 프로비저닝하고 구성할 수 있습니다.
OCI 리소스를 프로비저닝하는 단계는 예제로만 제공됩니다. 다른 방법을 통해 필요한 리소스를 생성하도록 선택할 수도 있습니다. 스크립트는 예시일 뿐입니다. 사용자가 제공하는 인프라를 사용하여 클러스터를 설치하려면 클라우드 공급자 및 OpenShift Container Platform에 대한 설치 프로세스에 대한 지식이 필요합니다. OCI Resource Manager 구성에 액세스하여 이러한 단계를 완료하거나 구성을 사용하여 고유한 사용자 지정 스크립트를 모델링할 수 있습니다.
지원 설치 관리자 문서를 사용하여 Oracle Cloud Infrastructure (OCI)에 클러스터 설치 단계를 수행하여 지원 설치 관리자를 사용하여 OCI에 OpenShift Container Platform 클러스터를 설치하는 방법을 알아보십시오. 이 문서에서는 OCI Cloud Controller Manager(CCM) 및 Oracle의 CSI(Container Storage Interface) 오브젝트를 사용하여 OpenShift Container Platform 클러스터를 OCI API와 연결하는 방법을 보여줍니다.
OCI에서 작동하는 클러스터 워크로드에 대한 최상의 성능 조건을 유지하려면 블록 볼륨의 볼륨 성능 단위(VPU)가 워크로드에 맞게 크기가 조정되어야 합니다. 다음 목록은 특정 성능 요구 사항에 필요한 VPU를 선택하기 위한 지침을 제공합니다.
- 테스트 또는 개념 증명 환경: 100GB 및 20~30 VPU.
- 기본 환경: 500GB 및 60 VPU.
- 높은 프로덕션 환경: 500GB 이상 및 100개 이상의 VPU.
추가 VPU를 예약하여 업데이트 및 확장 활동에 충분한 용량을 제공하는 것이 좋습니다. VPU에 대한 자세한 내용은 Volume Performance Units(Oracle 문서)를 참조하십시오.
OpenShift Container Platform 지원 설치 프로그램에 익숙하지 않은 경우 "OpenShift Container Platform용 설치 관리자 설치 관리자"를 참조하십시오.
1.2. OCI 리소스 및 서비스 생성
조직의 요구 사항을 충족하는 거버넌스 표준을 통해 인프라를 구축할 수 있도록 OCI(Oracle® Cloud Infrastructure) 리소스 및 서비스를 생성합니다.
사전 요구 사항
- 클러스터를 호스팅할 OCI 계정을 구성했습니다. 사전 요구 사항(Oracle 문서) 을 참조하십시오.
프로세스
- 관리자 권한으로 Oracle Cloud Infrastructure(OCI) 계정에 로그인합니다.
- Oracle 리소스에서 아카이브 파일을 다운로드합니다. 아카이브 파일에는 클러스터 리소스 및 사용자 정의 매니페스트를 생성하기 위한 파일이 포함되어 있습니다. 아카이브 파일에는 스크립트도 포함되어 있으며 스크립트를 실행할 때 스크립트는 DNS 레코드, 인스턴스 등과 같은 OCI 리소스를 생성합니다. 자세한 내용은 구성 파일(Oracle 문서) 을 참조하십시오.
1.3. 지원 설치 관리자를 사용하여 OCI 호환 검색 ISO 이미지 생성
OCI에 OpenShift Container Platform 클러스터를 설치하기 전에 에이전트에서 하드웨어 및 네트워크 유효성 검사 검사를 수행할 수 있도록 검색 ISO 이미지를 생성하고 OCI(Oracle® Cloud Infrastructure)에 이미지를 업로드합니다.
OCI 웹 콘솔에서 다음 리소스를 생성해야 합니다.
- OCI 리소스에 대한 사용 제한을 보다 효율적으로 구성하고, 액세스를 제한하며, 사용 제한을 설정하기 위한 하위 디렉터리입니다.
- 검색 ISO 이미지를 안전하고 안전하게 저장하기 위한 오브젝트 스토리지 버킷입니다. 인스턴스를 부팅하기 위해 이후 단계에서 이미지에 액세스하여 클러스터를 생성할 수 있습니다.
사전 요구 사항
- OCI에 하위 구분 및 오브젝트 스토리지 버킷을 생성했습니다. Oracle 문서의 Provisioning Cloud Infrastructure (OCI Console) 를 참조하십시오.
- OpenShift Container Platform 설치 및 업데이트 프로세스에 대한 세부 사항을 검토했습니다.
- 방화벽을 사용하며 Telemetry 서비스를 사용하려는 경우 OpenShift Container Platform이 필요한 사이트에 액세스할 수 있도록 방화벽을 구성했습니다.
- VM(가상 머신)을 생성하기 전에 Cloud 인스턴스 유형(Red Hat Ecosystem Catalog Portal) 을 참조하여 지원되는 OCI VM 셰이프를 식별합니다.
프로세스
하이브리드 클라우드 콘솔 의 지원 설치 관리자 페이지가 있는 OpenShift 설치 페이지에서 필요한 모든 지원 설치 관리자 단계를 완료하여 검색 ISO 이미지를 생성합니다.
클러스터 세부 정보 단계에서 다음 필드를 완료합니다.
필드 작업 필요 클러스터 이름
ocidemo
와 같은 클러스터 이름을 지정합니다.기본 도메인
splat-oci.devcluster.openshift.com
과 같은 클러스터의 기본 도메인을 지정합니다. 이전에 OCI에 구분을 생성한 경우 DNS 관리 → 영역 → 목록 범위로 이동한 다음 상위 항목을 선택하여 이 정보를 가져올 수 있습니다. 기본 도메인이 Public zones 탭 아래에 표시되어야 합니다.OpenShift 버전
OpenShift 4.17
이상 버전을 지정합니다.CPU 아키텍처
x86_64
또는Arm64
를 지정합니다.외부 파트너 플랫폼과 통합
Oracle Cloud Infrastructure
를 지정합니다.이 값을 지정하면 기본적으로 사용자 정의 매니페스트 포함 확인란이 선택됩니다.
- Operator 페이지에서 다음을 클릭합니다.
- Host Discovery 페이지에서 호스트 추가 를 클릭합니다.
SSH 공개 키 필드의 경우 로컬 시스템의 SSH 키를 추가합니다.
작은 정보ssh-keygen
툴을 사용하여 SSH 인증 키 쌍을 만들 수 있습니다.- Discovery ISO 생성 을 클릭하여 검색 ISO 이미지 파일을 생성합니다.
- 파일을 로컬 시스템으로 다운로드합니다.
검색 ISO 이미지를 OCI 버킷에 업로드합니다. Bucket(Oracle 문서)에 오브젝트 스토리지 오브젝트 업로드를 참조하십시오.
- 업로드된 검색 ISO 이미지에 대한 사전 인증 요청을 생성해야 합니다. OCI 스택을 생성할 때 이후 단계에서 URL을 지정해야 하므로 사전 인증 요청에서 URL을 기록해야 합니다.
1.4. 클러스터용 OCI 인프라 프로비저닝
지원 설치 관리자를 사용하여 OpenShift Container Platform 클러스터에 대한 세부 정보를 생성하면 스택에 이러한 세부 정보를 지정할 수 있습니다. 스택은 OCI에 OpenShift Container Platform 클러스터를 설치하는 데 필요한 사용자 지정 이미지와 같이 필요한 모든 OCI 인프라 리소스의 프로비저닝을 자동화할 수 있는 OCI 기능입니다.
OCI(Oracle® Cloud Infrastructure) Compute Service는 OCI에 VM(가상 머신) 인스턴스를 생성합니다. 그러면 이 인스턴스는 VCN(가상 클라우드 네트워크) 서브넷의 vNIC(가상 네트워크 인터페이스 컨트롤러)에 자동으로 연결할 수 있습니다. 사용자 정의 매니페스트 템플릿 파일에 OpenShift Container Platform 클러스터의 IP 주소를 지정하면 OCI 인스턴스가 VCN을 통해 클러스터와 통신할 수 있습니다.
사전 요구 사항
- 검색 ISO 이미지를 OCI 버킷에 업로드했습니다. 자세한 내용은 "지원 설치 관리자를 사용하여 OCI 호환 검색 ISO 이미지 생성"을 참조하십시오.
프로세스
- OpenShift Container Platform 클러스터용 OCI 인프라를 프로비저닝하는 단계를 완료합니다. Creating OpenShift Container Platform Infrastructure Using Resource Manager (Oracle 문서) 를 참조하십시오.
- 스택을 생성한 다음 Editing the OpenShift Custom Manifests (Oracle documentation) 의 단계에 따라 사용자 지정 매니페스트 파일을 편집합니다.
1.5. 나머지 지원 설치 프로그램 단계 완료
OCI(Oracle® Cloud Infrastructure) 리소스를 프로비저닝하고 OpenShift Container Platform 사용자 정의 매니페스트 구성 파일을 OCI에 업로드한 후 OCI 인스턴스를 생성하기 전에 지원 설치 관리자에서 나머지 클러스터 설치 단계를 완료해야 합니다.
사전 요구 사항
- 사용자 지정 매니페스트 구성 파일 및 OCI Resource Manager 구성 리소스를 포함하는 OCI에 리소스 스택을 생성했습니다. "클러스터용 OCI 인프라 프로비저닝"을 참조하십시오.
프로세스
- Red Hat Hybrid Cloud Console 웹 콘솔에서 호스트 검색 페이지로 이동합니다.
역할 열에서 대상 각 호스트 이름에 대해
컨트롤 플레인 노드
또는 작업자
를 선택합니다.중요이전에는 다음 단계를 계속하고 각 노드가
Ready
상태에 도달할 때까지 기다릴 수 있습니다.- 스토리지 및 네트워킹 단계에 대한 기본 설정을 수락한 다음 다음을 클릭합니다.
사용자 정의 매니페스트 페이지의 폴더 필드에서
매니페스트
를 선택합니다. 이는 사용자 정의 매니페스트 파일을 저장할 지원 설치 관리자 폴더입니다.-
파일 이름 필드에
oci-ccm.yml
과 같은 값을 입력합니다. -
콘텐츠 섹션에서 찾아보기 를 클릭하고
custom_manifest/manifests/oci-ccm.yml
에 있는 드라이브에서 CCM 매니페스트를 선택합니다.
-
파일 이름 필드에
다음 사용자 정의 매니페스트 섹션을 확장하고 다음 매니페스트에 대해 동일한 단계를 반복합니다.
-
CSI driver manifest:
custom_manifest/manifests/oci-csi.yml
-
CCM machine configuration:
custom_manifest/openshift/machineconfig-ccm.yml
-
CSI driver machine configuration:
custom_manifest/openshift/machineconfig-csi.yml
-
CSI driver manifest:
- 검토 및 생성 페이지에서 클러스터 설치를 클릭하여 OCI에서 OpenShift Container Platform 클러스터를 생성합니다.
클러스터 설치 및 초기화 작업 후 지원 설치 프로그램은 클러스터 설치 작업이 완료되었음을 나타냅니다. 자세한 내용은 OpenShift Container Platform 용 지원 설치 관리자 문서의 "설치 적용" 섹션을 참조하십시오.
1.6. OCI에 클러스터 설치 성공 확인
클러스터가 설치되어 있고 Oracle OCI(Cloud Infrastructure)에서 효과적으로 실행되고 있는지 확인합니다.
프로세스
- 하이브리드 클라우드 콘솔에서 클러스터 > 지원 클러스터로 이동하여 클러스터 이름을 선택합니다.
- 설치 진행률 표시줄이 100%이고 "설치 완료됨"을 나타내는 메시지가 표시되는지 확인합니다.
- OpenShift Container Platform 웹 콘솔에 액세스하려면 제공된 웹 콘솔 URL을 클릭합니다.
- 노드 메뉴 페이지로 이동합니다.
- 노드 테이블에서 노드를 찾습니다.
-
개요 탭에서 노드의 상태가
Ready
인지 확인합니다. - YAML 탭을 선택합니다.
-
labels
매개변수를 확인하고 나열된 라벨이 구성에 적용되는지 확인합니다. 예를 들어topology.kubernetes.io/region=us-sanjose-1
레이블은 노드가 배포된 OCI 리전에서 나타냅니다.
1.7. OCI에 클러스터 설치 문제 해결
지원 설치 관리자를 사용하여 Oracle® Cloud Infrastructure(OCI)에 OpenShift Container Platform 클러스터를 설치하는 데 문제가 발생하는 경우 다음 섹션을 읽고 일반적인 문제를 해결합니다.
OCI의 Ingress 로드 밸런서가 정상 상태가 아닙니다.
이 문제는 Resource Manager를 사용하여 스택을 생성함으로써 기본적으로 3개의 컴퓨팅 노드 풀을 생성하여 Ingress 로드 밸런서의 백엔드 리스너로 자동 추가되므로 경고로
분류됩니다. 기본적으로 OpenShift Container Platform은 OpenShift Container Platform 매니페스트 파일의 기본값을 기반으로 하는 2개의 라우터 Pod를 배포합니다. 사용 가능한 라우터 Pod 수와 일치하지 않는 경우 3개의 컴퓨팅 노드에서 실행되는 2개의 라우터 Pod 수가 일치하지 않기 때문에 경고가
예상됩니다.
그림 1.2. OCI의 백엔드 설정 정보 탭에 있는 경고
메시지의 예
Ingress 로드 밸런서 구성을 수정할 필요가 없습니다. 대신 OpenShift Container Platform의 클러스터에서 작동하는 특정 컴퓨팅 노드를 가리키는 Ingress 로드 밸런서를 가리킬 수 있습니다. 이렇게 하려면 OpenShift Container Platform에서 주석과 같은 배치 메커니즘을 사용하여 라우터 Pod가 백엔드 리스너로 Ingress Load Balancer에서 원래 구성한 컴퓨팅 노드에서만 실행되도록 합니다.
OCI 생성 스택 작업이 오류: 400-InvalidParameter 메시지와 함께 실패합니다.
OCI에서 스택을 생성하려고 할 때 작업의 Logs 섹션에서 오류 메시지를 출력한다는 것을 확인했습니다. 예를 들면 다음과 같습니다.
Error: 400-InvalidParameter, DNS Label oci-demo does not follow Oracle requirements Suggestion: Please update the parameter(s) in the Terraform config as per error message DNS Label oci-demo does not follow Oracle requirements Documentation: https://registry.terraform.io/providers/oracle/oci/latest/docs/resources/core_vcn
하이브리드 클라우드 콘솔 의 지원 설치 관리자 페이지가 있는 OpenShift 설치 페이지로 이동하여 클러스터 세부 정보 단계에서 클러스터 이름 필드를 확인합니다. 이러한 특수 문자가 OCI 이름 지정 규칙과 호환되지 않기 때문에 이름에서 하이픈(-
)과 같은 특수 문자를 제거합니다. 예를 들어 oci-demo
를 ocidemo
로 변경합니다.
2장. 에이전트 기반 설치 관리자를 사용하여 OCI(Oracle Cloud Infrastructure)에 클러스터 설치
OpenShift Container Platform 4.17에서는 에이전트 기반 설치 관리자를 사용하여 Oracle® Cloud Infrastructure (OCI)에 클러스터를 설치하여 전용, 하이브리드, 퍼블릭 및 여러 클라우드 환경을 지원하는 인프라에서 클러스터 워크로드를 실행할 수 있습니다.
2.1. 에이전트 기반 설치 프로그램 및 OCI 개요
에이전트 기반 설치 관리자를 사용하여 OCI(Oracle® Cloud Infrastructure)에 OpenShift Container Platform 클러스터를 설치할 수 있습니다. OCI의 OpenShift Container Platform 클러스터에서 OCI 및 Oracle® Cloud VMware Solution(OCVS) 워크로드 실행을 Red Hat과 Oracle 및 검증 및 지원합니다.
에이전트 기반 설치 프로그램은 지원 설치 서비스를 쉽게 사용할 수 있지만 연결되거나 연결이 끊긴 환경에 클러스터를 설치하는 기능을 제공합니다.
다음 다이어그램에서는 연결 및 연결이 끊긴 환경에 대한 워크플로우를 보여줍니다.
그림 2.1. 연결된 환경에서 에이전트 기반 설치 프로그램을 사용하여 OCI에 클러스터를 설치하는 워크플로
그림 2.2. 연결이 끊긴 환경에서 에이전트 기반 설치 프로그램을 사용하여 OCI에 클러스터를 설치하는 워크플로
OCI는 규정 준수, 성능 및 비용 효율성 요구 사항을 충족할 수 있는 서비스를 제공합니다. OCI는 64비트 x86
인스턴스 및 64비트 ARM
인스턴스를 지원합니다. 또한 OCI는 최소한의 애플리케이션 다시 아키텍처로 VMware 워크로드를 OCI로 이동할 수 있는 OCVS 서비스를 제공합니다.
이러한 드라이브는 부팅 디스크에 짧은 대기 시간과 높은 처리량 기능을 제공하므로 부팅 디스크의 NVMe(Nonvolatile Memory express) 드라이브 또는 SSD(Solid-State Drive)를 선택하는 것이 좋습니다.
OCI에서 OpenShift Container Platform 클러스터를 실행하면 다음 기능에 액세스할 수 있습니다.
- VM에 대한 Oracle® CPU(OCPU) 및 메모리 리소스의 수를 사용자 지정할 수 있는 유연한 셰이프를 컴퓨팅합니다. 이 기능에 액세스하면 클러스터의 워크로드가 리소스 균형 있는 환경에서 작업을 수행할 수 있습니다. Red Hat Ecosystem Catalog 포털에서 Oracle 페이지로 이동하여 모든 RHEL 인증 OCI 도형을 찾을 수 있습니다.
- 블록 볼륨 스토리지: 블록 볼륨 서비스가 성능을 최적화하기 위해 성능 수준을 자동으로 조정하도록 스토리지 볼륨의 스케일링 및 자동 튜닝 설정을 구성할 수 있습니다.
- OCVS: VMware® vSphere 소프트웨어 정의 데이터 센터(SDDC)에서 작동하는 공용 클라우드 환경에 클러스터를 배포할 수 있습니다. VMware vSphere 환경에 대한 전체 관리자 권한을 계속 유지하지만 OCI 서비스를 사용하여 유연하고 확장 가능하며 안전한 인프라에서 애플리케이션을 개선할 수 있습니다.
OCI 및 OCVS 서비스에서 작동하는 클러스터 워크로드에 대한 최상의 성능 조건을 유지하려면 블록 볼륨의 볼륨 성능 단위(VPU)가 워크로드에 맞게 크기가 조정되어야 합니다. 다음 목록은 특정 성능 요구 사항에 필요한 VPU를 선택하는 데 필요한 몇 가지 지침을 제공합니다.
- 테스트 또는 개념 증명 환경: 100GB 및 20~30 VPU.
- 기본 환경: 500GB 및 60 VPU.
- 높은 프로덕션 환경: 500GB 이상 및 100개 이상의 VPU.
추가 VPU를 예약하여 업데이트 및 확장 활동에 충분한 용량을 제공하는 것이 좋습니다. VPU에 대한 자세한 내용은 Volume Performance Units(Oracle 문서)를 참조하십시오.
2.2. OCI 인프라 리소스 및 서비스 생성
VM(가상 머신) 모양에 OCI 환경을 생성해야 합니다. 이 환경을 생성하면 OpenShift Container Platform을 설치하고 광범위한 클라우드 옵션과 강력한 보안 정책을 지원하는 인프라에 클러스터를 배포할 수 있습니다. OCI 구성 요소에 대한 사전 지식이 있으면 OCI 리소스의 개념과 조직의 요구 사항을 충족하도록 구성하는 방법을 이해하는 데 도움이 될 수 있습니다.
OCI에 OpenShift Container Platform 클러스터를 설치하기 위한 에이전트 기반 설치 프로그램 방법으로 OCI 리소스 및 서비스를 수동으로 생성해야 합니다.
OpenShift Container Platform과의 호환성을 유지하려면 A
를 각 DNS 레코드 및 이름 레코드의 레코드 유형으로 다음과 같이 설정해야 합니다.
-
API 로드 밸런서의
apiVIP
매개변수를 대상으로 하는 api.<cluster_name>.<base_domain -
API 로드 밸런서의
apiVIP
매개변수를 대상으로 하는 api-int.<cluster_name>.<base_domain -
*.apps.<cluster_name>.<base_domain
>은 Ingress 로드 밸런서의ingressVIP
매개변수를 대상으로 합니다.
api.*
및 api-int.*
DNS 레코드는 컨트롤 플레인 시스템과 관련이 있으므로 설치된 OpenShift Container Platform 클러스터의 모든 노드가 이러한 DNS 레코드에 액세스할 수 있는지 확인해야 합니다.
사전 요구 사항
- OpenShift Container Platform 클러스터를 호스팅할 OCI 계정을 구성했습니다. 사전 요구 사항(Oracle 문서) 을 참조하십시오.
프로세스
- 필요한 OCI 리소스 및 서비스를 생성합니다. 에이전트 기반 설치 관리자(Oracle 문서) 사용에 필요한 OCI 리소스 를 참조하십시오.
2.3. OCI에 클러스터를 설치하기 위한 구성 파일 생성
에이전트 기반 설치 관리자를 사용하여 부팅 가능한 ISO 이미지를 생성할 수 있도록 install-config.yaml
및 agent-config.yaml
구성 파일을 생성해야 합니다. 에이전트 기반 설치는 지원 검색 에이전트와 지원 서비스가 있는 부팅 가능한 ISO로 구성됩니다. 이러한 두 구성 요소는 클러스터 설치를 수행하는 데 필요하지만 후자의 구성 요소는 호스트 중 하나에서만 실행됩니다.
이후 단계에서는 생성된 에이전트 ISO 이미지를 Oracle의 기본 Object Storage 버킷에 업로드하는 Oracle 문서의 단계를 수행해야 합니다. 이 버킷은 OCI(Oracle® Cloud Infrastructure)에 OpenShift Container Platform 클러스터를 통합하는 초기 단계입니다.
에이전트 기반 설치 관리자를 사용하여 ZTP(Zero Touch Provisioning) 사용자 지정 리소스를 생성하거나 허용할 수도 있습니다.
사전 요구 사항
- OpenShift Container Platform 설치 및 업데이트 프로세스에 대한 세부 사항을 검토했습니다.
- 클러스터 설치 방법 선택 및 사용자 방법에 대한 문서를 읽습니다.
- "인터 기반 설치 관리자와 함께 설치할 준비" 문서를 읽었습니다.
- Red Hat Hybrid Cloud Console에서 에이전트 기반 설치 프로그램과 CLI(명령줄 인터페이스)를 다운로드했습니다.
- 관리자 권한으로 OpenShift Container Platform에 로그인했습니다.
프로세스
연결이 끊긴 환경의 경우 Red Hat OpenShift의 미러 레지스트리를 로컬 컨테이너 이미지 레지스트리에 미러링합니다.
중요openshift-install
바이너리 버전이 Red Hat Quay와 같은 공유 레지스트리가 아닌 로컬 이미지 컨테이너 레지스트리와 관련이 있는지 확인합니다.$ ./openshift-install version
공유 레지스트리 바이너리의 출력 예
./openshift-install 4.17.0 built from commit ae7977b7d1ca908674a0d45c5c243c766fa4b2ca release image registry.ci.openshift.org/origin/release:4.17ocp-release@sha256:0da6316466d60a3a4535d5fed3589feb0391989982fba59d47d4c729912d6363 release architecture amd64
조직의 요구 사항을 충족하도록
install-config.yaml
구성 파일을 구성합니다.외부 플랫폼 설정을 설명하는
install-config.yaml
구성 파일의 예# install-config.yaml apiVersion: v1 baseDomain: <base_domain> 1 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 network type: OVNKubernetes machineNetwork: - cidr: <ip_address_from_cidr> 2 serviceNetwork: - 172.30.0.0/16 compute: - architecture: amd64 3 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64 4 hyperthreading: Enabled name: master replicas: 3 platform: external: platformName: oci 5 cloudControllerManager: External sshKey: <public_ssh_key> 6 pullSecret: '<pull_secret>' 7 # ...
- 1
- 클라우드 공급자의 기본 도메인입니다.
- 2
- CIDR이 네트워크에서 작동하는 리소스 및 구성 요소에 할당하는 VCN(가상 클라우드 네트워크)의 IP 주소입니다.
- 3 4
- 인프라에 따라
x86_64
또는amd64
를 선택할 수 있습니다. - 5
- OpenShift Container Platform이
OCI
와 통합할 수 있도록 OCI를 외부 플랫폼으로 설정합니다. - 6
- SSH 공개 키를 지정합니다.
- 7
- OpenShift Container Platform 구성 요소 및 서비스의 컨테이너 이미지를 다운로드할 때 인증에 필요한 풀 시크릿(예: Quay.io)입니다. Red Hat Hybrid Cloud Console에서 OpenShift Container Platform 4 설치를 참조하십시오.
로컬 시스템에
openshift
라는 디렉터리를 만듭니다.중요install-config.yaml
및agent-config.yaml
구성 파일을openshift
디렉터리로 이동하지 마십시오.-
Oracle 문서의 "구성 파일" 섹션에 있는 단계를 완료하여 Oracle CCO(Cloud Controller Manager) 및 CSI(Container Storage Interface) 매니페스트를 아카이브 파일로 다운로드하고
openshift
디렉터리에 아카이브 파일을 저장합니다. OpenShift Container Platform이 외부 OCI 플랫폼에 연결할 수 있도록 클러스터 설치 중에 Oracle CCM을 배포하려면 Oracle CCM 매니페스트가 필요합니다. OpenShift Container Platform에서 OCI에서 필요한 오브젝트를 요청할 수 있도록 클러스터 설치 중에 Oracle CSI 드라이버를 배포하려면 Oracle CSI 사용자 정의 매니페스트가 필요합니다. Oracle 문서의 "구성 파일" 섹션에 제공된 사용자 정의 매니페스트 파일에 액세스합니다.
-
oci-ccm.yml
구성 파일에 정의된oci-cloud-controller-manager
시크릿을 변경하여 로드 밸런서에서 조직 리전, OCID, VCN OCID 서브넷과 일치시킵니다.
-
에이전트 기반 설치 관리자를 사용하여 OpenShift Container Platform CLI에 다음 명령을 입력하여 rootfs 이미지를 제외하는 최소 ISO 이미지를 생성합니다. 나중에 이 이미지를 사용하여 클러스터의 모든 노드를 부팅할 수 있습니다.
$ ./openshift-install agent create image --log-level debug
이 명령은 다음 작업도 완료합니다.
-
./<installation_directory>/auth 디렉터리: ./<installation_directory
>/auth 디렉터리를 생성하여kubeadmin-password
및kubeconfig
파일을 하위 디렉터리에 배치합니다. -
agent-config.yaml
구성 파일에서 지정한 IP 주소를 기반으로rendezvousIP
파일을 생성합니다. 선택 사항:
agent-config.yaml
및install-config.yaml
구성 파일에 대한 모든 수정 사항은ZTP(ZTP) 사용자 정의 리소스로 가져옵니다.중요에이전트 기반 설치 관리자는 RHCOS(Red Hat Enterprise Linux CoreOS)를 사용합니다. 나중에 나열된 항목에 언급된 rootfs 이미지는 운영 체제를 부팅, 복구 및 복구하는 데 필요합니다.
-
조직의 요구 사항을 충족하도록
agent-config.yaml
구성 파일을 구성합니다.IPv4 형식의 네트워크의 값을 설정하는
agent-config.yaml
구성 파일의 예.apiVersion: v1alpha1 metadata: name: <cluster_name> 1 namespace: <cluster_namespace> 2 rendezvousIP: <ip_address_from_CIDR> 3 bootArtifactsBaseURL: <server_URL> 4 # ...
- 1
- DNS 레코드에 지정한 클러스터 이름입니다.
- 2
- OpenShift Container Platform에서 클러스터의 네임스페이스입니다.
- 3
- IPv4를 네트워크 IP 주소 형식으로 사용하는 경우
rendezvousIP
매개변수를 VCN의 CIDR(Classless Inter-Domain Routing) 메서드가 네트워크에 할당하는 IPv4 주소로 설정해야 합니다. 또한 ISO로 부팅한 인스턴스 풀에서 하나 이상의 인스턴스가rendezvousIP
용으로 설정한 IP 주소 값과 일치하는지 확인합니다. - 4
- rootfs 이미지를 업로드할 서버의 URL입니다.
agent-config.yaml
구성 파일에 다음 두 업데이트 중 하나를 적용합니다.연결이 끊긴 네트워크의 경우: 명령을 실행하여 최소 ISO 이미지를 생성한 후 에이전트 기반 설치 프로그램은 rootfs 이미지를 로컬 시스템의
./<installation_directory>/boot-artifacts
디렉터리에 저장합니다. 모든httpd
(Hypertext Transfer Protocol daemon)와 같은 선호하는 웹 서버를 사용하여agent-config.yaml
구성 파일의bootArtifactsBaseURL
매개변수에 지정된 위치에 rootfs를 업로드합니다.예를 들어
bootArtifactsBaseURL
매개변수가http://192.168.122.20
로 표시되면 생성된 rootfs 이미지를 이 위치에 업로드하여 에이전트 기반 설치 프로그램이http://192.168.122.20/agent.x86_64-rootfs.img
의 이미지에 액세스할 수 있도록 합니다. 에이전트 기반 설치 프로그램이 외부 플랫폼의 최소 ISO를 부팅하면 에이전트 기반 설치 프로그램이http://192.168.122.20/agent.x86_64-rootfs.img
위치에서 시스템 메모리에 rootfs 이미지를 다운로드합니다.참고에이전트 기반 설치 관리자는 또한
bootArtifactsBaseURL
값을 최소 ISO 이미지 구성에 추가하여 Operator가 클러스터 노드를 부팅할 때 에이전트 기반 설치 프로그램이 rootfs 이미지를 시스템 메모리에 다운로드합니다.연결된 네트워크의 경우:
agent-config.yaml
구성 파일에bootArtifactsBaseURL
매개변수를 지정할 필요가 없습니다. 에이전트 기반 설치 프로그램의 기본 동작은https://rhcos.mirror.openshift.com
에서 rootfs URL 위치를 읽습니다. 에이전트 기반 설치 프로그램이 외부 플랫폼의 최소 ISO를 부팅하면 에이전트 기반 설치 프로그램이 기본 RHCOS URL에서 rootfs 파일을 시스템의 메모리에 다운로드합니다.중요1
GB를 초과하는 전체 ISO 이미지에 rootfs 이미지가 포함되어 있습니다. 이미지는 최소 ISO 이미지보다 크며 일반적으로150
MB 미만입니다.
2.4. OpenShift Container Platform의 방화벽 설정
OpenShift Container Platform을 설치하기 전에 OpenShift Container Platform에 필요한 사이트에 대한 액세스 권한을 부여하도록 방화벽을 설정해야 합니다. 방화벽을 사용하는 경우 OpenShift Container Platform이 작동하는 데 필요한 사이트에 액세스할 수 있도록 방화벽을 추가로 설정합니다.
연결이 끊긴 환경의 경우 Red Hat과 Oracle의 콘텐츠를 미러링해야 합니다. 이 환경에서는 방화벽을 특정 포트 및 레지스트리에 노출하기 위한 방화벽 규칙을 생성해야 합니다.
환경에 OpenShift Container Platform 클러스터 앞에 전용 로드 밸런서가 있는 경우 방화벽과 로드 밸런서 간의 허용 목록을 검토하여 클러스터에 대한 원하지 않는 네트워크 제한을 방지합니다.
프로세스
방화벽 허용 목록에 대해 다음 레지스트리 URL을 설정합니다.
URL 포트 함수 registry.redhat.io
443
코어 컨테이너 이미지를 제공합니다.
access.redhat.com
443
컨테이너 클라이언트에서
registry.access.redhat.com
에서 가져온 이미지를 확인하는 데 필요한 서명 저장소를 호스팅합니다. 방화벽 환경에서 이 리소스가 허용 목록에 있는지 확인합니다.registry.access.redhat.com
443
코어 컨테이너 이미지를 포함하여 Red Hat Ecosystem Catalog에 저장된 모든 컨테이너 이미지를 호스팅합니다.
quay.io
443
코어 컨테이너 이미지를 제공합니다.
cdn.quay.io
443
코어 컨테이너 이미지를 제공합니다.
cdn01.quay.io
443
코어 컨테이너 이미지를 제공합니다.
cdn02.quay.io
443
코어 컨테이너 이미지를 제공합니다.
cdn03.quay.io
443
코어 컨테이너 이미지를 제공합니다.
cdn04.quay.io
443
코어 컨테이너 이미지를 제공합니다.
cdn05.quay.io
443
코어 컨테이너 이미지를 제공합니다.
cdn06.quay.io
443
코어 컨테이너 이미지를 제공합니다.
sso.redhat.com
443
https://console.redhat.com
사이트에서sso.redhat.com
의 인증을 사용합니다.-
허용 목록에
cdn.quay.io
및cdn0[1-6].quay.io
대신 와일드카드*.quay.io
및*.openshiftapps.com
을 사용할 수 있습니다. -
와일드카드
*.access.redhat.com
을 사용하여 구성을 단순화하고registry.access.redhat.com
을 포함한 모든 하위 도메인이 허용되는지 확인할 수 있습니다. -
허용 목록에
quay.io
와 같은 사이트를 추가할 때*.quay.io
와 같은 와일드카드 항목을 거부 목록에 추가하지 마십시오. 대부분의 경우 이미지 레지스트리는 CDN(Content deliver network)을 사용하여 이미지를 제공합니다. 방화벽 블록에 액세스하면 초기 다운로드 요청이cdn01.quay.io
와 같은 호스트 이름으로 리디렉션될 때 이미지 다운로드가 거부됩니다.
-
허용 목록에
- 방화벽의 허용 목록에 빌드에 필요한 언어 또는 프레임워크에 대한 리소스를 제공하는 모든 사이트를 포함하도록 설정합니다.
Telemetry를 비활성화하지 않은 경우 Red Hat Insights에 액세스하려면 다음 URL에 대한 액세스 권한을 부여해야합니다
URL 포트 함수 cert-api.access.redhat.com
443
Telemetry 필수
api.access.redhat.com
443
Telemetry 필수
infogw.api.openshift.com
443
Telemetry 필수
console.redhat.com
443
Telemetry 및
insights-operator
필수방화벽의 허용 목록에 다음 레지스트리 URL을 포함하도록 설정합니다.
URL 포트 함수 api.openshift.com
443
클러스터 토큰과 클러스터에 업데이트를 사용할 수 있는지 확인하는 데 필요합니다.
rhcos.mirror.openshift.com
443
RHCOS (Red Hat Enterprise Linux CoreOS) 이미지를 다운로드하는 데 필요합니다.
방화벽의 허용 목록에 다음 외부 URL을 포함하도록 설정합니다. 각 리포지토리 URL은 OCI 컨테이너를 호스팅합니다. 성능 문제를 줄이기 위해 이미지를 가능한 한 적은 수의 저장소로 미러링하는 것이 좋습니다.
URL 포트 함수 k8s.gcr.io
port
커뮤니티 기반 이미지 레지스트리의 컨테이너 이미지를 호스팅하는 Kubernetes 레지스트리입니다. 이 이미지 레지스트리는 사용자 정의 GCR(Google Container Registry) 도메인에서 호스팅됩니다.
ghcr.io
port
Open Container Initiative 이미지를 저장하고 관리할 수 있는 GitHub 이미지 레지스트리입니다. 개인, 내부 및 공용 패키지를 게시, 설치 및 삭제하려면 액세스 토큰이 필요합니다.
storage.googleapis.com
443
릴리스 이미지 서명 소스입니다 (Cluster Version Operator에는 단일 기능 소스만 필요)
registry.k8s.io
port
k8s.gcr.io
이미지 레지스트리가 다른 플랫폼 및 공급 업체를 지원하지 않기 때문에k8s.gcr.io
이미지 레지스트리를 대체합니다.
2.5. OCI에서 클러스터 실행
Oracle® Cloud Infrastructure(OCI)에서 클러스터를 실행하려면 생성된 에이전트 ISO 이미지를 OCI의 기본 Object Storage 버킷에 업로드해야 합니다. 또한 OCI에서 클러스터를 실행하기 위해 OpenShift Container Platform 및 OCI가 서로 통신할 수 있도록 제공된 기본 이미지에서 컴퓨팅 인스턴스를 생성해야 합니다.
OCI는 다음 OpenShift Container Platform 클러스터 토폴로지를 지원합니다.
- 단일 노드에 OpenShift Container Platform 클러스터 설치.
- 컨트롤 플레인 인스턴스와 두 개의 컴퓨팅 인스턴스가 있는 고가용성 클러스터입니다.
- 컨트롤 플레인 인스턴스가 3개 이상 있는 컴팩트한 3-노드 클러스터입니다.
사전 요구 사항
- 에이전트 ISO 이미지를 생성하셨습니다. " OCI에 클러스터를 설치하기 위한 구성 파일 생성" 섹션을 참조하십시오.
프로세스
- 에이전트 ISO 이미지를 Oracle의 기본 Object Storage 버킷에 업로드하고 에이전트 ISO 이미지를 이 버킷에 사용자 지정 이미지로 가져옵니다. UEFI(Unified Extensible Firmware Interface) 모드로 부팅되도록 사용자 지정 이미지를 구성해야 합니다. 자세한 내용은 Creating the OpenShift Container Platform ISO Image (Oracle documentation) 를 참조하십시오.
클러스터 토폴로지에 대해 제공된 기본 이미지에서 컴퓨팅 인스턴스를 생성합니다. OCI(Oracle 문서)에서 OpenShift Container Platform 클러스터 생성 을 참조하십시오.
중요컴퓨팅 인스턴스를 생성하기 전에 클러스터에 충분한 메모리 및 디스크 리소스가 있는지 확인합니다. 또한
agent-config.yaml
파일의rendezvousIP
에 명시된 주소와 하나 이상의 컴퓨팅 인스턴스의 IP 주소가 동일한지 확인합니다.
2.6. 에이전트 기반 클러스터 설치가 OCI에서 실행되는지 확인
클러스터가 설치되어 있고 Oracle OCI(Cloud Infrastructure)에서 효과적으로 실행되고 있는지 확인합니다.
사전 요구 사항
- 필요한 모든 OCI 리소스 및 서비스를 생성하셨습니다. " OCI 인프라 리소스 및 서비스 생성" 섹션을 참조하십시오.
-
install-config.yaml
및agent-config.yaml
구성 파일을 생성하셨습니다. " OCI에 클러스터를 설치하기 위한 구성 파일 생성" 섹션을 참조하십시오. - 에이전트 ISO 이미지를 Oracle의 기본 Object Storage 버킷에 업로드하고 OCI에 컴퓨팅 인스턴스를 생성했습니다. 자세한 내용은 " OCI에서 클러스터 실행"을 참조하십시오.
프로세스
OpenShift Container Platform 클러스터의 자체 관리 노드에 컴퓨팅 인스턴스를 배포한 후 다음 옵션 중 하나를 선택하여 클러스터의 상태를 모니터링할 수 있습니다.
OpenShift Container Platform CLI에서 다음 명령을 입력합니다.
$ ./openshift-install agent wait-for install-complete --log-level debug
부트스트랩 노드를 실행하는
rendezvous
호스트 노드의 상태를 확인합니다. 호스트가 재부팅되면 호스트는 클러스터의 일부를 형성합니다.kubeconfig
API를 사용하여 다양한 OpenShift Container Platform 구성 요소의 상태를 확인합니다.KUBECONFIG
환경 변수의 경우 클러스터의kubeconfig
구성 파일의 상대 경로를 설정합니다.$ export KUBECONFIG=~/auth/kubeconfig
각 클러스터의 자체 관리 노드의 상태를 확인합니다. CCM은 각 노드에 레이블을 적용하여 OCI의 클러스터에서 노드를 실행 중으로 지정합니다.
$ oc get nodes -A
출력 예
NAME STATUS ROLES AGE VERSION main-0.private.agenttest.oraclevcn.com Ready control-plane, master 7m v1.27.4+6eeca63 main-1.private.agenttest.oraclevcn.com Ready control-plane, master 15m v1.27.4+d7fa83f main-2.private.agenttest.oraclevcn.com Ready control-plane, master 15m v1.27.4+d7fa83f
CCM Operator 상태가 클러스터가 실행 중임을 나타내는 적절한 지표로 각 클러스터의 Operator 상태를 확인합니다.
$ oc get co
잘린 출력 예
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE authentication 4.17.0-0 True False False 6m18s baremetal 4.17.0-0 True False False 2m42s network 4.17.0-0 True True False 5m58s Progressing: … …
추가 리소스
Legal Notice
Copyright © 2024 Red Hat, Inc.
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.