애드온
1장. 관리형 클러스터 고급 구성
Red Hat Advanced Cluster Management for Kubernetes klusterlet 애드온을 사용하면 관리형 클러스터를 추가로 구성하여 성능을 개선하고 애플리케이션에 기능을 추가할 수 있습니다. 다음 활성화 옵션을 참조하십시오.
1.1. 클러스터 관리를 위해 클러스터에서 klusterlet 애드온 활성화
Kubernetes용 Red Hat Advanced Cluster Management를 설치한 후 다중 클러스터 엔진 Operator를 사용하여 클러스터를 생성하거나 가져오면 해당 관리 클러스터에 대해 klusterlet 애드온을 활성화할 수 있습니다. Red Hat Advanced Cluster Management 콘솔을 사용하거나 가져오지 않는 한 클러스터를 생성하거나 가져온 경우 klusterlet 애드온은 기본적으로 활성화되어 있지 않습니다. 사용 가능한 klusterlet 애드온을 참조하십시오.
- application-manager
- cert-policy-controller
- config-policy-controller
- iam-policy-controller
- governance-policy-framework
- search-collector
Red Hat Advanced Cluster Management를 설치한 후 관리 클러스터에 대해 klusterlet 애드온을 활성화하려면 다음 단계를 완료합니다.
애드온을 나타내는
spec
값을 사용하여 다음KlusterletAddonConfig
와 유사한 YAML 파일을 생성합니다.apiVersion: agent.open-cluster-management.io/v1 kind: KlusterletAddonConfig metadata: name: <cluster_name> namespace: <cluster_name> spec: applicationManager: enabled: true certPolicyController: enabled: true iamPolicyController: enabled: true policyController: 1 enabled: true searchCollector: enabled: true
- 1
policy-controller
애드온은 두 개의 애드온, 즉governance-policy-framework
와config-policy-controller
로 나뉩니다. 결과적으로policyController
는governance-policy-framework
및config-policy-controller
managedClusterAddons
를 제어합니다.
-
파일을
klusterlet-addon-config.yaml
로 저장합니다. hub 클러스터에서 다음 명령을 실행하여 YAML을 적용합니다.
oc apply -f klusterlet-addon-config.yaml
KlusterletAddonConfig
가 생성된 후 활성화된managedClusterAddons
가 생성되었는지 확인하려면 다음 명령을 실행합니다.oc get managedclusteraddons -n <cluster namespace>
1.2. klusterlet 애드온에 대한 nodeSelector 및 허용 오차 구성
Red Hat Advanced Cluster Management에서는 다음 klusterlet 애드온에 대한 nodeSelector 및 허용 오차를 구성할 수 있습니다.
- application-manager
- cert-policy-controller
- cluster-proxy
- config-policy-controller
- governance-policy-framework
- Hypershift-addon
- iam-policy-controller
- managed-serviceaccount
- observability-controller
- search-collector
- submariner
- volsync
- work-manager
다음 단계를 완료합니다.
-
AddonDeploymentConfig
API를 사용하여 hub 클러스터의 특정 네임스페이스에서nodeSelector
및tolerations
를 지정하는 구성을 생성합니다. 다음 템플릿을 기반으로 하는
addondeploymentconfig.yaml
파일을 생성합니다.apiVersion: addon.open-cluster-management.io/v1alpha1 kind: AddOnDeploymentConfig metadata: name: config-name 1 namespace: config-name-space 2 spec: nodePlacement: nodeSelector: node-selector 3 tolerations: tolerations 4
완료된
AddOnDeployment
파일은 다음 예와 유사할 수 있습니다.apiVersion: addon.open-cluster-management.io/v1alpha1 kind: AddOnDeploymentConfig metadata: name: deploy-config namespace: open-cluster-management-hub spec: nodePlacement: nodeSelector: "node-dedicated": "acm-addon" tolerations: - effect: NoSchedule key: node-dedicated value: acm-addon operator: Equal
다음 명령을 실행하여 생성한 파일을 적용합니다.
oc apply -f addondeploymentconfig
다음 명령을 실행하여 애드온의 글로벌 기본 구성으로 생성한 구성을 사용합니다.
oc patch clustermanagementaddons <addon-name> --type='json' -p='[{"op":"add", "path":"/spec/supportedConfigs", "value":[{"group":"addon.open-cluster-management.io","resource":"addondeploymentconfigs", "defaultConfig":{"name":"deploy-config","namespace":"open-cluster-management-hub"}}]}]'
-
addon-name
을 애드온 이름으로 교체합니다. -
config-name
을 방금 생성한AddonDeploymentConfig
의 이름으로 교체합니다. -
config-namespace
를 방금 생성한AddonDeploymentConfig
의 네임스페이스로 바꿉니다.
-
지정한 nodeSelector
및 허용 오차
는 각 관리 클러스터의 모든 추가 기능에 적용됩니다.
다음 단계를 사용하여 특정 관리 클러스터에서 애드온에 대한 글로벌 기본 AddonDeploymentConfig
구성을 덮어쓸 수도 있습니다.
-
AddonDeploymentConfig
API를 사용하여 허브 클러스터에서nodeSelector
및tolerations
를 지정하는 다른 구성을 생성합니다. 생성한 새 구성을 관리 클러스터의 애드온
ManagedClusterAddon
에 연결합니다.oc -n <managed-cluster> patch managedclusteraddons <addon-name> --type='json' -p='[{"op":"add", "path":"/spec/configs", "value":[ {"group":"addon.open-cluster-management.io","resource":"addondeploymentconfigs","namespace":"<config-namespace>","name":"<config-name>"} ]}]'
-
managed-cluster
를 관리 클러스터 이름으로 교체 -
addon-name
을 애드온 이름으로 교체 -
config-namespace
를 방금 생성한AddonDeploymentConfig
의 네임스페이스로 교체 config-name
을 방금 생성한AddonDeploymentConfig
의 이름으로 교체애드온
ManagedClusterAddon
에서 참조한 새 구성은ClusterManagementAddon
애드온에서 이전에 정의한 글로벌 기본 구성을 재정의합니다.
-
- 콘텐츠가 올바른 노드에 배포되도록 하려면 선택 사항: 특정 노드에서 실행되도록 klusterlet 구성의 단계를 완료합니다.
1.3. 기존 클러스터 애드온에서 클러스터 전체 프록시 활성화
클러스터 네임스페이스에서 KlusterletAddonConfig
를 구성하여 관리형 Red Hat OpenShift Container Platform 클러스터의 모든 klusterlet 애드온 Pod에 프록시 환경 변수를 추가할 수 있습니다. klusterlet add-ons 포드에 세 가지 환경 변수를 추가하도록 KlusterletAddonConfig
를 구성하려면 다음 단계를 완료합니다.
프록시가 필요한 클러스터의 네임스페이스에 있는
KlusterletAddonConfig
파일을 편집합니다. 콘솔을 사용하여 리소스를 검색하거나 다음 명령을 사용하여 터미널에서 편집할 수 있습니다.oc -n <my-cluster-name> edit klusterletaddonconfig <my-cluster-name>
참고: 하나의 클러스터에서만 작업하는 경우 명령 끝에 <
my-cluster-name
>이 필요하지 않습니다. 다음 명령을 참조하십시오.oc -n <my-cluster-name> edit klusterletaddonconfig
다음 예제와 동일하게 파일의
.spec.proxyConfig
섹션을 편집합니다.spec.proxyConfig
는 선택 사항 섹션입니다.spec proxyConfig: httpProxy: "<proxy_not_secure>" 1 httpsProxy: "<proxy_secure>" 2 noProxy: "<no_proxy>" 3
hub 클러스터에 구성된 클러스터 전체 프록시로 OpenShift Container Platform 클러스터가 생성되면 다음 조건이 충족될 때 klusterlet 애드온의 Pod에 클러스터 전체 프록시 구성 값이 추가됩니다.
-
addon
섹션의.spec.policyController.proxyPolicy
가 활성화되어OCPGlobalProxy
로 설정됩니다. .spec.applicationManager.proxyPolicy
가 활성화되고CustomProxy
로 설정됩니다.참고:
addon
섹션의proxyPolicy
기본값은Disabled
입니다.proxyPolicy
항목의 다음 예제를 참조하십시오.apiVersion: agent.open-cluster-management.io/v1 kind: KlusterletAddonConfig metadata: name: clusterName namespace: clusterName spec: proxyConfig: httpProxy: http://pxuser:12345@10.0.81.15:3128 httpsProxy: http://pxuser:12345@10.0.81.15:3128 noProxy: .cluster.local,.svc,10.128.0.0/14, example.com applicationManager: enabled: true proxyPolicy: CustomProxy policyController: enabled: true proxyPolicy: OCPGlobalProxy searchCollector: enabled: true proxyPolicy: Disabled certPolicyController: enabled: true proxyPolicy: Disabled iamPolicyController: enabled: true proxyPolicy: Disabled
-
중요: 글로벌 프록시 설정은 경고 전달에 영향을 미치지 않습니다. 클러스터 전체 프록시가 있는 Red Hat Advanced Cluster Management Hub 클러스터에 대한 경고 전달을 설정하려면 자세한 내용은 경고 전달을 참조하십시오.