1.4. MultiClusterHub 고급 구성
Red Hat Advanced Cluster Management for Kubernetes는 필요한 모든 구성 요소를 배포하는 Operator를 사용하여 설치됩니다. 나열된 일부 구성 요소는 기본적으로 활성화되어 있습니다. 구성 요소가 비활성화 된 경우 해당 리소스가 활성화될 때까지 클러스터에 배포되지 않습니다. Operator는 다음 구성 요소를 배포하기 위해 작동합니다.
이름 | 설명 | 활성화됨 |
app-lifecycle | 애플리케이션 및 애플리케이션 업데이트를 구성하고 배포하기 위한 옵션을 통합하고 단순화합니다. | True |
cluster-backup | 관리 클러스터, 애플리케이션 및 정책과 같은 모든 허브 클러스터 리소스에 대한 백업 및 복원 지원을 제공합니다. | False |
cluster-lifecycle | OpenShift Container Platform 및 Red Hat Advanced Cluster Management Hub 클러스터를 위한 클러스터 관리 기능을 제공합니다. | True |
cluster-permission | RBAC 리소스를 관리 클러스터에 자동으로 배포하고 해당 리소스의 라이프사이클을 관리합니다. | True |
콘솔 | Red Hat Advanced Cluster Management 웹 콘솔 플러그인을 활성화합니다. | True |
grc | 클러스터 정책을 정의할 수 있도록 보안 개선 사항을 활성화합니다. | True |
Insights | 클러스터의 기존 또는 잠재적 문제를 식별합니다. | True |
multicluster-observability | 모니터링으로 관리되는 클러스터의 상태에 대한 추가 정보를 얻을 수 있습니다. | True |
search | 모든 클러스터에서 Kubernetes 리소스를 시각화할 수 있습니다. | True |
submariner-addon | 온-프레미스 또는 클라우드에 있는 두 개 이상의 관리 클러스터 간에 직접 네트워킹 및 서비스 검색을 활성화합니다. | True |
volsync | 클러스터 내에서 또는 복제와 호환되지 않는 스토리지 유형이 있는 클러스터에서 비동기식 영구 볼륨 복제를 지원합니다. | True |
Red Hat Advanced Cluster Management를 클러스터에 설치하는 경우 나열된 모든 구성 요소가 기본적으로 활성화되어 있는 것은 아닙니다.
MultiClusterHub
사용자 정의 리소스에 하나 이상의 속성을 추가하여 설치 중 또는 설치 후 Red Hat Advanced Cluster Management를 추가로 구성할 수 있습니다. 추가할 수 있는 속성에 대한 정보를 계속 읽습니다.
1.4.1. 콘솔 및 구성 요소 구성
다음 예제는 구성 요소를 활성화하거나 비활성화하는 데 사용할 수 있는 spec.overrides
기본 템플릿을 표시합니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> 1 spec: overrides: components: - name: <name> 2 enabled: true
-
namespace
를 프로젝트 이름으로 교체합니다. -
name
을 구성 요소의 이름으로 바꿉니다.
또는 다음 명령을 실행할 수 있습니다. namespace
를 프로젝트 및 name
의 이름으로 구성 요소 이름으로 교체합니다.
oc patch MultiClusterHub multiclusterhub -n <namespace> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"<name>","enabled":true}}]'
참고: 콘솔
구성 요소가 비활성화되면 Red Hat OpenShift Container Platform 콘솔이 비활성화됩니다.
1.4.2. 사용자 정의 이미지 가져오기 시크릿
OpenShift Container Platform 또는 Red Hat Advanced Cluster Management에서 생성하지 않은 Kubernetes 클러스터를 가져오려면 OpenShift Container Platform 풀 시크릿 정보가 있는 시크릿을 생성하여 배포 레지스트리에서 액세스할 수 있는 콘텐츠에 액세스합니다.
OpenShift Container Platform 클러스터의 시크릿 요구 사항은 OpenShift Container Platform 및 Red Hat Advanced Cluster Management에서 자동으로 해결되므로 관리할 다른 유형의 Kubernetes 클러스터를 가져오지 않는 경우 시크릿을 생성할 필요가 없습니다. OpenShift Container Platform 풀 시크릿은 Red Hat Customer Portal ID와 연결되며 모든 Kubernetes 공급자에서 동일합니다.
중요: 이러한 시크릿은 네임스페이스에 고유하므로 hub 클러스터에 사용하는 네임스페이스에 있는지 확인합니다.
- cloud.redhat.com/openshift/install/pull-secret 으로 이동하여 OpenShift Container Platform 풀 시크릿 파일을 다운로드합니다.
- 풀 시크릿 다운로드를 클릭합니다.
다음 명령을 실행하여 보안을 생성합니다.
oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjson
-
secret
을 생성하려는 시크릿 이름으로 교체합니다. -
시크릿은
네임스페이스에
따라 네임스페이스를 사용하므로 네임스페이스를 프로젝트 네임스페이스로 교체합니다. -
다운로드한 OpenShift Container Platform 풀 시크릿의 경로로
path-to-pull-secret
을 교체합니다.
-
다음 예제는 사용자 정의 풀 시크릿을 사용하려는 경우 사용할 spec.imagePullSecret
템플릿을 표시합니다. secret을 풀 시크릿 이름으로 교체합니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: imagePullSecret: <secret>
1.4.3. availabilityConfig
Red Hat Advanced Cluster Management Hub 클러스터에는 두 가지 가용성, 즉 High
및 Basic
이 있습니다. 기본적으로 허브 클러스터의 가용성은 High
이며 hub 클러스터 구성 요소에 2
의 replicaCount
를 제공합니다. 이는 장애 조치의 경우 더 나은 지원을 제공하지만 기본
가용성보다 많은 리소스를 사용하므로 구성 요소에 1
의 replicaCount
가 제공됩니다.
중요: 단일 노드 OpenShift 클러스터에서 다중 클러스터 엔진 Operator를 사용하는 경우 spec.availabilityConfig
를 Basic
으로 설정합니다.
다음 예제에서는 기본
가용성이 있는 spec.availabilityConfig
템플릿을 보여줍니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: availabilityConfig: "Basic"
1.4.4. nodeSelector
Red Hat Advanced Cluster Management Hub 클러스터에서 노드 선택기 세트를 정의하여 클러스터의 특정 노드에 설치할 수 있습니다. 다음 예제에서는 node-role.kubernetes.io/infra
라벨이 있는 노드에 Red Hat Advanced Cluster Management Pod를 할당하는 spec.nodeSelector
를 보여줍니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: nodeSelector: node-role.kubernetes.io/infra: ""
1.4.5. 허용 오차
Red Hat Advanced Cluster Management Hub 클러스터가 클러스터에 정의된 특정 테인트를 허용할 수 있도록 허용 오차 목록을 정의할 수 있습니다.
다음 예제는 node-role.kubernetes.io/infra
테인트와 일치하는 spec.tolerations
를 보여줍니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: tolerations: - key: node-role.kubernetes.io/infra effect: NoSchedule operator: Exists
이전 infra-node 허용 오차는 구성에 허용 오차를 지정하지 않고 기본적으로 Pod에 설정됩니다. 구성에서 허용 오차를 사용자 정의하면 이 기본값이 대체됩니다.
1.4.6. disableHubSelfManagement
기본적으로 Red Hat Advanced Cluster Management Hub 클러스터는 자동으로 가져와서 관리합니다. 이 관리 허브 클러스터의 이름은 local-cluster
입니다. hub 클러스터가 자체적으로 관리되는지 여부를 지정하는 설정은 multiclusterengine
사용자 정의 리소스에 있습니다. Red Hat Advanced Cluster Management에서 이 설정을 변경하면 multiclusterengine
사용자 정의 리소스의 설정이 자동으로 변경됩니다.
참고: 다중 클러스터 엔진 Operator 클러스터를 관리하는 Red Hat Advanced Cluster Management Hub 클러스터에서는 이전 수동 구성이 이 작업으로 교체됩니다.
Red Hat Advanced Cluster Management Hub 클러스터가 자체적으로 관리하도록 하려면 spec.disableHubSelfManagement
의 설정을 false
에서 true
로 변경해야 합니다. 설정이 사용자 지정 리소스를 정의하는 YAML 파일에 포함되어 있지 않은 경우 이를 추가해야 합니다. 허브 클러스터는 이 옵션을 사용하여 관리할 수 있습니다.
이 옵션을 true
로 설정하고 허브를 수동으로 관리하려고 하면 예기치 않은 동작이 발생합니다.
다음 예제에서는 허브 클러스터 자체 관리 기능을 비활성화하려는 경우 사용할 기본 템플릿을 보여줍니다. namespace
를 프로젝트 이름으로 교체합니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: disableHubSelfManagement: true
기본 local-cluster
를 활성화하려면 설정을 false
로 반환하거나 이 설정을 제거합니다.
1.4.7. disableUpdateClusterImageSets
모든 클러스터에 동일한 릴리스 이미지를 사용하도록 하려면 클러스터를 생성할 때 사용 가능한 고유한 사용자 정의 릴리스 이미지 목록을 생성할 수 있습니다.
사용 가능한 릴리스 이미지를 관리하고 spec.disableUpdateClusterImageSets
특성을 설정하기 위해 연결할 때 릴리스 이미지의 사용자 정의 목록 유지 관리의 다음 지침을 참조하십시오. 이 경우 사용자 정의 이미지 목록을 덮어쓰지 않습니다.
다음 예제에서는 클러스터 이미지 세트에 대한 업데이트를 비활성화하는 기본 템플릿을 보여줍니다. namespace
를 프로젝트 이름으로 교체합니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: disableUpdateClusterImageSets: true
1.4.8. customCAConfigmap (더 이상 사용되지 않음)
기본적으로 Red Hat OpenShift Container Platform은 Ingress Operator를 사용하여 내부 CA를 생성합니다.
다음 예제에서는 Red Hat Advanced Cluster Management에 사용자 지정 OpenShift Container Platform 기본 수신 CA 인증서를 제공하는 데 사용되는 기본 템플릿을 보여줍니다. namespace
를 프로젝트 이름으로 교체합니다. spec.customCAConfigmap
값을 ConfigMap
:의 이름으로 바꿉니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: customCAConfigmap: <configmap>
1.4.9. sslCiphers (더 이상 사용되지 않음)
기본적으로 Red Hat Advanced Cluster Management Hub 클러스터에는 지원되는 SSL 암호의 전체 목록이 포함되어 있습니다.
다음 예제는 관리 수신에 대한 sslCiphers
를 나열하는 데 사용되는 기본 spec.ingress.sslCiphers
템플릿을 보여줍니다. namespace
를 프로젝트 이름으로 교체합니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: ingress: sslCiphers: - "ECDHE-ECDSA-AES128-GCM-SHA256" - "ECDHE-RSA-AES128-GCM-SHA256"
1.4.10. ClusterBackup
enableClusterBackup
필드는 더 이상 지원되지 않으며 이 구성 요소로 교체됩니다.
다음 예제에서는 ClusterBackup
을 활성화하는 데 사용되는 spec.overrides
기본 템플릿을 보여줍니다. namespace
를 프로젝트 이름으로 교체합니다.
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: overrides: components: - name: cluster-backup enabled: true
또는 다음 명령을 실행할 수 있습니다. namespace
를 프로젝트 이름으로 교체합니다.
oc patch MultiClusterHub multiclusterhub -n <namespace> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"cluster-backup","enabled":true}}]'