검색

1장. 다중 클러스터 엔진 Operator가 포함된 클러스터 라이프사이클 개요

download PDF

멀티 클러스터 엔진 Operator는 OpenShift Container Platform 및 Red Hat Advanced Cluster Management Hub 클러스터에 대한 클러스터 관리 기능을 제공하는 클러스터 라이프사이클 Operator입니다. 허브 클러스터에서 클러스터를 생성 및 관리하고 생성한 클러스터를 제거할 수 있습니다. 또한 클러스터를 hibernate, 재개 및 분리할 수도 있습니다. 다음 문서에서 클러스터 라이프사이클 기능에 대해 자세히 알아보십시오.

지원 매트릭스 에 액세스하여 허브 클러스터 및 관리형 클러스터 요구 사항 및 지원에 대해 알아보십시오.

정보:

클러스터 라이프사이클 관리 아키텍처의 구성 요소는 클러스터 라이프사이클 아키텍처에 포함되어 있습니다.

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의 클러스터 라이프사이클과 관련된 새로운 기능에 대해 알아보십시오.

1.1.1.2. 인증 정보

  • 이제 VMware vSphere에서 연결이 끊긴 설치에 통합 콘솔을 사용하여 인증 정보를 생성하도록 Cluster OS 이미지 필드를 구성할 수 있습니다. 자세한 내용은 콘솔을 사용하여 인증 정보 관리를 참조하십시오.

1.1.1.3. 호스팅된 컨트롤 플레인

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. 제품 채널이 프로비저닝된 클러스터와 동기화되지 않음

clusterimagesetfast 채널이지만 프로비저닝된 클러스터는 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가 자동으로 다시 생성되지 않을 수 있습니다.

disableHubSelfManagementfalse 로 설정하는 동안 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 이미지의 파일 이름이 너무 길 수 있습니다. 긴 이미지 이름을 사용하면 이미지 프로비저닝과 클러스터 프로비저닝이 실패합니다. 이 문제가 있는지 확인하려면 다음 단계를 완료합니다.

  1. 다음 명령을 실행하여 프로비저닝 중인 클러스터의 베어 메탈 호스트 정보를 확인합니다.

    oc get bmh -n <cluster_provisioning_namespace>
  2. describe 명령을 실행하여 오류 정보를 확인합니다.

    oc describe bmh -n <cluster_provisioning_namespace> <bmh_name>
  3. 다음 예제와 유사한 오류는 파일 이름의 길이가 문제임을 나타냅니다.

    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-cluster 라는 클러스터를 다른 이름으로 다시 가져오려고 하면 local 클러스터의 상태 및 다시 가져오기된 클러스터의 상태가 오프라인으로 표시됩니다.

이 경우 복구하려면 다음 단계를 완료합니다.

  1. hub 클러스터에서 다음 명령을 실행하여 허브 클러스터의 자체 관리 설정을 일시적으로 편집합니다.

    oc edit mch -n open-cluster-management multiclusterhub
  2. spec.disableSelfManagement=true 설정을 추가합니다.
  3. hub 클러스터에서 다음 명령을 실행하여 local-cluster를 삭제하고 재배포합니다.

    oc delete managedcluster local-cluster
  4. 다음 명령을 입력하여 local-cluster 관리 설정을 제거합니다.

    oc edit mch -n open-cluster-management multiclusterhub
  5. 이전에 추가한 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.19. 클러스터 제거 프로세스가 완료되지 않음

관리 클러스터를 삭제하면 1시간 후에도 상태가 계속 Destroying 으로 표시되고 클러스터가 삭제되지 않습니다. 이 문제를 해결하려면 다음 단계를 완료합니다.

  1. 클라우드에 고립된 리소스가 없고 관리 클러스터와 연결된 모든 공급자 리소스가 정리되었는지 수동으로 확인합니다.
  2. 다음 명령을 입력하여 제거 중인 관리 클러스터의 ClusterDeployment 정보를 엽니다.

    oc edit clusterdeployment/<mycluster> -n <namespace>

    mycluster 를 제거하려는 관리 클러스터의 이름으로 바꿉니다.

    namespace 를 관리 클러스터의 네임스페이스로 바꿉니다.

  3. hive.openshift.io/deprovision 종료자를 제거하여 클라우드에서 클러스터 리소스를 정리하려는 프로세스를 강제로 중지합니다.
  4. 변경 사항을 저장하고 ClusterDeployment 이 사라졌는지 확인합니다.
  5. 다음 명령을 실행하여 관리 클러스터의 네임스페이스를 수동으로 제거합니다.

    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.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 를 활성화하려면 다음 단계를 완료합니다.

  1. 클라우드 공급자에는 서로 다른 LoadBalancer 구성이 있습니다. 자세한 내용은 클라우드 공급자 설명서를 참조하십시오.
  2. managedClusterInfo 상태의 loggingEndpoint 를 확인하여 Red Hat Advanced Cluster Management에서 LoadBalancer 가 활성화되어 있는지 확인합니다.
  3. 다음 명령을 실행하여 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을 차단하여 콘솔에 다음과 같은 오류 메시지가 표시됩니다.

부팅 가능한 장치 없음

이 문제를 해결하려면 다음 단계를 완료하십시오.

  1. 지원 설치를 사용할 때 다음 파일과 유사할 수 있는 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
  2. 짧은 URL로 bootArtifacts 를 노출하는 프록시 서버를 생성합니다.
  3. 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
  4. libvirt.xmlbootp 매개변수에 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.ioregistry.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 구성

통합 흐름을 비활성화하지 않고 활성화하거나 비활성화할 포트 번호를 결정하려면 네트워크 구성 을 참조하십시오.

통합 흐름을 비활성화하려면 다음 단계를 완료합니다.

  1. 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에서 활성화한 기능도 비활성화합니다.
  2. 다음 명령을 실행하여 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. tolerationsnodeSelector 설정은 managed-serviceaccount 에이전트에 영향을 미치지 않습니다.

MultiClusterEngineMultiClusterHub 리소스에 구성된 tolerationsnodeSelector 설정은 로컬 클러스터에 배포된 관리-serviceaccount 에이전트에 영향을 미치지 않습니다. 로컬 클러스터에서 managed-serviceaccount 애드온이 항상 필요한 것은 아닙니다.

managed-serviceaccount 애드온이 필요한 경우 다음 단계를 완료하여 문제를 해결할 수 있습니다.

  1. addonDeploymentConfig 사용자 정의 리소스를 생성합니다.
  2. 로컬 클러스터 및 managed-serviceaccount 에이전트의 tolerationsnodeSelector 값을 설정합니다.
  3. 생성한 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

v1alpha1 이 더 이상 사용되지 않으므로 v1alpha1 API가 v1beta1 로 업그레이드됩니다.

2.9

v1beta1 을 사용합니다.

없음

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. 제거

삭제된 항목은 일반적으로 이전 릴리스에서 더 이상 사용되지 않으며 제품에서 더 이상 사용할 수 없는 기능입니다. 제거된 함수에 대한 대안을 사용해야 합니다. 권장 작업 및 다음 표에 제공되는 세부 사항의 대체 작업을 고려하십시오.

제품 또는 카테고리

영향을 받는 항목

버전

권장 작업

자세한 내용 및 링크

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.