1.7. 호스트된 컨트롤 플레인(기술 프리뷰)
멀티 클러스터 엔진 Operator 클러스터 관리를 사용하면 독립 실행형 또는 호스트된 컨트롤 플레인이라는 두 가지 컨트롤 플레인 구성을 사용하여 OpenShift Container Platform 클러스터를 배포할 수 있습니다. 독립 실행형 구성은 전용 가상 머신 또는 물리적 머신을 사용하여 OpenShift Container Platform 컨트롤 플레인을 호스팅합니다. OpenShift Container Platform용 호스트 컨트롤 플레인을 사용하면 컨트롤 플레인을 각 컨트롤 플레인의 전용 물리적 머신 없이도 호스팅 클러스터에서 Pod로 생성할 수 있습니다.
OpenShift Container Platform의 호스트 컨트롤 플레인은 AWS(Amazon Web Services) 및 베어 메탈 또는 가상 환경에서 기술 프리뷰 기능으로 사용할 수 있습니다. OpenShift Container Platform 버전 4.10.7 이상에서 컨트롤 플레인을 호스팅할 수 있습니다.
참고: 호스팅된 컨트롤 플레인과 동일한 플랫폼에서 hub 클러스터 및 작업자를 실행합니다.
컨트롤 플레인은 단일 네임스페이스에 포함되어 호스팅된 컨트롤 플레인 클러스터와 연결된 Pod로 실행됩니다. OpenShift Container Platform에서 이러한 유형의 호스팅 클러스터를 생성할 때 컨트롤 플레인과 독립적인 작업자 노드를 생성합니다.
호스트된 컨트롤 플레인 클러스터는 다음과 같은 몇 가지 이점을 제공합니다.
- 전용 컨트롤 플레인 노드를 호스팅할 필요가 없어 비용 절감
- 컨트롤 플레인과 워크로드를 분리하여 격리를 개선하고 변경이 필요할 수 있는 구성 오류를 줄입니다.
- 컨트롤 플레인 노드 부트스트랩에 대한 요구 사항을 제거하여 클러스터 생성 시간을 줄입니다.
- turn-key 배포 지원 또는 완전히 사용자 지정된 OpenShift Container Platform 프로비저닝
호스팅된 컨트롤 플레인에 대한 자세한 내용은 다음 주제를 계속 읽습니다.
1.7.1. AWS에서 호스팅 클러스터 구성 (기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
호스팅 컨트롤 플레인을 구성하려면 호스팅 클러스터 및 호스트 클러스터가 필요합니다. hypershift-addon 관리 클러스터 애드온을 사용하여 기존 관리 클러스터에 HyperShift Operator를 배포하면 해당 클러스터를 호스팅 클러스터로 활성화하고 호스팅 클러스터 생성을 시작할 수 있습니다.
멀티 클러스터 엔진 Operator 2.2는 호스팅 클러스터로 기본 로컬 클러스터 및 허브 클러스터만 지원합니다.
호스트된 컨트롤 플레인은 기술 프리뷰 기능이므로 관련 구성 요소는 기본적으로 비활성화되어 있습니다.
호스팅 클러스터로 작동하도록 기존 클러스터를 구성하여 호스팅 컨트롤 플레인을 배포할 수 있습니다. 호스팅 클러스터는 컨트롤 플레인이 호스팅되는 Red Hat OpenShift Container Platform 클러스터입니다. Red Hat Advanced Cluster Management 2.7은 로컬 클러스터라고도 하는 허브 클러스터를 호스팅 클러스터로 사용할 수 있습니다. 로컬 클러스터를 호스팅 클러스터로 구성하는 방법을 알아보려면 다음 주제를 참조하십시오.
모범 사례: 호스팅된 컨트롤 플레인에서 동일한 플랫폼에서 허브 클러스터 및 작업자를 실행해야 합니다.
1.7.1.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
호스팅 클러스터를 구성하려면 다음 사전 요구 사항이 있어야 합니다.
- Kubernetes operator 2.2 이상은 OpenShift Container Platform 클러스터에 설치된 다중 클러스터 엔진입니다. Red Hat Advanced Cluster Management를 설치하면 다중 클러스터 엔진 Operator가 자동으로 설치됩니다. 멀티 클러스터 엔진 Operator는 Red Hat Advanced Cluster Management 없이 OpenShift Container Platform OperatorHub의 Operator로 설치할 수도 있습니다.
멀티 클러스터 엔진 Operator에는 하나 이상의 관리형 OpenShift Container Platform 클러스터가 있어야 합니다.
로컬 클러스터는 멀티 클러스터엔진 Operator 2.2 이상에서 자동으로 가져옵니다.로컬 클러스터에대한 자세한 내용은 고급 구성을 참조하십시오. 다음 명령을 실행하여 hub 클러스터의 상태를 확인할 수 있습니다.oc get managedclusters local-cluster
oc get managedclusters local-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow - HyperShift Operator를 실행하기 위해 작업자 노드가 3개 이상인 호스팅 클러스터입니다.
1.7.1.2. Amazon Web Services S3 OIDC 시크릿 생성 링크 복사링크가 클립보드에 복사되었습니다!
AWS에서 호스팅 클러스터를 생성하고 관리하려면 다음 단계를 완료하십시오.
-
HyperShift Operator에 대해
hypershift-operator-oidc-provider-s3-credentials라는 OIDC S3 시크릿을 생성합니다. -
local-cluster네임스페이스에 보안을 저장합니다. 다음 표를 참조하여 시크릿에 다음 필드가 포함되어 있는지 확인합니다.
Expand 필드 이름 설명 bucket호스트 OIDC 검색 문서에 대한 공용 액세스 권한이 있는 S3 버킷이 포함되어 있습니다.
credentials버킷에 액세스할 수 있는
기본프로필의 자격 증명이 포함된 파일에 대한 참조입니다. 기본적으로 HyperShift는기본프로필만 사용하여버킷을 작동합니다.regionS3 버킷의 리전을 지정합니다.
보안에 대한 자세한 내용은 HyperShift 설명서에서 시작하기 를 참조하십시오. 다음 예제에서는 샘플 AWS 시크릿 템플릿을 보여줍니다.
oc create secret generic hypershift-operator-oidc-provider-s3-credentials --from-file=credentials=$HOME/.aws/credentials --from-literal=bucket=<s3-bucket-for-hypershift> --from-literal=region=<region> -n local-cluster
oc create secret generic hypershift-operator-oidc-provider-s3-credentials --from-file=credentials=$HOME/.aws/credentials --from-literal=bucket=<s3-bucket-for-hypershift> --from-literal=region=<region> -n local-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 시크릿에 대한 재해 복구 백업은 자동으로 활성화되지 않습니다. 다음 명령을 실행하여 재해 복구를 위해
hypershift-operator-oidc-provider-s3-credentials보안을 백업할 수 있는 레이블을 추가합니다.oc label secret hypershift-operator-oidc-provider-s3-credentials -n local-cluster cluster.open-cluster-management.io/backup=true
oc label secret hypershift-operator-oidc-provider-s3-credentials -n local-cluster cluster.open-cluster-management.io/backup=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.1.3. 라우팅 가능한 퍼블릭 영역 생성 링크 복사링크가 클립보드에 복사되었습니다!
게스트 클러스터의 애플리케이션에 액세스하려면 퍼블릭 영역을 라우팅할 수 있어야 합니다. 퍼블릭 영역이 있는 경우 이 단계를 건너뜁니다. 그렇지 않으면 퍼블릭 영역이 기존 기능에 영향을 미칩니다.
다음 명령을 실행하여 클러스터 DNS 레코드에 대한 퍼블릭 영역을 생성합니다.
BASE_DOMAIN=www.example.com aws route53 create-hosted-zone --name $BASE_DOMAIN --caller-reference $(whoami)-$(date --rfc-3339=date)
BASE_DOMAIN=www.example.com
aws route53 create-hosted-zone --name $BASE_DOMAIN --caller-reference $(whoami)-$(date --rfc-3339=date)
1.7.1.4. 외부 DNS 활성화 링크 복사링크가 클립보드에 복사되었습니다!
서비스 수준 DNS(외부 DNS)를 사용하여 호스트 컨트롤 플레인 클러스터를 프로비저닝하려면 다음 단계를 완료합니다.
-
HyperShift Operator의 AWS 인증 정보 시크릿을 생성하고
local-cluster네임스페이스에서hypershift-operator-external-dns-credentials이름을 지정합니다. 다음 표를 참조하여 시크릿에 필수 필드가 포함되어 있는지 확인합니다.
Expand 필드 이름 설명 선택적 또는 필수 공급자서비스 수준 DNS 영역을 관리하는 DNS 공급자입니다.
필수 항목
domain-filter서비스 수준 도메인입니다.
필수 항목
credentials모든 외부 DNS 유형을 지원하는 자격 증명 파일입니다.
AWS 키를 사용하는 경우 선택 사항
aws-access-key-id인증 정보 액세스 키 ID입니다.
AWS DNS 서비스를 사용하는 경우 선택 사항
aws-secret-access-key인증 정보 액세스 키 시크릿입니다.
AWS DNS 서비스를 사용하는 경우 선택 사항
자세한 내용은 HyperShift 설명서에서 외부 DNS 를 참조하십시오. 다음 예제에서는 샘플
hypershift-operator-external-dns-credentials시크릿 템플릿을 보여줍니다.oc create secret generic hypershift-operator-external-dns-credentials --from-literal=provider=aws --from-literal=domain-filter=service.my.domain.com --from-file=credentials=<credentials-file> -n local-cluster
oc create secret generic hypershift-operator-external-dns-credentials --from-literal=provider=aws --from-literal=domain-filter=service.my.domain.com --from-file=credentials=<credentials-file> -n local-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 시크릿에 대한 재해 복구 백업은 자동으로 활성화되지 않습니다. 다음 명령을 실행하여 재해 복구를 위해
hypershift-operator-external-dns-credentials보안을 백업할 수 있는 레이블을 추가합니다.oc label secret hypershift-operator-external-dns-credentials -n local-cluster cluster.open-cluster-management.io/backup=""
oc label secret hypershift-operator-external-dns-credentials -n local-cluster cluster.open-cluster-management.io/backup=""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.1.5. AWS PrivateLink 활성화 링크 복사링크가 클립보드에 복사되었습니다!
PrivateLink를 사용하여 AWS 플랫폼에서 호스팅된 컨트롤 플레인 클러스터를 프로비저닝하려면 다음 단계를 완료하십시오.
-
HyperShift Operator에 대한 AWS 인증 정보 시크릿을 생성하고 이름을
hypershift-operator-private-link-credentials로 지정합니다. 보안은 호스팅 클러스터로 사용되는 관리 대상 클러스터의 네임스페이스인 관리형 클러스터 네임스페이스에 있어야 합니다.local-cluster를 사용한 경우local-cluster네임스페이스에 보안을 생성합니다. 다음 표를 참조하여 시크릿에 필수 필드가 포함되어 있는지 확인합니다.
Expand 필드 이름
설명
선택적 또는 필수
regionPrivate Link와 함께 사용할 리전
필수 항목
aws-access-key-id인증 정보 액세스 키 ID입니다.
필수 항목
aws-secret-access-key인증 정보 액세스 키 시크릿입니다.
필수 항목
자세한 내용은 HyperShift 설명서에서 AWS 개인 클러스터 배포 단원을 참조하십시오. 다음 예제는 샘플
hypershift-operator-private-link-credentials시크릿 템플릿을 보여줍니다.oc create secret generic hypershift-operator-private-link-credentials --from-literal=aws-access-key-id=<aws-access-key-id> --from-literal=aws-secret-access-key=<aws-secret-access-key> --from-literal=region=<region> -n local-cluster
oc create secret generic hypershift-operator-private-link-credentials --from-literal=aws-access-key-id=<aws-access-key-id> --from-literal=aws-secret-access-key=<aws-secret-access-key> --from-literal=region=<region> -n local-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 시크릿에 대한 재해 복구 백업은 자동으로 활성화되지 않습니다. 다음 명령을 실행하여 재해 복구를 위해
hypershift-operator-private-link-credentials보안을 백업할 수 있는 레이블을 추가합니다.oc label secret hypershift-operator-private-link-credentials -n local-cluster cluster.open-cluster-management.io/backup=""
oc label secret hypershift-operator-private-link-credentials -n local-cluster cluster.open-cluster-management.io/backup=""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.1.6. 호스팅된 컨트롤 플레인 기능 활성화 링크 복사링크가 클립보드에 복사되었습니다!
호스팅된 컨트롤 플레인 기능은 기본적으로 비활성화되어 있습니다. 기능을 활성화하면 hypershift-addon 관리 클러스터 애드온도 자동으로 활성화됩니다. 다음 명령을 실행하여 기능을 활성화할 수 있습니다.
oc patch mce multiclusterengine --type=merge -p '{"spec":{"overrides":{"components":[{"name":"hypershift-preview","enabled": true}]}}}'
oc patch mce multiclusterengine --type=merge -p '{"spec":{"overrides":{"components":[{"name":"hypershift-preview","enabled": true}]}}}'
다음 명령을 실행하여 MultiClusterEngine 사용자 정의 리소스에서 hypershift-preview 및 hypershift-local-hosting 기능이 활성화되어 있는지 확인합니다.
oc get mce multiclusterengine -o yaml
oc get mce multiclusterengine -o yaml
1.7.1.6.1. 로컬 클러스터에 대해 hypershift-addon 관리 클러스터 애드온 수동 활성화 링크 복사링크가 클립보드에 복사되었습니다!
호스팅된 컨트롤 플레인 기능을 활성화하면 hypershift-addon 관리 클러스터 애드온이 자동으로 활성화됩니다. hypershift-addon 관리 클러스터 애드온을 수동으로 활성화해야 하는 경우 hypershift-addon 을 사용하여 로컬 클러스터에 HyperShift Operator를 설치하려면 다음 단계를 완료합니다.
다음 예와 유사한 파일을 생성하여
ManagedClusterAddonHyperShift 애드온을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 파일을 적용합니다.
oc apply -f <filename>
oc apply -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일이름을 생성한 파일의 이름으로 바꿉니다.다음 명령을 실행하여
hypershift-addon이 설치되었는지 확인합니다.oc get managedclusteraddons -n local-cluster hypershift-addon
oc get managedclusteraddons -n local-cluster hypershift-addonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 추가 기능이 설치된 경우 출력은 다음 예와 유사합니다.
NAME AVAILABLE DEGRADED PROGRESSING hypershift-addon True
NAME AVAILABLE DEGRADED PROGRESSING hypershift-addon TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
HyperShift 애드온이 설치되어 호스팅 클러스터를 생성하고 관리할 수 있습니다.
1.7.1.7. 호스팅된 컨트롤 플레인 CLI 설치 링크 복사링크가 클립보드에 복사되었습니다!
호스팅된 컨트롤 플레인(HyperShift) CLI는 OpenShift Container Platform 호스팅 컨트롤 플레인 클러스터를 생성하고 관리하는 데 사용됩니다. 호스팅된 컨트롤 플레인 기능을 활성화한 후 다음 단계를 완료하여 호스팅된 컨트롤 플레인 CLI를 설치할 수 있습니다.
- OpenShift Container Platform 콘솔에서 도움말 아이콘 > 명령줄 툴 을 클릭합니다.
플랫폼에 대해 Hypershift CLI 다운로드를 클릭합니다.
참고:
hypershift-preview기능을 활성화한 경우에만 다운로드가 표시됩니다.다음 명령을 실행하여 다운로드한 아카이브의 압축을 풉니다.
tar xvzf hypershift.tar.gz
tar xvzf hypershift.tar.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 바이너리 파일을 실행 가능하게 합니다.
chmod +x hypershift
chmod +x hypershiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 바이너리 파일을 경로의 디렉터리로 이동합니다.
sudo mv hypershift /usr/local/bin/.
sudo mv hypershift /usr/local/bin/.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 hypershift create cluster 명령을 사용하여 호스팅 클러스터를 생성하고 관리할 수 있습니다. 다음 명령을 사용하여 사용 가능한 매개변수를 나열합니다.
hypershift create cluster aws --help
hypershift create cluster aws --help
1.7.1.8. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- S3 OIDC 보안에 대한 자세한 내용은 HyperShift 설명서에서 시작하기 를 참조하십시오.
- AWS 인증 정보 시크릿에 대한 자세한 내용은 HyperShift 설명서에서 AWS 프라이빗 클러스터 배포를 참조하십시오.
- 외부 DNS에 대한 자세한 내용은 HyperShift 설명서의 외부 DNS 를 참조하십시오.
- 이제 SR-IOV Operator를 배포할 수 있습니다. SR-IOV Operator 배포에 대한 자세한 내용은 호스팅 컨트롤 플레인 의 SR-IOV Operator 배포를 참조하십시오.
1.7.2. AWS에서 호스트된 컨트롤 플레인 클러스터 관리 (기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes Operator 콘솔의 다중 클러스터 엔진을 사용하여 Red Hat OpenShift Container Platform 호스트 클러스터를 생성할 수 있습니다. 호스트된 컨트롤 플레인은 AWS(Amazon Web Services)에서 기술 프리뷰로 사용할 수 있습니다. AWS에서 호스팅된 컨트롤 플레인을 사용하는 경우 콘솔을 사용하여 호스팅된 클러스터를 생성하거나 콘솔 또는 명령줄 인터페이스를 사용하여 호스팅된 클러스터를 가져올 수 있습니다.
1.7.2.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
호스트된 컨트롤 플레인 클러스터를 생성하기 전에 호스트된 컨트롤 플레인을 구성해야 합니다. 자세한 내용은 호스팅된 컨트롤 플레인 구성(기술 프리뷰) 을 참조하십시오.
1.7.2.2. 콘솔을 사용하여 AWS에서 호스팅 컨트롤 플레인 클러스터 생성 링크 복사링크가 클립보드에 복사되었습니다!
멀티 클러스터 엔진 Operator 콘솔에서 호스팅된 컨트롤 플레인 클러스터를 생성하려면 Infrastructure > Clusters 로 이동합니다. 클러스터 페이지에서 클러스터 > 호스트 인벤토리 만들기 > 호스팅을 클릭하고 콘솔의 단계를 완료합니다.
중요: 클러스터를 생성할 때 다중 클러스터 엔진 Operator 컨트롤러에서 클러스터와 해당 리소스의 네임스페이스를 생성합니다. 해당 네임스페이스에 해당 클러스터 인스턴스의 리소스만 포함해야 합니다. 클러스터를 삭제하면 네임스페이스와 그 안에 있는 모든 리소스가 삭제됩니다.
YAML: On 을 선택하여 콘솔에 정보를 입력할 때 콘텐츠 업데이트를 확인합니다.
기존 클러스터 세트에 클러스터를 추가하려면 클러스터에 대한 올바른 권한이 있어야 합니다. 클러스터를 생성할 때 cluster-admin 권한이 없는 경우 clusterset-admin 권한이 있는 클러스터를 선택해야 합니다. 지정된 클러스터 세트에 대한 올바른 권한이 없으면 클러스터 생성에 실패합니다. 선택할 클러스터 설정 옵션이 없는 경우 clusterset-admin 권한을 제공하려면 클러스터 관리자에게 문의하십시오.
관리되는 모든 클러스터는 관리형 클러스터 세트와 연결되어야 합니다. 관리 클러스터를 ManagedClusterSet 에 할당하지 않으면 기본 관리 클러스터 세트에 자동으로 추가됩니다.
릴리스 이미지는 클러스터를 생성하는 데 사용되는 OpenShift Container Platform 이미지의 버전을 식별합니다. 호스트된 컨트롤 플레인 클러스터는 제공된 릴리스 이미지 중 하나를 사용해야 합니다.
인프라 환경에서 제공되는 프록시 정보는 프록시 필드에 자동으로 추가됩니다. 기존 정보를 사용하거나 덮어쓰거나 프록시를 활성화하려면 정보를 추가할 수 있습니다. 다음 목록에는 프록시 생성에 필요한 정보가 포함되어 있습니다.
-
HTTP 프록시 URL:
HTTP트래픽의 프록시로 사용해야 하는 URL입니다. -
HTTPS 프록시 URL:
HTTPS트래픽에 사용해야 하는 보안 프록시 URL입니다. 값을 제공하지 않으면HTTP및HTTPS모두에 대해HTTP 프록시 URL과 동일한 값이 사용됩니다. -
프록시 도메인이 없음: 프록시를 바이패스해야 하는 쉼표로 구분된 도메인 목록입니다. 해당 도메인에 있는 모든 하위 도메인을 포함하려면 마침표로 도메인 이름을 시작합니다
.모든 대상에 대한 프록시를 바이패스하려면 별표*를 추가합니다. - 추가 신뢰 번들: 미러 레지스트리에 액세스하는 데 필요한 인증서 파일의 콘텐츠입니다.
클러스터를 생성하기 전에 정보를 검토하고 선택적으로 사용자 지정할 때 YAML: On 을 선택하여 패널의 YAML 콘텐츠를 볼 수 있습니다. 업데이트가 있는 경우 사용자 지정 설정으로 YAML 파일을 편집할 수 있습니다.
참고: 클러스터를 가져오려면 클러스터 세부 정보와 함께 제공되는 oc 명령을 실행해야 합니다. 클러스터를 생성할 때 Red Hat Advanced Cluster Management의 관리로 자동 구성되지 않습니다.
1.7.2.3. AWS에 호스트 클러스터 배포 링크 복사링크가 클립보드에 복사되었습니다!
호스팅된 컨트롤 플레인(Hypershift) 명령줄 인터페이스를 설정하고 호스팅 클러스터로 로컬 클러스터를 활성화한 후 다음 단계를 완료하여 AWS에 호스트 클러스터를 배포할 수 있습니다.
다음과 같이 환경 변수를 설정하여 필요에 따라 변수를 인증 정보로 교체합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLUSTER_NAME및INFRA_ID가 동일한 값이 있는지 확인합니다. 그러지 않으면 Kubernetes Operator 콘솔의 멀티 클러스터 엔진에 클러스터가 올바르게 표시되지 않을 수 있습니다. 각 변수에 대한 설명을 보려면 다음 명령을 실행합니다.hypershift create cluster aws --help
hypershift create cluster aws --helpCopy to Clipboard Copied! Toggle word wrap Toggle overflow - hub 클러스터에 로그인했는지 확인합니다.
다음 명령을 실행하여 호스트된 클러스터를 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 기본적으로 모든
HostedCluster및NodePool사용자 정의 리소스가클러스터네임스페이스에 생성됩니다.--namespace <namespace> 매개변수를 지정하면 선택한 네임스페이스에HostedCluster및NodePool사용자 정의 리소스가 생성됩니다.다음 명령을 실행하여 호스팅된 클러스터의 상태를 확인할 수 있습니다.
oc get hostedclusters -n <hypershift-hosting-service-cluster>
oc get hostedclusters -n <hypershift-hosting-service-cluster>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.2.4. AWS에서 호스팅 컨트롤 플레인 클러스터 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
콘솔을 사용하여 호스트된 컨트롤 플레인 클러스터를 가져올 수 있습니다.
- Infrastructure > Clusters 로 이동하여 가져올 호스트 클러스터를 선택합니다.
Import hosted cluster 를 클릭합니다.
참고: 검색된 호스트 클러스터의 경우 콘솔에서 가져올 수도 있지만 클러스터는 업그레이드 가능한 상태여야 합니다. 호스팅 컨트롤 플레인을 사용할 수 없기 때문에 호스팅된 클러스터가 업그레이드 가능한 상태가 아닌 경우 클러스터에서 가져오기가 비활성화됩니다. Import (가져오기)를 클릭하여 프로세스를 시작합니다. 클러스터가 업데이트를 수신하는 동안 상태가
Importing된 후Ready로 변경됩니다.
다음 단계를 완료하여 명령줄 인터페이스를 사용하여 AWS에서 호스팅 컨트롤 플레인 클러스터를 가져올 수도 있습니다.
다음 명령을 실행하여
HostedCluster사용자 정의 리소스에 주석을 추가합니다.oc edit hostedcluster <cluster_name> -n clusters
oc edit hostedcluster <cluster_name> -n clustersCopy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;cluster_name>을 호스트 클러스터 이름으로 바꿉니다.다음 명령을 실행하여
HostedCluster사용자 정의 리소스에 주석을 추가합니다.cluster.open-cluster-management.io/hypershiftdeployment: local-cluster/<cluster_name> cluster.open-cluster-management.io/managedcluster-name: <cluster_name>
cluster.open-cluster-management.io/hypershiftdeployment: local-cluster/<cluster_name> cluster.open-cluster-management.io/managedcluster-name: <cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;cluster_name>을 호스트 클러스터 이름으로 바꿉니다.다음 샘플 YAML 파일을 사용하여
ManagedCluster리소스를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;cluster_name>을 호스트 클러스터 이름으로 바꿉니다.다음 명령을 실행하여 리소스를 적용합니다.
oc apply -f <file_name>
oc apply -f <file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <file_name>을 이전 단계에서 생성한 YAML 파일 이름으로 바꿉니다.
다음 샘플 YAML 파일을 사용하여
KlusterletAddonConfig리소스를 생성합니다. 이는 Red Hat Advanced Cluster Management에만 적용됩니다. 다중 클러스터 엔진 Operator만 설치한 경우 다음 단계를 건너뜁니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;cluster_name>을 호스트 클러스터 이름으로 바꿉니다.다음 명령을 실행하여 리소스를 적용합니다.
oc apply -f <file_name>
oc apply -f <file_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <file_name>을 이전 단계에서 생성한 YAML 파일 이름으로 바꿉니다.
가져오기 프로세스가 완료되면 호스트된 클러스터가 콘솔에 표시됩니다. 다음 명령을 실행하여 호스팅된 클러스터의 상태를 확인할 수도 있습니다.
oc get managedcluster <cluster_name>
oc get managedcluster <cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.2.5. AWS의 호스팅 클러스터에 액세스 링크 복사링크가 클립보드에 복사되었습니다!
호스팅된 컨트롤 플레인 클러스터의 액세스 보안은 hypershift-management-cluster 네임스페이스에 저장됩니다. 다음 보안 이름 형식에 대해 알아봅니다.
-
kubeconfigsecret: <hostingNamespace>-<name>-admin-kubeconfig(clusters-hypershift-demo-admin-kubeconfig) -
kubeadmin암호 보안: <hostingNamespace>-<name>-kubeadmin-password(clusters-hypershift-demo-kubeadmin-password)
1.7.2.6. ARM64 OpenShift Container Platform 클러스터에서 호스트된 컨트롤 플레인 활성화 링크 복사링크가 클립보드에 복사되었습니다!
ARM64 호스팅 컨트롤 플레인을 활성화하여 관리 클러스터 환경에서 OpenShift Container Platform ARM64 데이터 플레인에서 작동할 수 있습니다. 이 기능은 AWS의 호스팅 컨트롤 플레인에서만 사용할 수 있습니다.
1.7.2.6.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
시작하기 전에 다음 사전 요구 사항을 충족해야 합니다.
- 64비트 ARM 인프라에 설치된 OpenShift Container Platform 클러스터가 있어야 합니다. 자세한 내용은 Create an OpenShift Cluster: AWS (ARM) 를 참조하십시오.
-
64비트 ARM 인프라를 기반으로 하는 HyperShift Operator가 있어야 합니다. Hyper shift/hypershift-operator 리포지토리로 이동하고
4.13-arm64 태그가 있는 빌드를 선택하여 HyperShift Operator를 가져올 수 있습니다.
ARM64 OpenShift Container Platform 클러스터에서 호스팅된 클러스터를 실행하려면 다음 단계를 따르십시오.
관리 클러스터에 ARM64용 HyperShift Operator를 설치하여 기본 HyperShift Operator 이미지를 재정의합니다.
예를 들어 호스트된 컨트롤 플레인(
hypershift) 명령줄 인터페이스를 통해 다음 명령을 입력합니다. 버킷 이름, AWS 인증 정보 및 리전을 정보로 교체하십시오.hypershift install \ --oidc-storage-provider-s3-bucket-name $BUCKET_NAME \ --oidc-storage-provider-s3-credentials $AWS_CREDS \ --oidc-storage-provider-s3-region $REGION \ --hypershift-image quay.io/hypershift/hypershift-operator:4.13-arm64
hypershift install \ --oidc-storage-provider-s3-bucket-name $BUCKET_NAME \ --oidc-storage-provider-s3-credentials $AWS_CREDS \ --oidc-storage-provider-s3-region $REGION \ --hypershift-image quay.io/hypershift/hypershift-operator:4.13-arm64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다중 아키텍처 릴리스 이미지로 기본 릴리스 이미지를 재정의하는 호스트 클러스터를 생성합니다.
예를 들어 호스트된 컨트롤 플레인(
hypershift) 명령줄 인터페이스를 통해 다음 명령을 입력합니다. 이 명령을 입력하여 클러스터 이름, 노드 풀 복제본, 기본 도메인, 풀 시크릿, AWS 인증 정보 및 리전을 정보로 교체하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는
--node-pool-replicas플래그를 통해 기본NodePool오브젝트를 추가합니다.호스트된 클러스터에 64비트 x86
NodePool개체를 추가합니다.예를 들어 호스트된 컨트롤 플레인(
hypershift) 명령줄 인터페이스를 통해 다음 명령을 입력합니다. 클러스터 이름, 노드 풀 이름 및 노드 풀 복제본을 사용자의 정보로 교체하십시오.hypershift create nodepool aws \ --cluster-name $CLUSTER_NAME \ --name $NODEPOOL_NAME \ --node-count=$NODEPOOL_REPLICAS
hypershift create nodepool aws \ --cluster-name $CLUSTER_NAME \ --name $NODEPOOL_NAME \ --node-count=$NODEPOOL_REPLICASCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.2.7. AWS에서 호스트 클러스터 삭제 링크 복사링크가 클립보드에 복사되었습니다!
호스팅 클러스터 및 관리되는 클러스터 리소스를 제거하려면 다음 단계를 완료합니다.
다음 명령을 실행하여 호스팅 클러스터 및 해당 백엔드 리소스를 삭제합니다.
hypershift destroy cluster aws --name <cluster_name> --infra-id <infra_id> --aws-creds <aws-credentials> --base-domain <base_domain> --destroy-cloud-resources
hypershift destroy cluster aws --name <cluster_name> --infra-id <infra_id> --aws-creds <aws-credentials> --base-domain <base_domain> --destroy-cloud-resourcesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 경우 이름을 바꿉니다.
다음 명령을 실행하여 다중 클러스터 엔진 Operator에서 관리형 클러스터 리소스를 삭제합니다.
oc delete managedcluster <cluster_name>
oc delete managedcluster <cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster_name을 클러스터 이름으로 바꿉니다.
1.7.3. 베어 메탈에서 호스팅 클러스터 구성 (기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
호스팅 컨트롤 플레인을 구성하려면 호스팅 클러스터 및 호스트 클러스터가 필요합니다. hypershift-addon 관리 클러스터 애드온을 사용하여 기존 관리 클러스터에 HyperShift Operator를 배포하면 해당 클러스터를 호스팅 클러스터로 활성화하고 호스팅 클러스터 생성을 시작할 수 있습니다.
멀티 클러스터 엔진 Operator 2.2는 호스팅 클러스터로 기본 로컬 클러스터 및 허브 클러스터만 지원합니다.
호스트된 컨트롤 플레인은 기술 프리뷰 기능이므로 관련 구성 요소는 기본적으로 비활성화되어 있습니다. AWS(Amazon Web Services)에서 호스팅 컨트롤 플레인을 활성화하는 방법에 대한 자세한 내용은 다음 주제를 참조하십시오.
호스팅 클러스터로 작동하도록 기존 클러스터를 구성하여 호스팅 컨트롤 플레인을 배포할 수 있습니다. 호스팅 클러스터는 컨트롤 플레인이 호스팅되는 {ocp-cluster} 클러스터입니다.
Red Hat Advanced Cluster Management 2.7 사용자는 호스팅 클러스터로 로컬 클러스터라고도 하는 관리형 허브 클러스터를 사용할 수 있습니다. 로컬 클러스터를 호스팅 클러스터로 구성하는 방법을 알아보려면 다음 주제를 참조하십시오.
중요:
- 호스팅된 컨트롤 플레인과 동일한 플랫폼에서 hub 클러스터 및 작업자를 실행합니다.
- 베어 메탈에서 호스트된 컨트롤 플레인을 프로비저닝하려면 에이전트 플랫폼을 사용할 수 있습니다. 에이전트 플랫폼은 CIM(Central Infrastructure Management) 서비스를 사용하여 호스트된 클러스터에 작업자 노드를 추가합니다.
-
각 베어 메탈 호스트는 CIM에서 제공하는 검색 이미지를 사용하여 시작해야 합니다.
Cluster-Baremetal-Operator를 사용하여 수동으로 또는 자동화를 통해 호스트를 시작할 수 있습니다. 각 호스트가 시작되면 에이전트 프로세스를 실행하여 호스트 세부 정보를 검색하고 설치를 완료합니다.에이전트사용자 정의 리소스는 각 호스트를 나타냅니다. - 에이전트 플랫폼으로 호스트된 클러스터를 생성할 때 HyperShift는 호스트된 컨트롤 플레인 네임스페이스에 에이전트 클러스터 API 공급자를 설치합니다.
- 노드 풀을 확장하면 머신이 생성됩니다. Cluster API 공급자는 승인된 에이전트를 찾고, 검증을 통과하고, 현재 사용되지 않고, 노드 풀 사양에 지정된 요구 사항을 충족합니다. 상태 및 조건을 확인하여 에이전트 설치를 모니터링할 수 있습니다.
- 노드 풀을 축소하면 에이전트가 해당 클러스터에서 바인딩되지 않습니다. 클러스터를 재사용하려면 먼저 Discovery 이미지를 사용하여 노드 수를 업데이트하여 클러스터를 다시 시작해야 합니다.
1.7.3.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
호스팅 클러스터를 구성하려면 다음 사전 요구 사항이 있어야 합니다.
- Kubernetes operator 2.2 이상은 OpenShift Container Platform 클러스터에 설치되어 있어야 합니다. Red Hat Advanced Cluster Management를 설치하면 다중 클러스터 엔진 Operator가 자동으로 설치됩니다. OpenShift Container Platform OperatorHub에서 Operator로 Red Hat Advanced Cluster Management 없이 다중 클러스터 엔진 Operator를 설치할 수도 있습니다.
멀티 클러스터 엔진 Operator에 하나 이상의 관리형 OpenShift Container Platform 클러스터가 있어야 합니다.
로컬 클러스터는 멀티 클러스터엔진 Operator 2.2 이상에서 자동으로 가져옵니다.로컬 클러스터에대한 자세한 내용은 고급 구성을 참조하십시오. 다음 명령을 실행하여 hub 클러스터의 상태를 확인할 수 있습니다.oc get managedclusters local-cluster
oc get managedclusters local-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow - HyperShift Operator를 실행하려면 작업자 노드가 3개 이상인 호스팅 클러스터가 있어야 합니다.
- 호스팅된 컨트롤 플레인 기능을 활성화해야 합니다. 자세한 내용은 호스팅된 컨트롤 플레인 기능 활성화를 참조하십시오.
1.7.3.2. DNS 구성 링크 복사링크가 클립보드에 복사되었습니다!
호스트된 클러스터의 API 서버는 NodePort 서비스로 노출됩니다. API 서버에 도달할 수 있는 대상을 가리키는 api.${HOSTED_CLUSTER_NAME}.${BASEDOMAIN} 에 대한 DNS 항목이 있어야 합니다.
DNS 항목은 호스팅 컨트롤 플레인을 실행 중인 관리형 클러스터의 노드 중 하나를 가리키는 레코드만큼 간단할 수 있습니다. 이 항목은 들어오는 트래픽을 수신 pod로 리디렉션하기 위해 배포된 로드 밸런서를 가리킬 수도 있습니다.
다음 DNS 구성 예를 참조하십시오.
1.7.3.3. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- CIM 서비스에 대한 소개는 Kube API - 시작하기 가이드를 참조하십시오.
- 로드 밸런서에 대한 자세한 내용은 사용자 프로비저닝 인프라에 대한 로드 밸런싱 요구 사항을 참조하십시오.
- 이제 SR-IOV Operator를 배포할 수 있습니다. SR-IOV Operator 배포에 대한 자세한 내용은 호스팅 컨트롤 플레인 의 SR-IOV Operator 배포를 참조하십시오.
1.7.4. 베어 메탈에서 호스트된 컨트롤 플레인 클러스터 관리 (기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes Operator 콘솔의 다중 클러스터 엔진을 사용하여 Red Hat OpenShift Container Platform 호스트 클러스터를 생성하고 관리할 수 있습니다. 호스트된 컨트롤 플레인은 AWS(Amazon Web Services) 및 베어 메탈에서 기술 프리뷰로 사용할 수 있습니다.
1.7.4.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
호스트된 컨트롤 플레인 클러스터를 생성하기 전에 베어 메탈에 호스트된 컨트롤 플레인을 구성해야 합니다. 자세한 내용은 베어 메탈에서 호스팅 클러스터 구성(기술 프리뷰) 을 참조하십시오.
1.7.4.2. 베어 메탈에서 호스트된 클러스터 생성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터에 기본 스토리지 클래스가 구성되어 있는지 확인합니다. 그렇지 않으면 보류 중인 PVC로 끝날 수 있습니다.
다음 명령을 입력합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 잠시 후 다음 명령을 입력하여 호스팅 컨트롤 플레인 Pod가 실행 중인지 확인합니다.
oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get podsoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.4.3. InfraEnv 생성 링크 복사링크가 클립보드에 복사되었습니다!
InfraEnv 는 라이브 ISO를 시작하는 호스트가 에이전트로 참여할 수 있는 환경입니다. 이 경우 에이전트는 호스트 컨트롤 플레인과 동일한 네임스페이스에 생성됩니다.
InfraEnv를 만들려면 다음 명령을 입력합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 가상 머신 또는 베어 메탈 머신이 에이전트로 참여할 수 있는 라이브 ISO를 생성하려면 다음 명령을 입력합니다.
oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get InfraEnv ${HOSTED_CLUSTER_NAME} -ojsonpath="{.status.isoDownloadURL}"oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get InfraEnv ${HOSTED_CLUSTER_NAME} -ojsonpath="{.status.isoDownloadURL}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.4.4. 에이전트 추가 링크 복사링크가 클립보드에 복사되었습니다!
라이브 ISO로 시작하거나 Metal3을 사용하여 머신을 수동으로 구성하여 에이전트를 추가할 수 있습니다.
에이전트를 수동으로 추가하려면 다음 단계를 수행합니다.
-
라이브 ISO를 다운로드하여 이를 사용하여 노드를 시작합니다(베어 메탈 또는 VM). 시작 시 노드는 지원 서비스와 통신하고
InfraEnv와 동일한 네임스페이스에 있는 에이전트로 등록합니다. 각 에이전트가 생성되면 선택적으로 사양에
installation_disk_id및hostname을 설정할 수 있습니다. 그런 다음 이를 승인하여 에이전트가 사용할 준비가 되었음을 나타냅니다.oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentsoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CLUSTER APPROVED ROLE STAGE 86f7ac75-4fc4-4b36-8130-40fa12602218 auto-assign e57a637f-745b-496e-971d-1abbf03341ba auto-assign
NAME CLUSTER APPROVED ROLE STAGE 86f7ac75-4fc4-4b36-8130-40fa12602218 auto-assign e57a637f-745b-496e-971d-1abbf03341ba auto-assignCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} patch agent 86f7ac75-4fc4-4b36-8130-40fa12602218 -p '{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-0.example.krnl.es"}}' --type merge oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} patch agent 23d0c614-2caa-43f5-b7d3-0b3564688baa -p '{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-1.example.krnl.es"}}' --type mergeoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} patch agent 86f7ac75-4fc4-4b36-8130-40fa12602218 -p '{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-0.example.krnl.es"}}' --type merge oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} patch agent 23d0c614-2caa-43f5-b7d3-0b3564688baa -p '{"spec":{"installation_disk_id":"/dev/sda","approved":true,"hostname":"worker-1.example.krnl.es"}}' --type mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentsoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CLUSTER APPROVED ROLE STAGE 86f7ac75-4fc4-4b36-8130-40fa12602218 true auto-assign e57a637f-745b-496e-971d-1abbf03341ba true auto-assign
NAME CLUSTER APPROVED ROLE STAGE 86f7ac75-4fc4-4b36-8130-40fa12602218 true auto-assign e57a637f-745b-496e-971d-1abbf03341ba true auto-assignCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
라이브 ISO를 다운로드하여 이를 사용하여 노드를 시작합니다(베어 메탈 또는 VM). 시작 시 노드는 지원 서비스와 통신하고
Metal3을 사용하여 에이전트를 추가하려면 다음 지침을 따르십시오.
Assisted Service를 사용하여 사용자 정의 ISO 및 Baremetal Operator를 생성하여 설치를 수행합니다.
중요:
BaremetalHost오브젝트가 baremetal-operator 네임스페이스 외부에서 생성되므로 모든 네임스페이스를 조사하도록 Operator를 구성해야 합니다.oc patch provisioning provisioning-configuration --type merge -p '{"spec":{"watchAllNamespaces": true }}'oc patch provisioning provisioning-configuration --type merge -p '{"spec":{"watchAllNamespaces": true }}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow metal3Pod는openshift-machine-api네임스페이스에서 다시 시작됩니다.metal3Pod가 다시 준비될 때까지 기다립니다.until oc wait -n openshift-machine-api $(oc get pods -n openshift-machine-api -l baremetal.openshift.io/cluster-baremetal-operator=metal3-state -o name) --for condition=containersready --timeout 10s >/dev/null 2>&1 ; do sleep 1 ; done
until oc wait -n openshift-machine-api $(oc get pods -n openshift-machine-api -l baremetal.openshift.io/cluster-baremetal-operator=metal3-state -o name) --for condition=containersready --timeout 10s >/dev/null 2>&1 ; do sleep 1 ; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow BaremetalHost 오브젝트를 생성합니다. 베어 메탈 노드를 시작하는 데 필요한 몇 가지 변수를 구성해야 합니다.
-
BMC_USERNAME: BMC에 연결할 사용자 이름입니다. -
BMC_PASSWORD: BMC에 연결할 암호입니다. -
BMC_IP: Metal3에서 BMC에 연결하는 데 사용하는 IP입니다. -
WORKER_NAME: BaremetalHost 오브젝트의 이름(이 값은 호스트 이름으로도 사용) -
BOOT_MAC_ADDRESS: MachineNetwork에 연결된 NIC의 MAC 주소입니다. -
UUID: Redfish UUID, 일반적으로1입니다. sushy-tools를 사용하는 경우 이 값은 긴 UUID입니다. iDrac를 사용하는 경우 이 값은System.Embedded.1입니다. 판매자에게 확인해야 할 수도 있습니다. -
REDFISH_SCHEME: 사용할 Redfish 공급자입니다. 표준 Redfish 구현을 사용하는 하드웨어를 사용하는 경우 이 값을redfish-virtualmedia로 설정할 수 있습니다. iDRAC는idrac-virtualmedia를 사용합니다. iLO5는ilo5-virtualmedia를 사용합니다. 판매자에게 확인해야 할 수도 있습니다. REDFISH: Redfish 연결 끝점.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
다음 단계를 수행하여 BaremetalHost를 생성합니다.
BMC 시크릿을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow BMH를 생성합니다.
참고:
infraenvs.agent-install.openshift.io레이블은 BMH를 시작하는 데 사용되는InfraEnv를 지정하는 데 사용됩니다.bmac.agent-install.openshift.io/hostname레이블은 호스트 이름을 수동으로 설정하는 데 사용됩니다.설치 디스크를 수동으로 지정하려면 BMH 사양에서
rootDeviceHints를 사용할 수 있습니다.rootDeviceHints가 제공되지 않으면 에이전트는 설치 요구 사항에 더 적합한 설치 디스크를 선택합니다.rootDeviceHints에 대한 자세한 내용은 BareMetalHost 설명서의 rootDeviceHints 섹션을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 에이전트가 자동으로 승인됩니다. 승인되지 않은 경우
bootMACAddress가 올바른지 확인합니다.BMH가 프로비저닝됩니다.
oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get bmhoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get bmhCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME STATE CONSUMER ONLINE ERROR AGE ocp-worker-0 provisioning true 2m50s
NAME STATE CONSUMER ONLINE ERROR AGE ocp-worker-0 provisioning true 2m50sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 결국 BMH는
프로비저닝된상태에 도달합니다.oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get bmhoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get bmhCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME STATE CONSUMER ONLINE ERROR AGE ocp-worker-0 provisioned true 72s
NAME STATE CONSUMER ONLINE ERROR AGE ocp-worker-0 provisioned true 72sCopy to Clipboard Copied! Toggle word wrap Toggle overflow provisioned는 노드가 virtualCD에서 시작하도록 올바르게 구성되었음을 의미합니다. 에이전트가 표시되는 데 다소 시간이 걸립니다.
oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CLUSTER APPROVED ROLE STAGE 4dac1ab2-7dd5-4894-a220-6a3473b67ee6 true auto-assign
NAME CLUSTER APPROVED ROLE STAGE 4dac1ab2-7dd5-4894-a220-6a3473b67ee6 true auto-assignCopy to Clipboard Copied! Toggle word wrap Toggle overflow 에이전트가 자동으로 승인됩니다.
나머지 두 노드에서 이 프로세스를 반복합니다.
oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CLUSTER APPROVED ROLE STAGE 4dac1ab2-7dd5-4894-a220-6a3473b67ee6 true auto-assign d9198891-39f4-4930-a679-65fb142b108b true auto-assign da503cf1-a347-44f2-875c-4960ddb04091 true auto-assign
NAME CLUSTER APPROVED ROLE STAGE 4dac1ab2-7dd5-4894-a220-6a3473b67ee6 true auto-assign d9198891-39f4-4930-a679-65fb142b108b true auto-assign da503cf1-a347-44f2-875c-4960ddb04091 true auto-assignCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.4.5. 호스트된 클러스터에 액세스 링크 복사링크가 클립보드에 복사되었습니다!
호스트된 컨트롤 플레인이 실행 중이며 에이전트는 호스팅된 클러스터에 참여할 준비가 되어 있습니다. 에이전트가 호스트된 클러스터에 참여하기 전에 호스트 클러스터에 액세스해야 합니다.
다음 명령을 입력하여 kubeconfig를 생성합니다.
hypershift create kubeconfig --namespace ${CLUSTERS_NAMESPACE} --name ${HOSTED_CLUSTER_NAME} > ${HOSTED_CLUSTER_NAME}.kubeconfighypershift create kubeconfig --namespace ${CLUSTERS_NAMESPACE} --name ${HOSTED_CLUSTER_NAME} > ${HOSTED_CLUSTER_NAME}.kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에 액세스하는 경우 노드가 없고 ClusterVersion에서 Red Hat OpenShift Container Platform 릴리스를 조정하려는 것을 확인할 수 있습니다.
oc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get clusterversion,nodesoc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get clusterversion,nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS clusterversion.config.openshift.io/version False True 8m6s Unable to apply 4.12z: some cluster operators have not yet rolled out
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS clusterversion.config.openshift.io/version False True 8m6s Unable to apply 4.12z: some cluster operators have not yet rolled outCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터를 실행하려면 노드를 추가해야 합니다.
1.7.4.6. NodePool 오브젝트 스케일링 링크 복사링크가 클립보드에 복사되었습니다!
NodePool 오브젝트를 스케일링하여 호스팅 클러스터에 노드를 추가합니다.
NodePool 오브젝트를 두 개의 노드로 확장합니다.
oc -n ${CLUSTERS_NAMESPACE} scale nodepool ${NODEPOOL_NAME} --replicas 2oc -n ${CLUSTERS_NAMESPACE} scale nodepool ${NODEPOOL_NAME} --replicas 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterAPI 에이전트 공급자는 호스트된 클러스터에 할당된 두 에이전트를 임의로 선택합니다. 이러한 에이전트는 다양한 상태를 살펴보고 마지막으로 호스팅된 클러스터에 OpenShift Container Platform 노드로 참여합니다. 상태가
바인딩에서 전달되어 존재하지 않는 클러스터 (Add-to-existing.-cluster)에 install-in-progress에 설치에충분하지않음으로 검색합니다oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 에이전트가 Add
-to-existing-cluster상태에 도달하면 OpenShift Container Platform 노드가 표시되는지 확인합니다.oc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get nodesoc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME STATUS ROLES AGE VERSION ocp-worker-1 Ready worker 5m41s v1.24.0+3882f8f ocp-worker-2 Ready worker 6m3s v1.24.0+3882f8f
NAME STATUS ROLES AGE VERSION ocp-worker-1 Ready worker 5m41s v1.24.0+3882f8f ocp-worker-2 Ready worker 6m3s v1.24.0+3882f8fCopy to Clipboard Copied! Toggle word wrap Toggle overflow clusteroperators는 노드에 워크로드를 추가하여 조정하기 시작합니다.
NodePool오브젝트를 확장할 때 두 개의 머신이 생성된 것을 확인할 수도 있습니다.oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get machinesoc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get machinesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME CLUSTER NODENAME PROVIDERID PHASE AGE VERSION hypercluster1-c96b6f675-m5vch hypercluster1-b2qhl ocp-worker-1 agent://da503cf1-a347-44f2-875c-4960ddb04091 Running 15m 4.12z hypercluster1-c96b6f675-tl42p hypercluster1-b2qhl ocp-worker-2 agent://4dac1ab2-7dd5-4894-a220-6a3473b67ee6 Running 15m 4.12z
NAME CLUSTER NODENAME PROVIDERID PHASE AGE VERSION hypercluster1-c96b6f675-m5vch hypercluster1-b2qhl ocp-worker-1 agent://da503cf1-a347-44f2-875c-4960ddb04091 Running 15m 4.12z hypercluster1-c96b6f675-tl42p hypercluster1-b2qhl ocp-worker-2 agent://4dac1ab2-7dd5-4894-a220-6a3473b67ee6 Running 15m 4.12zCopy to Clipboard Copied! Toggle word wrap Toggle overflow clusterversion조정은 결국 Ingress 및 Console 클러스터 Operator만 누락되는 시점에 도달합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.4.7. Ingress 처리 링크 복사링크가 클립보드에 복사되었습니다!
모든 OpenShift Container Platform 클러스터는 기본 애플리케이션 인그레스 컨트롤러에서 설정되며, 이 컨트롤러와 연결된 외부 DNS 레코드가 필요합니다. 예를 들어 기본 도메인 krnl.es 를 사용하여 example 이라는 HyperShift 클러스터를 생성하는 경우 와일드카드 도메인 *.apps.example.krnl.es 를 라우팅할 수 있습니다.
*.apps.apps에 로드 밸런서 및 와일드카드 DNS 레코드를 설정할 수 있습니다. 이 프로세스에서는 CloudEvent를 배포하고, 인그레스 배포로 라우팅하는 새 로드 밸런서 서비스를 구성하고, 로드 밸런서 IP 주소에 와일드카드 DNS 항목을 할당해야 합니다.
LoadBalancer유형의 서비스를 생성할 때 service에 대한 외부 IP 주소를 추가하도록 CloudEvent를 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator가 실행된 후 CloudEvent 인스턴스를 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 단일 IP 주소로
IPAddressPool을 생성하여 ScanSetting Operator를 구성합니다. 이 IP 주소는 클러스터 노드가 사용하는 네트워크와 동일한 서브넷에 있어야 합니다.중요:
INGRESS_IP환경 변수를 사용자 환경 주소와 일치하도록 변경합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 단계에 따라 CloudEvent를 통해 OpenShift Container Platform 라우터를 노출합니다.
수신 트래픽을 수신 배포로 라우팅하는 LoadBalancer 서비스를 설정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform 콘솔에 연결하려면 다음 명령을 입력합니다.
curl -kI https://console-openshift-console.apps.example.krnl.es HTTP/1.1 200 OK
curl -kI https://console-openshift-console.apps.example.krnl.es HTTP/1.1 200 OKCopy to Clipboard Copied! Toggle word wrap Toggle overflow clusterversion및clusteroperator값을 확인하여 모든 항목이 실행 중인지 확인합니다. 다음 명령을 실행합니다.oc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get clusterversion,cooc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get clusterversion,coCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.4.8. 호스팅된 클러스터의 노드 자동 확장 활성화 링크 복사링크가 클립보드에 복사되었습니다!
호스트 클러스터에 더 많은 용량이 필요하고 예비 에이전트를 사용할 수 있는 경우 자동 스케일링을 활성화하여 새 에이전트를 설치할 수 있습니다.
자동 확장을 활성화하려면 다음 명령을 입력합니다. 이 경우 최소 노드 수는 2이고 최대 개수는 5입니다.
oc -n ${CLUSTERS_NAMESPACE} patch nodepool ${HOSTED_CLUSTER_NAME} --type=json -p '[{"op": "remove", "path": "/spec/replicas"},{"op":"add", "path": "/spec/autoScaling", "value": { "max": 5, "min": 2 }}]'oc -n ${CLUSTERS_NAMESPACE} patch nodepool ${HOSTED_CLUSTER_NAME} --type=json -p '[{"op": "remove", "path": "/spec/replicas"},{"op":"add", "path": "/spec/autoScaling", "value": { "max": 5, "min": 2 }}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 추가 용량을 요구하지 않고 10분이 경과하면 에이전트가 해제되어 예비 대기열에 다시 배치됩니다.
새 노드가 필요한 워크로드를 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 나머지 에이전트가 배포되었는지 확인합니다. 이 예에서는 예비 에이전트인
d9198891-39f4-4930-a679-65fb142b108b가 프로비저닝됩니다.oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agent -o jsonpath='{range .items[*]}BMH: {@.metadata.labels.agent-install\.openshift\.io/bmh} Agent: {@.metadata.name} State: {@.status.debugInfo.state}{"\n"}{end}'oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agent -o jsonpath='{range .items[*]}BMH: {@.metadata.labels.agent-install\.openshift\.io/bmh} Agent: {@.metadata.name} State: {@.status.debugInfo.state}{"\n"}{end}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
BMH: ocp-worker-2 Agent: 4dac1ab2-7dd5-4894-a220-6a3473b67ee6 State: added-to-existing-cluster BMH: ocp-worker-0 Agent: d9198891-39f4-4930-a679-65fb142b108b State: installing-in-progress BMH: ocp-worker-1 Agent: da503cf1-a347-44f2-875c-4960ddb04091 State: added-to-existing-cluster
BMH: ocp-worker-2 Agent: 4dac1ab2-7dd5-4894-a220-6a3473b67ee6 State: added-to-existing-cluster BMH: ocp-worker-0 Agent: d9198891-39f4-4930-a679-65fb142b108b State: installing-in-progress BMH: ocp-worker-1 Agent: da503cf1-a347-44f2-875c-4960ddb04091 State: added-to-existing-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 노드를 확인하면 새 노드가 출력에 표시됩니다. 이 예에서는
ocp-worker-0이 클러스터에 추가되었습니다.oc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get nodesoc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME STATUS ROLES AGE VERSION ocp-worker-0 Ready worker 35s v1.24.0+3882f8f ocp-worker-1 Ready worker 40m v1.24.0+3882f8f ocp-worker-2 Ready worker 41m v1.24.0+3882f8f
NAME STATUS ROLES AGE VERSION ocp-worker-0 Ready worker 35s v1.24.0+3882f8f ocp-worker-1 Ready worker 40m v1.24.0+3882f8f ocp-worker-2 Ready worker 41m v1.24.0+3882f8fCopy to Clipboard Copied! Toggle word wrap Toggle overflow 노드를 삭제하려면 다음 명령을 입력하여 워크로드를 삭제합니다.
oc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig -n default delete deployment reversewordsoc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig -n default delete deployment reversewordsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 10분 동안 기다린 후 다음 명령을 입력하여 노드가 제거되었는지 확인합니다.
oc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get nodesoc --kubeconfig ${HOSTED_CLUSTER_NAME}.kubeconfig get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME STATUS ROLES AGE VERSION ocp-worker-1 Ready worker 51m v1.24.0+3882f8f ocp-worker-2 Ready worker 52m v1.24.0+3882f8f
NAME STATUS ROLES AGE VERSION ocp-worker-1 Ready worker 51m v1.24.0+3882f8f ocp-worker-2 Ready worker 52m v1.24.0+3882f8fCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agent -o jsonpath='{range .items[*]}BMH: {@.metadata.labels.agent-install\.openshift\.io/bmh} Agent: {@.metadata.name} State: {@.status.debugInfo.state}{"\n"}{end}' BMH: ocp-worker-2 Agent: 4dac1ab2-7dd5-4894-a220-6a3473b67ee6 State: added-to-existing-cluster BMH: ocp-worker-0 Agent: d9198891-39f4-4930-a679-65fb142b108b State: known-unbound BMH: ocp-worker-1 Agent: da503cf1-a347-44f2-875c-4960ddb04091 State: added-to-existing-clusteroc -n ${HOSTED_CONTROL_PLANE_NAMESPACE} get agent -o jsonpath='{range .items[*]}BMH: {@.metadata.labels.agent-install\.openshift\.io/bmh} Agent: {@.metadata.name} State: {@.status.debugInfo.state}{"\n"}{end}' BMH: ocp-worker-2 Agent: 4dac1ab2-7dd5-4894-a220-6a3473b67ee6 State: added-to-existing-cluster BMH: ocp-worker-0 Agent: d9198891-39f4-4930-a679-65fb142b108b State: known-unbound BMH: ocp-worker-1 Agent: da503cf1-a347-44f2-875c-4960ddb04091 State: added-to-existing-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.4.9. 호스트된 클러스터 생성 확인 링크 복사링크가 클립보드에 복사되었습니다!
배포 프로세스가 완료되면 호스팅된 클러스터가 성공적으로 생성되었는지 확인할 수 있습니다. 호스팅된 클러스터를 생성한 후 몇 분 후에 다음 단계를 따르십시오.
extract 명령을 입력하여 새 호스트 클러스터의 kubeconfig를 가져옵니다.
oc extract -n kni21 secret/kni21-admin-kubeconfig --to=- > kubeconfig-kni21 # kubeconfig
oc extract -n kni21 secret/kni21-admin-kubeconfig --to=- > kubeconfig-kni21 # kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow kubeconfig를 사용하여 호스팅 클러스터의 클러스터 Operator를 봅니다. 다음 명령을 실행합니다.
oc get co --kubeconfig=kubeconfig-kni21
oc get co --kubeconfig=kubeconfig-kni21Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 호스팅된 클러스터에서 실행 중인 Pod를 볼 수도 있습니다.
oc get pods -A --kubeconfig=kubeconfig-kni21
oc get pods -A --kubeconfig=kubeconfig-kni21Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7.4.10. 베어 메탈에서 호스트된 클러스터 삭제 링크 복사링크가 클립보드에 복사되었습니다!
콘솔을 사용하여 베어 메탈 호스트 클러스터를 제거할 수 있습니다. 베어 메탈에서 호스팅된 클러스터를 삭제하려면 다음 단계를 완료합니다.
- 콘솔에서 Infrastructure > Clusters 로 이동합니다.
- 클러스터 페이지에서 삭제할 클러스터를 선택합니다.
- 작업 메뉴에서 클러스터 삭제 를 선택하여 클러스터를 제거합니다.
1.7.4.11. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- CloudEvent에 대한 자세한 내용은 OpenShift Container Platform 설명서의 About CloudEvent 및 the 10.0.0.1 Operator 를 참조하십시오.
-
rootDeviceHints에 대한 자세한 내용은 BareMetalHost 설명서의 rootDeviceHints 섹션 을 참조하십시오.
1.7.5. 호스팅된 컨트롤 플레인 기능 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
HyperShift Operator를 설치 제거하고 호스팅 컨트롤 플레인을 비활성화할 수 있습니다. 호스팅된 컨트롤 플레인 클러스터 기능을 비활성화하는 경우 호스팅된 컨트롤 플레인 클러스터 항목에 설명된 대로 멀티 클러스터 엔진 Operator에서 호스팅 클러스터 및 관리 클러스터 리소스를 제거해야 합니다.
1.7.5.1. HyperShift Operator 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
HyperShift Operator를 제거하고 로컬 클러스터에서 hypershift-addon 을 비활성화하려면 다음 단계를 완료합니다.
다음 명령을 실행하여 실행 중인 호스팅 클러스터가 없는지 확인합니다.
oc get hostedcluster -A
oc get hostedcluster -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요: 호스트된 클러스터가 실행 중인 경우
hypershift-addon이 비활성화된 경우에도 HyperShift Operator가 제거되지 않습니다.다음 명령을 실행하여
hypershift-addon을 비활성화합니다.oc patch mce multiclusterengine --type=merge -p '{"spec":{"overrides":{"components":[{"name":"hypershift-local-hosting","enabled": false}]}}}'oc patch mce multiclusterengine --type=merge -p '{"spec":{"overrides":{"components":[{"name":"hypershift-local-hosting","enabled": false}]}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 팁:
hypershift-addon을 비활성화한 후 다중클러스터 엔진 Operator 콘솔에서 로컬클러스터에 대한hypershift-addon을 비활성화할 수도 있습니다.
1.7.5.2. 호스팅된 컨트롤 플레인 기능 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
호스트된 컨트롤 플레인 기능을 비활성화하기 전에 HyperShift Operator를 먼저 제거해야 합니다. 다음 명령을 실행하여 호스팅된 컨트롤 플레인 기능을 비활성화합니다.
oc patch mce multiclusterengine --type=merge -p '{"spec":{"overrides":{"components":[{"name":"hypershift-preview","enabled": false}]}}}'
oc patch mce multiclusterengine --type=merge -p '{"spec":{"overrides":{"components":[{"name":"hypershift-preview","enabled": false}]}}}'
다음 명령을 실행하여 MultiClusterEngine 사용자 정의 리소스에서 hypershift-preview 및 hypershift-local-hosting 기능이 비활성화되어 있는지 확인할 수 있습니다.
oc get mce multiclusterengine -o yaml
oc get mce multiclusterengine -o yaml
hypershift-preview 및 hypershift-local-hosting 의 enabled: 플래그가 false 로 설정된 다음 예제를 참조하십시오.