1장. 다중 클러스터 엔진 Operator가 포함된 클러스터 라이프사이클 개요
멀티 클러스터 엔진 Operator는 OpenShift Container Platform 및 Red Hat Advanced Cluster Management Hub 클러스터에 대한 클러스터 관리 기능을 제공하는 클러스터 라이프사이클 Operator입니다. 허브 클러스터에서 클러스터를 생성 및 관리하고 생성한 클러스터를 제거할 수 있습니다. 또한 클러스터를 hibernate, 재개 및 분리할 수도 있습니다. 다음 문서에서 클러스터 라이프사이클 기능에 대해 자세히 알아보십시오.
지원 매트릭스 에 액세스하여 허브 클러스터 및 관리형 클러스터 요구 사항 및 지원에 대해 알아보십시오.
정보:
- 클러스터는 Hive 리소스와 함께 OpenShift Container Platform 클러스터 설치 프로그램을 사용하여 생성됩니다. OpenShift Container Platform 설치 개요에서 OpenShift Container Platform 클러스터 설치 프로세스에 대한 자세한 내용은 OpenShift Container Platform 설명서에서 확인할 수 있습니다.
- OpenShift Container Platform 클러스터를 사용하면 다중 클러스터 엔진 Operator를 클러스터 라이프사이클 기능의 독립 실행형 클러스터 관리자로 사용하거나 Red Hat Advanced Cluster Management Hub 클러스터의 일부로 사용할 수 있습니다.
- OpenShift Container Platform만 사용하는 경우 Operator는 서브스크립션에 포함됩니다. OpenShift Container Platform 설명서에서 Kubernetes Operator용 다중 클러스터 엔진 정보를 참조하십시오.
- Red Hat Advanced Cluster Management를 구독하면 설치가 포함된 Operator도 제공됩니다. Red Hat Advanced Cluster Management Hub 클러스터를 사용하여 다른 Kubernetes 클러스터를 생성, 관리 및 모니터링할 수 있습니다. Red Hat Advanced Cluster Management 설치 및 업그레이드 설명서를 참조하십시오.
릴리스 이미지는 클러스터를 생성할 때 사용하는 OpenShift Container Platform 버전입니다. Red Hat Advanced Cluster Management를 사용하여 생성된 클러스터의 경우 릴리스 이미지의 자동 업그레이드를 활성화할 수 있습니다. Red Hat Advanced Cluster Management의 릴리스 이미지에 대한 자세한 내용은 릴리스 이미지를 참조하십시오.
클러스터 라이프사이클 관리 아키텍처의 구성 요소는 클러스터 라이프사이클 아키텍처에 포함되어 있습니다.
1.1. 릴리스 노트
현재 릴리스에 대해 알아보십시오.
참고: Red Hat Advanced Cluster Management의 2.6 및 이전 버전은 서비스에서 제거 되며 더 이상 지원되지 않습니다. 2.6 및 이전 버전에 대한 문서는 업데이트되지 않습니다. 문서는 계속 사용할 수 있지만 에라타 또는 기타 업데이트 없이는 더 이상 사용되지 않습니다.
현재 지원되는 릴리스 중 하나 또는 제품 문서에 문제가 발생하는 경우 Red Hat 지원팀으로 이동하여 문제를 해결하거나 기술 자료 문서를 보거나 지원 팀과 연결하거나 케이스를 열 수 있습니다. 인증 정보를 사용하여 로그인해야 합니다.
Red Hat 고객 포털 FAQ에서 고객 포털 설명서에 대해 자세히 알아볼 수도 있습니다.
1.1.1. 다중 클러스터 엔진 Operator를 사용한 클러스터 라이프사이클의 새로운 기능
중요: 일부 기능 및 구성 요소는 기술 프리뷰로 확인 및 릴리스됩니다.
이 릴리스의 새로운 기능에 대해 자세히 알아보기:
1.1.1.1. 클러스터 라이프사이클
다중 클러스터 엔진 Operator의 클러스터 라이프사이클과 관련된 새로운 기능에 대해 알아보십시오.
- 이제 관리 클러스터가 HTTP 및 HTTPS 프록시 서버를 통해 hub 클러스터와 통신할 수 있도록 클러스터 프록시 애드온의 프록시 설정을 구성할 수 있습니다. 자세한 내용은 클러스터 프록시 애드온 구성 을 참조하십시오.
-
이제
ManagedServiceAccount
애드온이 기본적으로 활성화되어 있습니다. 다중 클러스터 엔진 Operator 버전 2.4에서 업그레이드하는 경우 애드온 활성화에 대한 자세한 내용은 ManagedServiceAccount 애드온 활성화를 참조하십시오. - 기술 프리뷰: 이제 중간 구성 요소가 있는 경우에도 다중 클러스터 엔진 Operator 허브 클러스터에서 관리 클러스터를 가져올 수 있도록 서버 URL 및 허브 클러스터 API CA 번들을 사용자 지정할 수 있습니다. 자세한 내용은 서버 URL 사용자 지정 및 허브 클러스터 API CA 번들(기술 프리뷰) 을 참조하십시오.
- 이제 각 요청에서 HTTP/HTTPS 헤더 및 쿼리 매개변수를 전달하여 OS 이미지를 가져올 수 있습니다. 자세한 내용은 연결이 끊긴 환경에서 중앙 인프라 관리 활성화를 참조하십시오.
-
이제 인증을 위해 자체 서명 또는 타사 CA 인증서를 사용하여 TLS가 활성화된 HTTPS
osImages
를 저장하고 다운로드할 수 있습니다. 자세한 내용은 연결이 끊긴 환경에서 중앙 인프라 관리 활성화를 참조하십시오.
1.1.1.2. 인증 정보
- 이제 VMware vSphere에서 연결이 끊긴 설치에 통합 콘솔을 사용하여 인증 정보를 생성하도록 Cluster OS 이미지 필드를 구성할 수 있습니다. 자세한 내용은 콘솔을 사용하여 인증 정보 관리를 참조하십시오.
1.1.1.3. 호스팅된 컨트롤 플레인
- 기술 프리뷰: 베어 메탈이 아닌 에이전트 시스템을 사용하여 호스팅된 컨트롤 플레인 클러스터를 프로비저닝할 수 있습니다. 자세한 내용은 베어 메탈 에이전트 머신을 사용하여 호스팅되는 컨트롤 플레인 클러스터 구성 을 참조하십시오.
- 콘솔을 사용하여 KubeVirt 플랫폼으로 호스팅 클러스터를 생성할 수 있습니다. 자세한 내용은 콘솔을 사용하여 호스팅 클러스터 생성을 참조하십시오.
- 이제 추가 네트워크를 구성하고 VM(가상 머신)에 대한 보장된 CPU 액세스를 요청하며 노드 풀의 KubeVirt VM 예약을 관리할 수 있습니다. 자세한 내용은 노드 풀의 추가 네트워크, 보장된 CPU 및 VM 스케줄링 구성을 참조하십시오.
1.1.1.4. Red Hat Advanced Cluster Management 통합
Red Hat Advanced Cluster Management를 설치한 후 Observability를 활성화하면 Grafana 대시보드를 사용하여 호스팅된 컨트롤 플레인 클러스터 용량 추정 및 기존 호스팅 컨트롤 플레인 리소스 사용률을 확인할 수 있습니다. 자세한 내용은 Red Hat Advanced Cluster Management integration 에서 참조하십시오.
1.1.2. 클러스터 라이프사이클의 알려진 문제
다중 클러스터 엔진 Operator가 있는 클러스터 라이프사이클의 알려진 문제를 검토합니다. 다음 목록에는 이 릴리스에 대한 알려진 문제 또는 이전 릴리스에서 계속되는 알려진 문제가 포함되어 있습니다. OpenShift Container Platform 클러스터의 경우 OpenShift Container Platform 릴리스 노트를 참조하십시오.
1.1.2.1. 클러스터 관리
클러스터 라이프사이클 알려진 문제 및 제한 사항은 다중 클러스터 엔진 Operator 문서가 있는 클러스터 라이프사이클의 일부입니다.
1.1.2.1.1. nmstate로 제한
복사 및 붙여넣기 기능을 구성하여 더 빠르게 개발하십시오. assisted-installer
에서 copy-from-mac
기능을 구성하려면 nmstate
정의 인터페이스 및 mac-mapping
인터페이스에 mac-address
를 추가해야 합니다. mac-mapping
인터페이스는 nmstate
정의 인터페이스 외부에 제공됩니다. 따라서 동일한 mac-address
를 두 번 제공해야 합니다.
1.1.2.1.2. Prehook 실패가 호스트된 클러스터 생성에 실패하지 않음
호스팅된 클러스터 생성에 자동화 템플릿을 사용하고 prehook 작업이 실패하면 호스팅된 클러스터 생성이 여전히 진행 중인 것처럼 보입니다. 호스트 클러스터가 완전한 실패 상태로 설계되었으므로 클러스터를 계속 생성하려고 하기 때문에 이는 정상입니다.
1.1.2.1.3. add-on을 제거할 때 관리형 클러스터에 필요한volSync CSV 수동 제거
hub 클러스터에서volSync ManagedClusterAddOn
을 제거하면 관리 클러스터에서volSync Operator 서브스크립션을 제거하지만 CSV(클러스터 서비스 버전)는 제거되지 않습니다. 관리형 클러스터에서 CSV를 제거하려면volSync를 제거하는 각 관리 클러스터에서 다음 명령을 실행합니다.
oc delete csv -n openshift-operators volsync-product.v0.6.0
다른 버전의 CryostatSync가 설치되어 있는 경우 v0.6.0
을 설치된 버전으로 교체합니다.
1.1.2.1.4. 관리형 클러스터 세트를 삭제해도 레이블이 자동으로 제거되지는 않습니다.
ManagedClusterSet
을 삭제한 후 클러스터를 클러스터 세트에 연결하는 각 관리 클러스터에 추가된 레이블은 자동으로 제거되지 않습니다. 삭제된 관리 클러스터 세트에 포함된 각 관리 클러스터에서 레이블을 수동으로 제거합니다. 레이블은 cluster.open-cluster-management.io/clusterset:<ManagedClusterSet Name> 과 유사합니다
.
1.1.2.1.5. ClusterClaim 오류
ClusterPool
에 대해 Hive ClusterClaim
을 생성하고 ClusterClaimspec
라이프 사이클 필드를 잘못된 golang 시간 값으로 수동으로 설정하는 경우 제품은 잘못된 형식의 클레임뿐만 아니라 모든 ClusterClaims
이행 및 재조정을 중지합니다.
이 오류가 발생하면 clusterclaim-controller
pod 로그에 다음 내용이 표시됩니다. 이 로그는 풀 이름과 유효하지 않은 라이프 사이클이 포함된 특정 예입니다.
E0203 07:10:38.266841 1 reflector.go:138] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:224: Failed to watch *v1.ClusterClaim: failed to list *v1.ClusterClaim: v1.ClusterClaimList.Items: []v1.ClusterClaim: v1.ClusterClaim.v1.ClusterClaim.Spec: v1.ClusterClaimSpec.Lifetime: unmarshalerDecoder: time: unknown unit "w" in duration "1w", error found in #10 byte of ...|time":"1w"}},{"apiVe|..., bigger context ...|clusterPoolName":"policy-aas-hubs","lifetime":"1w"}},{"apiVersion":"hive.openshift.io/v1","kind":"Cl|...
유효하지 않은 클레임을 삭제할 수 있습니다.
잘못된 클레임이 삭제되면 클레임이 추가 상호 작용 없이 성공적으로 조정되기 시작합니다.
1.1.2.1.6. 제품 채널이 프로비저닝된 클러스터와 동기화되지 않음
clusterimageset
은 fast
채널이지만 프로비저닝된 클러스터는 stable
채널에 있습니다. 현재 제품은 채널을
프로비저닝된 OpenShift Container Platform 클러스터와 동기화하지 않습니다.
OpenShift Container Platform 콘솔에서 올바른 채널로 변경합니다. Administration > Cluster Settings > Details Channel 을 클릭합니다.
1.1.2.1.7. 사용자 정의 CA 인증서가 있는 관리형 클러스터 연결을 복원하면 복원된 허브 클러스터에 실패할 수 있습니다.
사용자 정의 CA 인증서로 클러스터를 관리하는 허브 클러스터의 백업을 복원한 후 관리 클러스터와 hub 클러스터 간의 연결이 실패할 수 있습니다. 이는 복원된 허브 클러스터에서 CA 인증서가 백업되지 않았기 때문입니다. 연결을 복원하려면 관리 클러스터의 네임스페이스에 있는 사용자 정의 CA 인증서 정보를 복원된 허브 클러스터의 < managed_cluster>-admin-kubeconfig
시크릿에 복사합니다.
팁: 백업 사본을 생성하기 전에 이 CA 인증서를 hub 클러스터에 복사하는 경우 백업 사본에 시크릿 정보가 포함됩니다. 나중에 백업 사본을 사용하여 복원하면 허브와 관리 클러스터 간의 연결이 자동으로 완료됩니다.
1.1.2.1.8. local-cluster가 자동으로 다시 생성되지 않을 수 있습니다.
disableHubSelfManagement
를 false
로 설정하는 동안 local-cluster가 삭제되면 MulticlusterHub
Operator가 local-cluster를 다시 생성합니다. local-cluster를 분리하면 local-cluster가 자동으로 다시 생성되지 않을 수 있습니다.
이 문제를 해결하려면
MulticlusterHub
Operator에서 조사한 리소스를 수정합니다. 다음 예제를 참조하십시오.oc delete deployment multiclusterhub-repo -n <namespace>
-
local-cluster를 올바르게 분리하려면
MultiClusterHub
에서disableHubSelfManagement
를 true로 설정합니다.
1.1.2.1.9. 온-프레미스 클러스터를 만들 때 서브넷을 선택해야 합니다.
콘솔을 사용하여 온-프레미스 클러스터를 만들 때 클러스터에 사용 가능한 서브넷을 선택해야 합니다. 필수 필드로 표시되지 않습니다.
1.1.2.1.10. Infrastructure Operator를 통한 클러스터 프로비저닝 실패
Infrastructure Operator를 사용하여 OpenShift Container Platform 클러스터를 생성할 때 ISO 이미지의 파일 이름이 너무 길 수 있습니다. 긴 이미지 이름을 사용하면 이미지 프로비저닝과 클러스터 프로비저닝이 실패합니다. 이 문제가 있는지 확인하려면 다음 단계를 완료합니다.
다음 명령을 실행하여 프로비저닝 중인 클러스터의 베어 메탈 호스트 정보를 확인합니다.
oc get bmh -n <cluster_provisioning_namespace>
describe
명령을 실행하여 오류 정보를 확인합니다.oc describe bmh -n <cluster_provisioning_namespace> <bmh_name>
다음 예제와 유사한 오류는 파일 이름의 길이가 문제임을 나타냅니다.
Status: Error Count: 1 Error Message: Image provisioning failed: ... [Errno 36] File name too long ...
이 문제가 발생하면 인프라 Operator가 이미지 서비스를 사용하지 않았기 때문에 일반적으로 다음 버전의 OpenShift Container Platform에 있습니다.
- 4.8.17 및 이전 버전
- 4.9.6 이전
이 오류를 방지하려면 OpenShift Container Platform을 버전 4.8.18 이상 또는 4.9.7 이상으로 업그레이드하십시오.
1.1.2.1.11. 다른 이름으로 다시 가져온 후 로컬 클러스터 상태 오프라인
실수로
라는 클러스터를 다른 이름으로 다시 가져오려고 하면 local 클러스터의 상태 및 다시 가져오기된 클러스터의 상태가 local-cluster
오프라인으로
표시됩니다.
이 경우 복구하려면 다음 단계를 완료합니다.
hub 클러스터에서 다음 명령을 실행하여 허브 클러스터의 자체 관리 설정을 일시적으로 편집합니다.
oc edit mch -n open-cluster-management multiclusterhub
-
spec.disableSelfManagement=true
설정을 추가합니다. hub 클러스터에서 다음 명령을 실행하여 local-cluster를 삭제하고 재배포합니다.
oc delete managedcluster local-cluster
다음 명령을 입력하여
local-cluster
관리 설정을 제거합니다.oc edit mch -n open-cluster-management multiclusterhub
-
이전에 추가한
spec.disableSelfManagement=true
를 제거합니다.
1.1.2.1.12. 프록시 환경에서 Ansible 자동화를 통한 클러스터 프로비저닝 실패
관리 클러스터를 자동으로 프로비저닝하도록 구성된 자동화 템플릿은 다음 두 조건이 충족되면 실패할 수 있습니다.
- hub 클러스터에는 클러스터 전체 프록시가 활성화되어 있습니다.
- Ansible Automation Platform은 프록시를 통해서만 연결할 수 있습니다.
1.1.2.1.13. klusterlet Operator의 버전은 hub 클러스터와 동일해야 합니다.
klusterlet Operator를 설치하여 관리 클러스터를 가져오는 경우 klusterlet Operator의 버전이 Hub 클러스터 버전과 동일하거나 klusterlet Operator가 작동하지 않아야 합니다.
1.1.2.1.14. 관리되는 클러스터 네임스페이스를 수동으로 삭제할 수 없음
관리 클러스터의 네임스페이스를 수동으로 삭제할 수 없습니다. 관리형 클러스터 네임스페이스는 관리 클러스터를 분리한 후 자동으로 삭제됩니다. 관리 클러스터가 분리되기 전에 관리 클러스터 네임스페이스를 수동으로 삭제하는 경우 관리 클러스터에 관리 클러스터를 삭제한 후 지속적인 종료 상태가 표시됩니다. 이 종료 관리 클러스터를 삭제하려면 분리된 관리 클러스터에서 종료자를 수동으로 제거합니다.
1.1.2.1.15. Hub 클러스터 및 관리형 클러스터 클럭이 동기화되지 않음
Hub 클러스터 및 관리 클러스터 시간이 동기화되지 않아 알
수 없고 결국 몇 분 내에 사용할 수 있습니다
. OpenShift Container Platform 허브 클러스터 시간이 올바르게 구성되었는지 확인합니다. 노드 사용자 지정을 참조하십시오.
1.1.2.1.16. 특정 버전의 IBM OpenShift Container Platform Kubernetes Service 클러스터 가져오기는 지원되지 않습니다.
IBM OpenShift Container Platform Kubernetes Service 버전 3.11 클러스터를 가져올 수 없습니다. 이후 버전의 IBM OpenShift Kubernetes Service가 지원됩니다.
1.1.2.1.17. 프로비저닝된 클러스터의 자동 시크릿 업데이트는 지원되지 않습니다.
클라우드 공급자 측에서 클라우드 공급자 액세스 키를 변경하는 경우 다중 클러스터 엔진 Operator 콘솔에서 이 클라우드 공급자에 대한 해당 인증 정보도 업데이트해야 합니다. 이는 관리 클러스터가 호스팅되는 클라우드 공급자에서 인증 정보가 만료되고 관리 클러스터를 삭제하려고 할 때 필요합니다.
1.1.2.1.18. 관리 클러스터의 노드 정보는 검색에서 볼 수 없습니다
hub 클러스터에서 리소스에 대한 맵을 검색합니다. 사용자 RBAC 설정에 따라 사용자가 관리 클러스터의 노드 데이터를 볼 수 없습니다. 검색 결과는 클러스터의 노드 페이지에 표시되는 결과와 다를 수 있습니다.
1.1.2.1.19. 클러스터 제거 프로세스가 완료되지 않음
관리 클러스터를 삭제하면 1시간 후에도 상태가 계속 Destroying
으로 표시되고 클러스터가 삭제되지 않습니다. 이 문제를 해결하려면 다음 단계를 완료합니다.
- 클라우드에 고립된 리소스가 없고 관리 클러스터와 연결된 모든 공급자 리소스가 정리되었는지 수동으로 확인합니다.
다음 명령을 입력하여 제거 중인 관리 클러스터의
ClusterDeployment
정보를 엽니다.oc edit clusterdeployment/<mycluster> -n <namespace>
mycluster
를 제거하려는 관리 클러스터의 이름으로 바꿉니다.namespace
를 관리 클러스터의 네임스페이스로 바꿉니다.-
hive.openshift.io/deprovision
종료자를 제거하여 클라우드에서 클러스터 리소스를 정리하려는 프로세스를 강제로 중지합니다. -
변경 사항을 저장하고
ClusterDeployment
이 사라졌는지 확인합니다. 다음 명령을 실행하여 관리 클러스터의 네임스페이스를 수동으로 제거합니다.
oc delete ns <namespace>
namespace
를 관리 클러스터의 네임스페이스로 바꿉니다.
1.1.2.1.20. 콘솔을 사용하여 OpenShift Container Platform Dedicated에서 OpenShift Container Platform 관리형 클러스터를 업그레이드할 수 없습니다
Red Hat Advanced Cluster Management 콘솔을 사용하여 OpenShift Container Platform Dedicated 환경에 있는 OpenShift Container Platform 관리 클러스터를 업그레이드할 수 없습니다.
1.1.2.1.21. 작업 관리자 애드온 검색 세부 정보
특정 관리 클러스터에서 특정 리소스의 검색 세부 정보 페이지가 실패할 수 있습니다. 검색하려면 먼저 관리 클러스터의 work-manager 애드온이 Available
상태에 있는지 확인해야 합니다.
1.1.2.1.22. 비 Red Hat OpenShift Container Platform 관리형 클러스터에는 업그레이드 후 Pod 로그에 ManagedServiceAccount 또는 LoadBalancer 가 필요합니다.
Red Hat OpenShift Container Platform 및 비 OpenShift Container Platform 클러스터는 모두 Red Hat Advanced Cluster Management 2.10 이상의 새로 설치를 사용하는 경우 Pod 로그 기능을 지원합니다.
Red Hat Advanced Cluster Management 2.9에서 2.10으로 업그레이드한 경우 OpenShift Container Platform 관리형 클러스터에서 Pod 로그 기능을 사용하려면 ManagedServiceAccount
애드온을 수동으로 활성화해야 합니다. ManagedServiceAccount를 활성화하는 방법을 알아보려면 ManagedServiceAccount
애드온 을 참조하십시오.
또는 ManagedServiceAccount
대신 LoadBalancer
를 사용하여 비 OpenShift Container Platform 관리 클러스터에서 Pod 로그 기능을 활성화할 수 있습니다.
LoadBalancer
를 활성화하려면 다음 단계를 완료합니다.
-
클라우드 공급자에는 서로 다른
LoadBalancer
구성이 있습니다. 자세한 내용은 클라우드 공급자 설명서를 참조하십시오. -
managedClusterInfo
상태의loggingEndpoint
를 확인하여 Red Hat Advanced Cluster Management에서LoadBalancer
가 활성화되어 있는지 확인합니다. 다음 명령을 실행하여
loggingEndpoint.IP
또는loggingEndpoint.Host
에 유효한 IP 주소 또는 호스트 이름이 있는지 확인합니다.oc get managedclusterinfo <clusterName> -n <clusterNamespace> -o json | jq -r '.status.loggingEndpoint'
LoadBalancer
유형에 대한 자세한 내용은 Kubernetes 문서의 서비스 페이지를 참조하십시오.
1.1.2.1.23. OpenShift Container Platform 4.10.z는 프록시 구성이 있는 호스팅된 컨트롤 플레인 클러스터를 지원하지 않습니다.
OpenShift Container Platform 4.10.z에서 클러스터 전체 프록시 구성으로 호스팅 서비스 클러스터를 생성하면 nodeip-configuration.service
서비스가 작업자 노드에서 시작되지 않습니다.
1.1.2.1.24. Azure에서 OpenShift Container Platform 4.11 클러스터를 프로비저닝할 수 없음
Azure에서 OpenShift Container Platform 4.11 클러스터를 프로비저닝하면 인증 Operator 시간 초과 오류로 인해 실패합니다. 이 문제를 해결하려면 install-config.yaml
파일에서 다른 작업자 노드 유형을 사용하거나 vmNetworkingType
매개변수를 Basic
으로 설정합니다. 다음 install-config.yaml
예제를 참조하십시오.
compute: - hyperthreading: Enabled name: 'worker' replicas: 3 platform: azure: type: Standard_D2s_v3 osDisk: diskSizeGB: 128 vmNetworkingType: 'Basic'
1.1.2.1.25. 클라이언트가 iPXE 스크립트에 연결할 수 없음
iPXE는 오픈 소스 네트워크 부팅 펌웨어입니다. 자세한 내용은 iPXE 를 참조하십시오.
노드를 부팅할 때 일부 DHCP 서버의 URL 길이 제한이 InfraEnv
사용자 정의 리소스 정의의 ipxeScript
URL을 차단하여 콘솔에 다음과 같은 오류 메시지가 표시됩니다.
부팅 가능한 장치 없음
이 문제를 해결하려면 다음 단계를 완료하십시오.
지원 설치를 사용할 때 다음 파일과 유사할 수 있는
bootArtifacts
를 노출할 때InfraEnv
사용자 정의 리소스 정의를 적용합니다.status: agentLabelSelector: matchLabels: infraenvs.agent-install.openshift.io: qe2 bootArtifacts: initrd: https://assisted-image-service-multicluster-engine.redhat.com/images/0000/pxe-initrd?api_key=0000000&arch=x86_64&version=4.11 ipxeScript: https://assisted-service-multicluster-engine.redhat.com/api/assisted-install/v2/infra-envs/00000/downloads/files?api_key=000000000&file_name=ipxe-script kernel: https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.12/latest/rhcos-live-kernel-x86_64 rootfs: https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.12/latest/rhcos-live-rootfs.x86_64.img
-
짧은 URL로
bootArtifacts
를 노출하는 프록시 서버를 생성합니다. bootArtifacts
를 복사하여 다음 명령을 실행하여 프록시에 추가합니다.for artifact in oc get infraenv qe2 -ojsonpath="{.status.bootArtifacts}" | jq ". | keys[]" | sed "s/\"//g" do curl -k oc get infraenv qe2 -ojsonpath="{.status.bootArtifacts.${artifact}}"` -o $artifact
-
libvirt.xml
의bootp
매개변수에ipxeScript
아티팩트 프록시 URL을 추가합니다.
1.1.2.1.26. Red Hat Advanced Cluster Management를 업그레이드한 후 ClusterDeployment 을 삭제할 수 없음
Red Hat Advanced Cluster Management 2.6에서 삭제된 BareMetalAssets API를 사용하는 경우 BareMetalAssets API가 ClusterDeployment
에 바인딩되어 있으므로 Red Hat Advanced Cluster Management 2.7로 업그레이드한 후 ClusterDeployment
을 삭제할 수 없습니다.
이 문제를 해결하려면 Red Hat Advanced Cluster Management 2.7로 업그레이드하기 전에 종료자
를 제거하려면 다음 명령을 실행합니다.
oc patch clusterdeployment <clusterdeployment-name> -p '{"metadata":{"finalizers":null}}' --type=merge
1.1.2.1.27. 중앙 인프라 관리 서비스를 사용하여 연결이 끊긴 환경에 배포된 클러스터는 설치되지 않을 수 있습니다.
중앙 인프라 관리 서비스를 사용하여 연결이 끊긴 환경에 클러스터를 배포할 때 클러스터 노드가 설치를 시작하지 못할 수 있습니다.
이 문제는 클러스터가 OpenShift Container Platform 버전 4.12.0에서 4.12.2를 통해 제공되는 Red Hat Enterprise Linux CoreOS 라이브 ISO 이미지에서 생성된 검색 ISO 이미지를 사용하기 때문에 발생합니다. 이미지에는 registry.redhat.io
및 registry.access.redhat.com
에서 소싱한 이미지의 서명이 필요한 제한적인 /etc/containers/policy.json
파일이 포함되어 있습니다. 연결이 끊긴 환경에서 미러링된 이미지에 서명이 미러링되지 않아 검색 시 이미지 풀링이 실패할 수 있습니다. 에이전트 이미지가 클러스터 노드와 연결되지 않아 지원 서비스와의 통신이 실패합니다.
이 문제를 해결하려면 /etc/containers/policy.json
파일을 제한 없이 설정하는 클러스터에 ignition 덮어쓰기를 적용합니다. Ignition 재정의는 InfraEnv
사용자 정의 리소스 정의에서 설정할 수 있습니다. 다음 예제에서는 재정의가 있는 InfraEnv
사용자 정의 리소스 정의를 보여줍니다.
apiVersion: agent-install.openshift.io/v1beta1 kind: InfraEnv metadata: name: cluster namespace: cluster spec: ignitionConfigOverride: '{"ignition":{"version":"3.2.0"},"storage":{"files":[{"path":"/etc/containers/policy.json","mode":420,"overwrite":true,"contents":{"source":"data:text/plain;charset=utf-8;base64,ewogICAgImRlZmF1bHQiOiBbCiAgICAgICAgewogICAgICAgICAgICAidHlwZSI6ICJpbnNlY3VyZUFjY2VwdEFueXRoaW5nIgogICAgICAgIH0KICAgIF0sCiAgICAidHJhbnNwb3J0cyI6CiAgICAgICAgewogICAgICAgICAgICAiZG9ja2VyLWRhZW1vbiI6CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIiI6IFt7InR5cGUiOiJpbnNlY3VyZUFjY2VwdEFueXRoaW5nIn1dCiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQp9"}}]}}'
다음 예제에서는 생성된 제한되지 않은 파일을 보여줍니다.
{ "default": [ { "type": "insecureAcceptAnything" } ], "transports": { "docker-daemon": { "": [ { "type": "insecureAcceptAnything" } ] } } }
이 설정이 변경되면 클러스터가 설치됩니다.
1.1.2.1.28. 배포 후 관리 클러스터가 Pending 상태로 유지됨
통합 흐름은 기본 프로비저닝 프로세스입니다. Bare Metal Operator(BMO)에 BareMetalHost
리소스를 사용하여 호스트를 라이브 ISO에 연결하는 경우 Ironic Python 에이전트는 다음 작업을 수행합니다.
- 베어 메탈 설치 관리자 프로비저닝-infrastructure에서 단계를 실행합니다.
- 지원 설치 관리자 에이전트를 시작하고 에이전트는 설치 및 프로비저닝 프로세스의 나머지 부분을 처리합니다.
지원 설치 관리자 에이전트가 느리게 시작되고 관리 클러스터를 배포하는 경우 관리 클러스터가 Pending
상태로 중단되고 에이전트 리소스가 없을 수 있습니다. 통합 흐름을 비활성화하여 문제를 해결할 수 있습니다.
중요: 통합 흐름을 비활성화할 때 지원 설치 관리자 에이전트만 라이브 ISO에서 실행되므로 열려 있는 포트 수를 줄이고 Ironic Python 에이전트 에이전트에서 활성화한 기능을 비활성화합니다.
- 디스크 정리 사전 프로비저닝
- iPXE 부팅 펌웨어
- BIOS 구성
통합 흐름을 비활성화하지 않고 활성화하거나 비활성화할 포트 번호를 결정하려면 네트워크 구성 을 참조하십시오.
통합 흐름을 비활성화하려면 다음 단계를 완료합니다.
hub 클러스터에 다음 ConfigMap을 생성합니다.
apiVersion: v1 kind: ConfigMap metadata: name: my-assisted-service-config namespace: multicluster-engine data: ALLOW_CONVERGED_FLOW: "false" 1
- 1
- 매개변수 값을 "false"로 설정하면 Ironic Python Agent에서 활성화한 기능도 비활성화합니다.
다음 명령을 실행하여 ConfigMap을 적용합니다.
oc annotate --overwrite AgentServiceConfig agent unsupported.agent-install.openshift.io/assisted-service-configmap=my-assisted-service-config
1.1.2.1.29. ManagedClusterSet API 사양 제한
Clustersets API 를 사용하는 경우 selectorType: LaberSelector
설정은 지원되지 않습니다. selectorType: ExclusiveClusterSetLabel
설정이 지원됩니다.
1.1.2.1.30. Hub 클러스터 통신 제한 사항
hub 클러스터가 관리 클러스터에 도달하거나 통신할 수 없는 경우 다음과 같은 제한 사항이 발생합니다.
- 콘솔을 사용하여 새 관리 클러스터를 생성할 수 없습니다. 명령행 인터페이스를 사용하거나 콘솔에서 수동으로 가져오기 명령 실행 옵션을 사용하여 관리 클러스터를 수동으로 가져올 수 있습니다.
- 콘솔을 사용하여 Application 또는 ApplicationSet을 배포하거나 관리 클러스터를 ArgoCD로 가져오는 경우 hub 클러스터 ArgoCD 컨트롤러는 관리 클러스터 API 서버를 호출합니다. AppSub 또는 ArgoCD 풀 모델을 사용하여 문제를 해결할 수 있습니다.
Pod 로그의 콘솔 페이지가 작동하지 않으며 다음과 유사한 오류 메시지가 표시됩니다.
Error querying resource logs: Service unavailable
1.1.2.1.31. 관리 서비스 계정 애드온 제한 사항
다음은 managed-serviceaccount
애드온에 대한 알려진 문제 및 제한 사항입니다.
1.1.2.1.31.1. installNamespace 필드에는 하나의 값만 있을 수 있습니다.
managed-serviceaccount
애드온을 활성화할 때 ManagedClusterAddOn
리소스의 installNamespace
필드에 값으로 open-cluster-management-agent-addon
이 있어야 합니다. 다른 값은 무시됩니다. managed-serviceaccount
애드온 에이전트는 항상 관리 클러스터의 open-cluster-management-agent-addon
네임스페이스에 배포됩니다.
1.1.2.1.31.2. tolerations 및 nodeSelector 설정은 managed-serviceaccount 에이전트에 영향을 미치지 않습니다.
MultiClusterEngine
및 MultiClusterHub
리소스에 구성된 tolerations
및 nodeSelector
설정은 로컬 클러스터에 배포된 관리-serviceaccount
에이전트에 영향을 미치지 않습니다. 로컬 클러스터에서 managed-serviceaccount
애드온이 항상 필요한 것은 아닙니다.
managed-serviceaccount
애드온이 필요한 경우 다음 단계를 완료하여 문제를 해결할 수 있습니다.
-
addonDeploymentConfig
사용자 정의 리소스를 생성합니다. -
로컬 클러스터 및
managed-serviceaccount
에이전트의tolerations
및nodeSelector
값을 설정합니다. -
생성한
addonDeploymentConfig
사용자 정의 리소스를 사용하도록 로컬 클러스터 네임스페이스에서managed-serviceaccount
ManagedClusterAddon
을 업데이트합니다.
addonDeploymentConfig
사용자 정의 리소스 를 사용하여 애드온에 대한 허용 오차 및 nodeSelector를 구성하는 방법에 대한 자세한 내용은 klusterlet 애드온에 대한 nodeSelector
및 허용 오차
구성을 참조하십시오.
1.1.2.1.32. KubeVirt 호스트 클러스터의 대량 제거 옵션이 호스팅된 클러스터를 제거하지 않음
KubeVirt 호스팅 클러스터의 콘솔에서 대량 제거 옵션을 사용하면 KubeVirt 호스팅 클러스터가 제거되지 않습니다.
행 작업 드롭다운 메뉴를 사용하여 KubeVirt 호스팅 클러스터를 대신 삭제합니다.
1.1.2.1.33. 클러스터 큐레이터는 OpenShift Container Platform Dedicated 클러스터를 지원하지 않습니다.
ClusterCurator
리소스를 사용하여 OpenShift Container Platform Dedicated 클러스터를 업그레이드하면 클러스터 큐레이터가 OpenShift Container Platform Dedicated 클러스터를 지원하지 않기 때문에 업그레이드가 실패합니다.
1.1.2.1.34. 사용자 정의 수신 도메인이 올바르게 적용되지 않음
관리형 클러스터를 설치하는 동안 ClusterDeployment
리소스를 사용하여 사용자 정의 인그레스 도메인을 지정할 수 있지만, SyncSet
리소스를 사용하여 설치 후에만 변경 사항을 적용합니다. 결과적으로 clusterdeployment.yaml
파일의 spec
필드에 사용자가 지정한 Ingress 도메인이 표시되지만 상태는
여전히 기본 도메인을 표시합니다.
1.1.2.2. 호스팅된 컨트롤 플레인
1.1.2.2.1. 콘솔이 호스트된 클러스터를 Pending 가져오기로 표시
주석 및 ManagedCluster
이름이 일치하지 않으면 콘솔에 클러스터가 Pending 가져오기
로 표시됩니다. 다중 클러스터 엔진 Operator는 클러스터를 사용할 수 없습니다. 주석이 없고 ManagedCluster
이름이 HostedCluster
리소스의 Infra-ID
값과 일치하지 않는 경우에도 동일한 문제가 발생합니다."
1.1.2.2.2. 호스트된 클러스터에 노드 풀을 추가할 때 콘솔이 동일한 버전을 여러 번 나열할 수 있습니다.
콘솔을 사용하여 기존 호스트 클러스터에 새 노드 풀을 추가하면 동일한 버전의 OpenShift Container Platform이 옵션 목록에 두 번 이상 표시될 수 있습니다. 원하는 버전의 목록에서 인스턴스를 선택할 수 있습니다.
1.1.2.2.3. 웹 콘솔은 클러스터에서 제거된 후에도 노드를 나열하고 인프라 환경으로 돌아갑니다.
노드 풀이 작업자가 0개로 축소되면 콘솔의 호스트 목록에는 노드가 준비
됨 상태로 계속 표시됩니다. 다음 두 가지 방법으로 노드 수를 확인할 수 있습니다.
- 콘솔에서 노드 풀로 이동하여 0개의 노드가 있는지 확인합니다.
명령줄 인터페이스에서 다음 명령을 실행합니다.
다음 명령을 실행하여 0개의 노드가 노드 풀에 있는지 확인합니다.
oc get nodepool -A
다음 명령을 실행하여 0 노드가 클러스터에 있는지 확인합니다.
oc get nodes --kubeconfig
- 다음 명령을 실행하여 0 에이전트가 클러스터에 바인딩된 것으로 보고되었는지 확인합니다.
oc get agents -A
1.1.2.2.4. 듀얼 스택 네트워크에 대해 구성된 호스트 클러스터의 잠재적인 DNS 문제
듀얼 스택 네트워크를 사용하는 환경에서 호스팅 클러스터를 생성할 때 다음과 같은 DNS 관련 문제가 발생할 수 있습니다.
-
service-ca-operator
pod의CrashLoopBackOff
상태: Pod가 호스팅된 컨트롤 플레인을 통해 Kubernetes API 서버에 연결하려고 하면kube-system
네임스페이스의 데이터 플레인 프록시가 요청을 확인할 수 없기 때문에 Pod는 서버에 연결할 수 없습니다. 이 문제는 HAProxy 설정에서 프런트 엔드에서 IP 주소를 사용하고 백엔드에서 Pod를 확인할 수 없는 DNS 이름을 사용하므로 발생합니다. -
Pod가
ContainerCreating
상태로 유지됨:openshift-service-ca-operator
에서 DNS pod에 DNS 확인에 필요한metrics-tls
시크릿을 생성할 수 없기 때문에 이 문제가 발생합니다. 결과적으로 Pod는 Kubernetes API 서버를 확인할 수 없습니다.
이러한 문제를 해결하려면 듀얼 스택 네트워크의 DNS 구성 지침에 따라 DNS 서버 설정을 구성합니다.
1.1.2.2.5. 베어 메탈 플랫폼에서 에이전트 리소스가 Ignition을 가져오지 못할 수 있습니다.
베어 메탈(Agent) 플랫폼에서 호스팅된 컨트롤 플레인 기능은 에이전트가 Ignition을 가져오는 데 사용하는 토큰을 주기적으로 순환합니다. 버그로 인해 새 토큰이 전파되지 않습니다. 그 결과 잠시 전에 생성된 에이전트 리소스가 있는 경우 Ignition을 가져오지 못할 수 있습니다.
이 문제를 해결하려면 에이전트 사양에서 IgnitionEndpointTokenReference
속성이 참조하는 보안을 삭제한 다음 에이전트 리소스에서 레이블을 추가하거나 수정합니다. 그런 다음 시스템은 에이전트 리소스가 수정되었음을 감지하고 새 토큰을 사용하여 시크릿을 다시 생성할 수 있습니다.
1.1.3. 에라타 업데이트
다중 클러스터 엔진 Operator의 경우 에라타 업데이트가 릴리스될 때 자동으로 적용됩니다.
중요: 참조를 위해 에라타 링크와 GitHub 번호가 콘텐츠에 추가되어 내부적으로 사용될 수 있습니다. 액세스가 필요한 링크는 사용자에게 제공되지 않을 수 있습니다.
1.1.3.1. Errata 2.5.5
-
멀티 클러스터 엔진 Operator 버전 2.5.3 또는 버전 2.5.4로 업그레이드한 후 단일 노드 OpenShift 관리 클러스터에
알 수 없는
상태가 표시되는 문제가 해결되었습니다. (ACM-12584) - 하나 이상의 제품 컨테이너 이미지에 대한 업데이트를 제공합니다.
1.1.3.2. Errata 2.5.4
- 하나 이상의 제품 컨테이너 이미지에 대한 업데이트를 제공합니다.
1.1.3.3. Errata 2.5.3
-
호스팅된 컨트롤 플레인 클러스터의 기본 모드를
HighAvailability
모드로 설정하는 KubeVirt 생성 마법사에 필드를 추가했습니다. (ACM-10580) - 하나 이상의 제품 컨테이너 이미지에 대한 업데이트를 제공합니다.
1.1.3.4. Errata 2.5.2
- 백업 복원 시나리오를 실행하고 Red Hat OpenShift Data Foundation(ODF)용 Regional-DR 솔루션을 사용할 때 데이터 손실을 일으킬 수 있는 문제를 해결합니다. (ACM-10407)
- 하나 이상의 제품 컨테이너 이미지에 대한 업데이트를 제공합니다.
1.1.3.5. Errata 2.5.1
- 하나 이상의 제품 컨테이너 이미지에 대한 업데이트를 제공합니다.
1.1.4. 클러스터 라이프사이클 사용 중단 및 제거
제품의 일부가 다중 클러스터 엔진 Operator에서 더 이상 사용되지 않거나 제거되는 시기를 알아봅니다. 현재 릴리스와 두 개의 이전 릴리스의 테이블에 표시되는 권장 작업 및 세부 사항의 대체 작업을 고려하십시오.
1.1.4.1. API 사용 중단 및 제거
다중 클러스터 엔진 Operator는 API에 대한 Kubernetes 사용 중단 지침을 따릅니다. 해당 정책에 대한 자세한 내용은 Kubernetes 사용 중단 정책을 참조하십시오. 다중 클러스터 엔진 Operator API는 다음 타임라인 외부에서만 더 이상 사용되지 않거나 제거됩니다.
-
모든
V1
API는 일반적으로 12개월 또는 3개의 릴리스에서 더 큰 릴리스에서 일반적으로 사용할 수 있습니다. V1 API는 제거되지 않지만 시간 제한 외부에서 더 이상 사용되지 않을 수 있습니다. -
모든
베타
API는 일반적으로 9 개월 또는 세 번 릴리스에서 사용할 수 있습니다. 베타 API는 해당 시간 제한 외부에서 제거되지 않습니다. -
모든
알파
API는 지원되지 않아도 되지만 사용자에게 도움이 되는 경우 더 이상 사용되지 않거나 제거될 수 있습니다.
1.1.4.1.1. API 사용 중단
제품 또는 카테고리 | 영향을 받는 항목 | 버전 | 권장 작업 | 자세한 내용 및 링크 |
---|---|---|---|---|
ManagedServiceAccount |
| 2.9 |
| 없음 |
1.1.4.1.2. API 제거
제품 또는 카테고리 | 영향을 받는 항목 | 버전 | 권장 작업 | 자세한 내용 및 링크 |
1.1.4.2. deprecations
더 이상 사용되지 않는 구성 요소, 기능 또는 서비스가 지원되지만 더 이상 사용하지 않는 것은 권장되지 않으며 향후 릴리스에서 더 이상 사용되지 않을 수 있습니다. 권장 작업 및 다음 표에 제공되는 세부 사항의 대체 작업을 고려하십시오.
제품 또는 카테고리 | 영향을 받는 항목 | 버전 | 권장 작업 | 자세한 내용 및 링크 |
---|---|---|---|---|
클러스터 라이프사이클 | Red Hat Virtualization에서 클러스터 생성 | 2.9 | 없음 | 없음 |
클러스터 라이프사이클 | Klusterlet OLM Operator | 2.4 | 없음 | 없음 |
1.1.4.3. 제거
삭제된 항목은 일반적으로 이전 릴리스에서 더 이상 사용되지 않으며 제품에서 더 이상 사용할 수 없는 기능입니다. 제거된 함수에 대한 대안을 사용해야 합니다. 권장 작업 및 다음 표에 제공되는 세부 사항의 대체 작업을 고려하십시오.
제품 또는 카테고리 | 영향을 받는 항목 | 버전 | 권장 작업 | 자세한 내용 및 링크 |