1.14. ManagedClusterSets 생성 및 관리
ManagedClusterSet 은 관리형 클러스터 그룹입니다. 관리형 클러스터 세트를 사용하면 그룹의 모든 관리형 클러스터에 대한 액세스를 함께 관리할 수 있습니다. ManagedClusterSetBinding 리소스를 생성하여 ManagedClusterSet 리소스를 네임스페이스에 바인딩할 수도 있습니다.
각 관리 클러스터는 ManagedClusterSet 의 멤버여야 합니다. hub 클러스터를 설치하면 default 라고 하는 기본 ManagedClusterSet 이 생성됩니다. 관리형 클러스터 세트에 특별히 할당되지 않은 모든 관리형 클러스터는 기본 관리 클러스터 세트에 자동으로 할당됩니다. 기본 관리 클러스터 세트를 항상 사용할 수 있도록 하려면 기본 관리 클러스터 세트를 삭제하거나 업데이트할 수 없습니다.
참고: ManagedClusterSet에 특별히 추가되지 않은 클러스터 풀은 기본 에 추가되지 않습니다. 관리형 클러스터가 클러스터 풀에서 요청되면 다른 ManagedClusterSet ManagedClusterSet 에 특별히 추가되지 않는 경우 기본 ManagedClusterSet 에 추가됩니다.
1.14.1. ManagedClusterSet 생성 링크 복사링크가 클립보드에 복사되었습니다!
관리형 클러스터에서 함께 관리 클러스터를 그룹화하여 관리형 클러스터에서 사용자 액세스를 제한할 수 있습니다.
필수 액세스: 클러스터 관리자
ManagedClusterSet 은 클러스터 범위 리소스이므로 ManagedClusterSet 을 생성하는 클러스터의 클러스터 관리 권한이 있어야 합니다. 관리 클러스터는 둘 이상의 ManagedClusterSet 에 포함할 수 없습니다. Kubernetes 콘솔의 Red Hat Advanced Cluster Management 또는 명령줄 인터페이스에서 관리형 클러스터 세트를 생성할 수 있습니다.
1.14.1.1. 콘솔을 사용하여 ManagedClusterSet 생성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management 콘솔을 사용하여 설정된 관리형 클러스터를 생성하려면 다음 단계를 완료합니다.
- 기본 콘솔 탐색에서 인프라 > 클러스터를 선택하고 클러스터 설정 탭이 선택되었는지 확인합니다.
- 클러스터 세트 만들기 를 선택하고 클러스터 세트의 이름을 입력합니다.
1.14.1.2. 명령줄을 사용하여 ManagedClusterSet 생성 링크 복사링크가 클립보드에 복사되었습니다!
관리형 클러스터 세트의 다음 정의를 yaml 파일에 추가하여 명령줄을 사용하여 관리되는 클러스터 세트를 생성합니다.
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: ManagedClusterSet metadata: name: <clusterset1>
apiVersion: cluster.open-cluster-management.io/v1beta1
kind: ManagedClusterSet
metadata:
name: <clusterset1>
clusterset1 을 관리 클러스터 세트의 이름으로 교체합니다.
1.14.2. ManagedClusterSet에 사용자 또는 그룹 역할 기반 액세스 제어 권한 할당 링크 복사링크가 클립보드에 복사되었습니다!
hub 클러스터에서 구성된 ID 공급자가 제공하는 사용자 또는 그룹을 클러스터에 할당할 수 있습니다.
필수 액세스 권한: 클러스터 관리자
ManagedClusterSet API는 두 가지 수준의 RBAC 권한을 제공합니다.
클러스터 세트
관리자- 관리 클러스터 세트에 할당된 모든 클러스터 및 클러스터 풀 리소스에 대한 전체 액세스 권한입니다.
- 클러스터를 생성하고, 클러스터를 가져오고, 클러스터 풀을 생성할 수 있는 권한입니다. 관리 클러스터 세트가 생성될 때 권한을 관리 클러스터에 할당해야 합니다.
클러스터 세트
보기- 관리 클러스터 세트에 할당된 모든 클러스터 및 클러스터 풀 리소스에 대한 권한만 읽습니다.
- 클러스터를 생성하거나 클러스터를 가져오거나 클러스터 풀을 생성할 수 있는 권한이 없습니다.
Red Hat Advanced Cluster Management 콘솔에서 관리형 클러스터에 사용자 또는 그룹을 할당하려면 다음 단계를 완료합니다.
- 콘솔의 메인 탐색 메뉴에서 인프라 > 클러스터를 선택합니다.
- 클러스터 세트 탭을 선택합니다.
- 대상 클러스터 세트를 선택합니다.
- 액세스 관리 탭을 선택합니다.
- 사용자 또는 그룹 추가를 선택합니다.
- 액세스 권한을 검색하고 제공할 사용자 또는 그룹을 선택합니다.
- Cluster set admin 또는 Cluster set view 역할을 선택하여 선택한 사용자 또는 사용자 그룹에 제공합니다. 역할 권한에 대한 자세한 내용은 역할 개요 를 참조하십시오.
- 추가 를 선택하여 변경 사항을 제출합니다.
사용자 또는 그룹이 테이블에 표시됩니다. 모든 관리 클러스터 세트 리소스가 사용자 또는 그룹에 전파되도록 권한 할당에 대해 권한 할당이 몇 초 정도 걸릴 수 있습니다.
역할 기반 작업에 대한 자세한 내용은 역할 기반 액세스 제어를 참조하십시오.
배치 정보는 ManagedClusterSets를 배치와 함께 사용을 참조하십시오.
1.14.2.1. ManagedClusterSetBinding 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
ManagedClusterSetBinding 리소스를 생성하여 ManagedClusterSet 리소스를 네임스페이스에 바인딩합니다. 동일한 네임스페이스에서 생성되는 애플리케이션 및 정책은 바인딩된 관리형 클러스터 세트 리소스에 포함된 관리형 클러스터에만 액세스할 수 있습니다.
네임스페이스에 대한 액세스 권한은 해당 네임스페이스에 바인딩된 관리형 클러스터 세트에 자동으로 적용됩니다. 관리 클러스터 세트가 바인딩된 네임스페이스에 액세스할 수 있는 액세스 권한이 있는 경우 해당 네임스페이스에 바인딩된 모든 관리 클러스터 세트에 액세스할 수 있는 권한이 자동으로 부여됩니다. 그러나 관리형 클러스터 세트에 액세스할 수 있는 권한만 있는 경우 해당 네임스페이스의 다른 관리 클러스터 세트에 액세스할 수 있는 권한이 자동으로 없습니다. 관리형 클러스터 세트가 표시되지 않으면 이를 확인하는 데 필요한 권한이 없을 수 있습니다.
콘솔 또는 명령줄을 사용하여 관리형 클러스터 세트 바인딩을 생성할 수 있습니다.
1.14.2.1.1. 콘솔을 사용하여 ManagedClusterSetBinding 생성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management 콘솔을 사용하여 설정된 관리형 클러스터에서 클러스터를 제거하려면 다음 단계를 완료합니다.
- 기본 탐색에서 인프라 > 클러스터를 선택하고 클러스터 세트 탭을 선택하여 클러스터 페이지에 액세스합니다.
- 클러스터 세트 세부 정보를 보려면 바인딩을 생성할 클러스터 세트의 이름을 선택합니다.
- 작업 > 네임스페이스 바인딩 편집 을 선택합니다.
- 네임스페이스 바인딩 편집 페이지의 드롭다운 메뉴에서 클러스터 세트를 바인딩할 네임스페이스를 선택합니다. 클러스터 세트에 대한 바인딩이 있는 기존 네임스페이스가 이미 선택되어 있습니다.
1.14.2.1.2. 명령줄을 사용하여 ManagedClusterSetBinding 생성 링크 복사링크가 클립보드에 복사되었습니다!
명령줄을 사용하여 관리형 클러스터 세트 바인딩을 생성하려면 다음 단계를 완료합니다.
yaml파일에ManagedClusterSetBinding리소스를 생성합니다. 관리형 클러스터 세트 바인딩을 생성할 때 관리형 클러스터 세트 바인딩의 이름이 바인딩되도록 관리형 클러스터 세트의 이름과 일치해야 합니다.ManagedClusterSetBinding리소스는 다음 정보와 유사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대상 관리 클러스터에 대한 바인딩 권한이 설정되어 있는지 확인합니다. 사용자가
clusterset1에 바인딩할 수 있는 규칙이 포함된ClusterRole리소스의 다음 예제를 봅니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.14.3. ManagedClusterSet에 클러스터 추가 링크 복사링크가 클립보드에 복사되었습니다!
ManagedClusterSet 을 생성한 후 하나 이상의 관리 클러스터를 추가해야 합니다. 콘솔 또는 명령줄을 사용하여 설정된 관리형 클러스터를 관리 클러스터에 추가할 수 있습니다.
1.14.3.1. 콘솔을 사용하여 ManagedClusterSet에 클러스터 추가 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management 콘솔을 사용하여 설정된 관리형 클러스터에 클러스터를 추가하려면 다음 단계를 완료합니다.
- 관리형 클러스터 세트를 방금 만든 경우 리소스 할당 관리를 선택하여 리소스 할당 관리 페이지로 직접 이동합니다. 이 절차의 6단계를 계속 진행합니다.
- 클러스터가 이미 존재하는 경우 기본 탐색에서 인프라 > 클러스터를 선택하여 클러스터 페이지에 액세스합니다.
- 사용 가능한 클러스터 세트를 보려면 클러스터 세트 탭을 선택합니다.
- 클러스터 세트 세부 정보를 보려면 관리형 클러스터 세트에 추가할 클러스터 세트의 이름을 선택합니다.
- 작업 > 리소스 할당 관리를 선택합니다.
- 리소스 할당 관리 페이지에서 클러스터 세트에 추가할 리소스의 확인란을 선택합니다.
- 검토를 선택하여 변경 사항을 검토합니다.
저장 을 선택하여 변경 사항을 저장합니다.
참고: 관리 대상 클러스터에서 다른 클러스터로 설정된 관리형 클러스터를 이동하는 경우 두 관리 클러스터 세트 모두에서 필요한 RBAC 권한을 사용할 수 있어야 합니다.
1.14.3.2. 명령줄을 사용하여 ManagedClusterSet에 클러스터 추가 링크 복사링크가 클립보드에 복사되었습니다!
명령줄을 사용하여 설정된 관리형 클러스터에 클러스터를 추가하려면 다음 단계를 완료합니다.
managedclustersets/join의 가상 하위 리소스에서 생성할 수 있는 RBACClusterRole항목이 있는지 확인합니다. 이 권한이 없으면 관리 클러스터를ManagedClusterSet에 할당할 수 없습니다.이 항목이 없으면
yaml파일에 추가합니다. 샘플 항목은 다음 내용과 유사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow clusterset1을ManagedClusterSet의 이름으로 교체합니다.참고: 관리 클러스터를 하나의
ManagedClusterSet에서 다른 클러스터로 이동하는 경우 두 관리 클러스터 세트 모두에서 사용 가능한 권한이 있어야 합니다.yaml파일에서 관리 클러스터의 정의를 찾습니다. 레이블을 추가하는 관리형 클러스터 정의의 섹션은 다음 내용과 유사합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서
cluster1은 관리 클러스터의 이름입니다.ManagedClusterSet의 이름을cluster.open-cluster-management.io/clusterset: clusterset1형식으로 지정하는 레이블을 추가합니다.코드는 다음 예와 유사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서
cluster1은 관리형 클러스터 세트 이름clusterset1에 추가된 클러스터입니다.참고: 관리형 클러스터가 삭제된 관리형 클러스터 세트에 이전에 할당된 경우 관리 클러스터에 존재하지 않는 클러스터 세트에 이미 지정된 관리형 클러스터 세트가 있을 수 있습니다. 이 경우 이름을 새 이름으로 바꿉니다.
1.14.4. ManagedClusterSet에서 관리형 클러스터 제거 링크 복사링크가 클립보드에 복사되었습니다!
관리형 클러스터 세트에서 관리 클러스터를 제거하여 다른 관리 클러스터 세트로 이동하거나 세트의 관리 설정에서 제거할 수 있습니다. 콘솔 또는 명령줄 인터페이스를 사용하여 설정된 관리형 클러스터에서 관리형 클러스터를 제거할 수 있습니다.
참고: 관리되는 모든 클러스터는 관리형 클러스터 세트에 할당해야 합니다. ManagedClusterSet 에서 관리 클러스터를 제거하고 다른 ManagedClusterSet 에 할당하지 않으면 기본 관리형 클러스터 세트에 자동으로 추가됩니다.
1.14.4.1. 콘솔을 사용하여 ManagedClusterSet에서 관리 클러스터 제거 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Advanced Cluster Management 콘솔을 사용하여 설정된 관리형 클러스터에서 클러스터를 제거하려면 다음 단계를 완료합니다.
- 관리형 클러스터 세트를 방금 만든 경우 리소스 할당 관리를 선택하여 리소스 할당 관리 페이지로 직접 이동합니다. 이 절차의 5단계를 계속 진행합니다.
- 클러스터가 이미 존재하는 경우 기본 탐색에서 인프라 > 클러스터를 선택하고 클러스터 설정 탭이 선택되어 있는지 확인하여 클러스터 페이지에 액세스합니다.
- 클러스터 세트 세부 정보를 보려면 관리형 클러스터에서 제거할 클러스터 세트의 이름을 선택합니다.
- 작업 > 리소스 할당 관리를 선택합니다.
리소스 할당 관리 페이지에서 클러스터 세트에서 제거할 리소스의 확인란을 선택합니다.
이 단계에서는 이미 클러스터 세트의 멤버인 리소스를 제거하거나 클러스터 세트의 멤버가 아닌 리소스를 추가합니다. 관리 클러스터의 세부 정보를 확인하여 리소스가 이미 클러스터 세트의 멤버인지 확인할 수 있습니다.
참고: 관리 대상 클러스터에서 다른 클러스터로 설정된 관리 클러스터를 이동하는 경우 두 관리 클러스터 세트에 대해 필요한 RBAC 권한이 있어야 합니다.
1.14.4.2. 명령줄을 사용하여 ManagedClusterSet에서 클러스터 제거 링크 복사링크가 클립보드에 복사되었습니다!
명령줄을 사용하여 설정된 관리형 클러스터에서 관리형 클러스터를 제거하려면 다음 단계를 완료하십시오.
다음 명령을 실행하여 관리형 클러스터 세트의 관리형 클러스터 목록을 표시합니다.
oc get managedclusters -l cluster.open-cluster-management.io/clusterset=<clusterset1>
oc get managedclusters -l cluster.open-cluster-management.io/clusterset=<clusterset1>Copy to Clipboard Copied! Toggle word wrap Toggle overflow clusterset1을 관리 클러스터 세트의 이름으로 교체합니다.- 제거할 클러스터의 항목을 찾습니다.
제거할 클러스터의
yaml항목에서 레이블을 제거합니다. 레이블 예제는 다음 코드를 참조하십시오.labels: cluster.open-cluster-management.io/clusterset: clusterset1
labels: cluster.open-cluster-management.io/clusterset: clusterset1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
참고: 관리 대상 클러스터에서 다른 클러스터로 설정된 관리 클러스터를 이동하는 경우 두 관리 클러스터 세트 모두에서 필요한 RBAC 권한을 사용할 수 있어야 합니다.
1.14.5. 배치와 함께 ManagedClusterSets 사용 링크 복사링크가 클립보드에 복사되었습니다!
배치 리소스는 배치 네임스페이스에 바인딩된 ManagedClusterSets 에서 ManagedClusters 세트를 선택하는 규칙을 정의하는 네임스페이스 범위 리소스입니다.
필수 액세스: 클러스터 관리자, 클러스터 세트 관리자
1.14.5.1. 배치 개요 링크 복사링크가 클립보드에 복사되었습니다!
관리형 클러스터의 배치 작동 방식에 대한 다음 정보를 참조하십시오.
-
Kubernetes 클러스터는 클러스터 범위의
ManagedClusters로 허브 클러스터에 등록됩니다. -
ManagedClusters는 클러스터 범위ManagedClusterSets로 구성됩니다. -
ManagedClusterSets는 워크로드 네임스페이스에 바인딩됩니다. -
네임스페이스 범위
배치는 잠재적인의 작업 세트를 선택하는ManagedClustersManagedClusterSets의 일부를 지정합니다. 배치는레이블 및 클레임 선택기를 사용하여 해당 작업 세트에서 선택합니다.중요:
배치네임스페이스에 바인딩된이 없는 경우 ManagedCluster를 선택하지 않습니다.ManagedClusterSet-
ManagedClusters배치는 테인트 및 톨러레이션을 사용하여 제어할 수 있습니다. 자세한 내용은 테인트 및 허용 오차를 사용하여 관리 클러스터 배치를 참조하십시오.
배치 사양에는 다음 필드가 포함됩니다.
ClusterSets는ManagedClusters가 선택된ManagedClusterSets를 나타냅니다.-
지정하지 않으면 배치 네임스페이스에 바인딩된
ManagedClusterSets에서ManagedClusters가 선택됩니다. -
지정된 경우 이 세트의 교집합에서
ManagedClusters가 선택되고 placement 네임스페이스에 바인딩된ManagedClusterSets가 선택됩니다.
-
지정하지 않으면 배치 네임스페이스에 바인딩된
NumberOfClusters는 배치 요구 사항을 충족하는 원하는ManagedClusters수를 나타냅니다.지정하지 않으면 배치 요구 사항을 충족하는 모든
ManagedClusters가 선택됩니다.-
서술자는 레이블 및 클레임 선택기가 있는ManagedClusters를 선택하는 서술자 슬라이스를 나타냅니다. 서술자는 ORed입니다. prioritizerPolicy는 우선순위 정책을 나타냅니다.모드는Exact,Additive,""입니다. 여기서""는 기본적으로Additive입니다.-
Additive모드에서는 구성 값이 특별히 제공되지 않는 모든 우선순위가 기본 구성으로 활성화됩니다. 현재 기본 구성에서 CloudEvent ady 및 Balance 우선순위에는 가중치가 1이고 다른 우선순위는 0입니다. 나중에 기본 구성이 변경될 수 있으므로 우선순위가 변경될 수 있습니다.추가모드에서는 우선순위를 모두 구성할 필요가 없습니다. -
Exact모드에서 구성 값과 함께 특별히 제공되지 않는 모든 우선순위에는 가중치가 0입니다.exact모드를 사용하려면 원하는 우선순위의 전체 세트를 입력해야 하지만 릴리스 간 동작 변경은 방지할 수 있습니다.
-
구성은우선순위 지정자의 구성을 나타냅니다.scoreCoordinate는 우선순위 및 점수 소스의 구성을 나타냅니다.
-
type은 우선순위가 높은 점수의 유형을 정의합니다. 유형은BuiltIn,AddOn," ", 여기서" "는 기본적으로BuiltIn입니다. 유형이BuiltIn인 경우 내장 우선 순위 이름 을 지정해야 합니다. 유형이AddOn인 경우AddOn에서 점수 소스를 구성해야 합니다. builtin은 BuiltIn우선순위r의 이름을 정의합니다. 다음 목록에는 유효한BuiltIn우선순위 지정자 이름이 포함되어 있습니다.- 균형: 클러스터 간 결정에 균형을 유지합니다.
- steady: 기존 결정이 안정되었는지 확인합니다.
- ResourceAllocatableCPU 및 ResourceAllocatableMemory: 할당 가능한 리소스를 기반으로 클러스터를 정렬합니다.
Addon은 리소스 이름과 점수 이름을 정의합니다.AddOnPlacementScore는 애드온 점수를 설명하기 위해 도입되었습니다. 자세한 내용은 확장 가능 예약을 참조하십시오.-
resourceName은AddOnPlacementScore의 리소스 이름을 정의합니다. 배치 우선순위는 이 이름으로AddOnPlacementScore사용자 정의 리소스를 선택합니다. -
scoreName은AddOnPlacementScore내부의 점수 이름을 정의합니다.AddOnPlacementScore에는 점수 이름 목록과 점수 값이 포함되어 있습니다.scoreName은 우선순위에서 사용할 점수를 지정합니다.
-
-
-
weight는 우선순위의 가중치를 정의합니다. 값은 [-10,10] 범위에 있어야 합니다. 각 우선순위는 [-100, 100] 범위에서 클러스터의 정수 점수를 계산합니다. 클러스터의 최종 점수는 다음 공식합계(weight * priorityr_score)에 따라 결정됩니다. 가중치가 높아지면 우선 순위가 클러스터 선택에서 더 높은 가중치를 수신하지만 가중치 0은 우선순위가 비활성화되었음을 나타냅니다. 음수 가중치는 마지막 선택된 항목 중 하나임을 나타냅니다.
참고: configurations.name 파일은 v1beta1에서 제거되고 scoreCoordinate.builtIn 파일로 대체됩니다. name 및 scoreCoordinate.builtIn 이 모두 정의된 경우 scoreCoordinate.builtIn 의 값을 사용하여 선택을 결정합니다.
1.14.5.2. 배치 예 링크 복사링크가 클립보드에 복사되었습니다!
해당 네임스페이스에서 을 생성하여 하나 이상의 ManagedClusterSet을 네임스페이스에 바인딩해야 합니다. 참고: ManagedClusterSet Bindingmanagedclustersets/bind 의 가상 하위 리소스에서 CREATE 에 대한 역할 기반 액세스가 필요합니다. 다음 예제를 참조하십시오.
labelSelector를 사용하여ManagedClusters를 선택할 수 있습니다.labelSelector만 라벨공급 업체의 클러스터와 일치하는 다음 샘플을 참조하십시오. OpenShift :Copy to Clipboard Copied! Toggle word wrap Toggle overflow claimSelector를 사용하여ManagedClusters를 선택할 수 있습니다.claimSelector만region.open-cluster-management.io와us-west-1과 일치하는 다음 샘플을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정
clusterSets에서ManagedClusters를 선택할 수 있습니다.claimSelector만clusterSets:clusterset1clusterset2와 일치하는 다음 샘플을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 원하는 수의
ManagedClusters를 선택합니다.numberOfClusters가3인 다음 샘플을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 가장 큰 할당 가능 메모리가 있는 클러스터를 선택합니다.
참고: Kubernetes Node Allocatable 과 달리 '모든 할당 가능'은 각 클러스터의 Pod에 사용할 수 있는 컴퓨팅 리소스의 양으로 정의됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 할당 가능한 가장 큰 CPU 및 메모리가 있는 클러스터를 선택하고 리소스 변경에 민감하게 배치합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 할당 가능한 가장 큰 메모리와 가장 큰 애드온 점수 cpu 비율이 있는 두 클러스터를 선택하고 배치 결정을 고정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.14.5.3. 배치 결정 링크 복사링크가 클립보드에 복사되었습니다!
cluster.open-cluster-management.io/placement name} 레이블이 있는 하나 이상의 를 나타냅니다.
Placement Decision s 가 생성되어 배치에서 선택한 ManagedCluster
ManagedCluster 를 선택하고 에 추가하면 이 배치를 사용하는 구성 요소가 이 Placement DecisionManagedCluster 에 워크로드를 적용할 수 있습니다. ManagedCluster 가 더 이상 선택되지 않고 PlacementDecisions 에서 제거된 후 이 ManagedCluster 에 적용되는 워크로드를 적절하게 제거해야 합니다.
다음 PlacementDecision 샘플을 참조하십시오.
1.14.5.4. 애드온 상태 링크 복사링크가 클립보드에 복사되었습니다!
배포된 애드온의 상태에 따라 배치에 사용할 관리 클러스터를 선택할 수 있습니다. 예를 들어 클러스터에 활성화된 특정 추가 기능이 있는 경우에만 배치용으로 관리 클러스터를 선택하려고 합니다.
배치를 생성할 때 애드온의 라벨과 필요한 경우 상태를 지정하여 이 작업을 수행할 수 있습니다. 클러스터에서 애드온이 활성화된 경우 ManagedCluster 리소스에 레이블이 자동으로 생성됩니다. 애드온이 비활성화된 경우 라벨이 자동으로 제거됩니다.
각 애드온은 feature.open-cluster-management.io/addon-<addon-<addon_name>=<status_of_addon > 형식의 레이블로 표시됩니다.
addon_name 을 선택할 관리 클러스터에서 활성화해야 하는 애드온의 이름으로 바꿉니다.
클러스터를 선택한 경우 status_of_addon 을 애드온에 보유해야 하는 상태로 교체합니다. status_of_addon 의 가능한 값은 다음 목록에 있습니다.
-
사용 가능: 애드온이 활성화되어 사용 가능합니다. -
비정상: 애드온이 활성화되어 있지만 리스가 지속적으로 업데이트되지 않습니다. -
unreachable: 애드온이 활성화되어 있지만 리스가 없습니다. 이는 관리 클러스터가 오프라인 상태일 때도 발생할 수 있습니다.
예를 들어 사용 가능한 application-manager 애드온은 다음과 같은 관리 대상 클러스터의 레이블로 표시됩니다.
feature.open-cluster-management.io/addon-application-manager: available
feature.open-cluster-management.io/addon-application-manager: available
애드온 및 해당 상태를 기반으로 배치를 생성하는 다음 예제를 참조하십시오.
다음 YAML 콘텐츠를 추가하여
application-manager가 활성화된 모든 관리 클러스터를 포함하는 배치를 생성할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 YAML 콘텐츠를 추가하여
application-manager가사용 가능한상태로 활성화된 모든 관리 클러스터를 포함하는 배치를 생성할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 YAML 콘텐츠를 추가하여
application-manager가 비활성화된 모든 관리 클러스터를 포함하는 배치를 생성할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.14.5.5. 확장 가능한 예약 링크 복사링크가 클립보드에 복사되었습니다!
배치 리소스 기반 예약에서 우선순위에는 관리 클러스터의 점수를 계산하기 위해 MananagedCluster 리소스에서 제공하는 기본값보다 더 많은 데이터가 필요한 경우가 있습니다. 예를 들어 모니터링 시스템을 통해 가져온 클러스터의 CPU 또는 메모리 사용량 데이터를 기반으로 클러스터를 예약합니다.
API AddOnPlacementScore 는 사용자 정의 점수를 기반으로 보다 확장 가능한 일정을 설정하는 방법을 지원합니다.
-
placement.yaml파일의 점수를 지정하여 클러스터를 선택할 수 있습니다. -
점수 제공자로서 타사 컨트롤러는 허브 클러스터 또는 관리 클러스터에서 실행되어
AddOnPlacementScore의 라이프사이클을 유지하고 이에 대한 업데이트 점수를 유지할 수 있습니다.
자세한 내용은 오픈 클러스터 관리 리포지토리에서 확장 가능한 스케줄링 기능 배치를 참조하십시오.
1.14.6. 테인트 및 허용 오차를 사용하여 관리 클러스터 배치 링크 복사링크가 클립보드에 복사되었습니다!
테인트 및 톨러레이션을 사용하여 관리 클러스터 또는 관리형 클러스터 세트의 배치를 제어할 수 있습니다. 테인트 및 허용 오차는 관리 클러스터가 특정 배치에 대해 선택되지 않도록 하는 방법을 제공합니다. 특정 관리 클러스터가 일부 배치에 포함되지 않도록 하려면 이 제어가 유용할 수 있습니다. 관리형 클러스터에 테인트를 추가하고 배치에 허용 오차를 추가할 수 있습니다. 테인트 및 허용 오차가 일치하지 않으면 해당 배치에 대해 관리 클러스터가 선택되지 않습니다.
1.14.6.1. 관리형 클러스터에 테인트 추가 링크 복사링크가 클립보드에 복사되었습니다!
테인트는 관리형 클러스터의 속성에 지정되며, 배치가 관리 클러스터 또는 관리되는 클러스터 집합을 거절할 수 있습니다. 다음 예와 유사한 명령을 입력하여 관리형 클러스터에 테인트를 추가할 수 있습니다.
kubectl taint ManagedCluster <managed_cluster_name> key=value:NoSelect
kubectl taint ManagedCluster <managed_cluster_name> key=value:NoSelect
테인트 사양에는 다음 필드가 포함됩니다.
-
필수 키 - 클러스터에 적용되는 테인트 키입니다. 이 값은 해당 배치에 추가되는 기준을 충족하는 관리형 클러스터의 허용 오차 값과 일치해야 합니다. 이 값을 확인할 수 있습니다. 예를 들어 이 값은
bar또는foo.example.com/bar일 수 있습니다. -
선택사항 값 - taint 키의 taint 값입니다. 이 값은 해당 배치에 추가되는 기준을 충족하는 관리형 클러스터의 허용 오차 값과 일치해야 합니다. 예를 들어 이 값은
value일 수 있습니다. 필수 Effect - 테인트를 허용하지 않는 배치 또는 배치의 허용 오차가 일치하지 않을 때 발생하는 항목에 대한 테인트의 영향입니다. 효과 값은 다음 값 중 하나여야 합니다.
-
NoSelect- 배치는 이 테인트를 허용하지 않는 한 클러스터를 선택할 수 없습니다. 테인트를 설정하기 전에 배치에 의해 클러스터를 선택하면 배치 결정에서 클러스터가 제거됩니다. -
NoSelectIfNew- 스케줄러가 새 클러스터인 경우 클러스터를 선택할 수 없습니다. 배치는 테인트를 허용하고 클러스터가 이미 클러스터가 결정되도록 하는 경우에만 클러스터를 선택할 수 있습니다.
-
-
필수
TimeAdded- 테인트가 추가된 시간입니다. 이 값은 자동으로 설정됩니다.
1.14.6.2. 관리형 클러스터의 상태를 반영하기 위해 기본 제공 테인트 식별 링크 복사링크가 클립보드에 복사되었습니다!
관리형 클러스터에 액세스할 수 없는 경우 클러스터를 배치에 추가하지 않도록 합니다. 다음 테인트는 액세스할 수 없는 관리형 클러스터에 자동으로 추가됩니다.
cluster.open-cluster-management.io/unavailable- 이 테인트는 클러스터에False상태의ManagedClusterConditionAvailable조건이 있는 경우 관리 클러스터에 추가됩니다. 테인트는NoSelect의 효과가 있으며, 사용할 수 없는 클러스터가 예약되지 않도록 하는 빈 값이 비어 있습니다. 이 테인트의 예는 다음 콘텐츠에 제공됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster.open-cluster-management.io/unreachable- 이 테인트는ManagedClusterConditionAvailable조건의 상태가Unknown이거나 조건이 없는 경우 관리형 클러스터에 추가됩니다. 테인트는NoSelect의 효과가 있으며 연결할 수 없는 클러스터가 예약되지 않도록 하는 빈 값이 비어 있습니다. 이 테인트의 예는 다음 콘텐츠에 제공됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.14.6.3. 배치에 허용 오차 추가 링크 복사링크가 클립보드에 복사되었습니다!
허용 오차는 배치에 적용되며 배치 허용 오차와 일치하는 테인트가 없는 관리형 클러스터를 배치할 수 있습니다. 허용 오차 사양에는 다음 필드가 포함됩니다.
- 선택 사항 키 - 키가 배치를 허용하는 taint 키와 일치합니다.
- 선택 사항 - 허용 오차의 값은 배치를 허용하려면 허용 오차의 테인트 값과 일치해야 합니다.
선택적 Operator - 연산자는 키와 값 간의 관계를 나타냅니다. 유효한 연산자는
동일하고존재합니다. 기본값은동일합니다. 키가 동일하고 효과가 동일할 때 허용 오차가 테인트와 일치하며 Operator는 다음 값 중 하나입니다.-
equal- Operator가동일하고 값은 테인트 및 허용 오차에서 동일합니다. -
exists- 값의 와일드카드로, 배치가 특정 카테고리의 모든 테인트를 허용할 수 있습니다.
-
-
선택사항 Effect - 일치시킬 테인트 효과입니다. 비워 두면 모든 테인트 효과와 일치합니다. 지정된 경우 허용되는 값은
NoSelect또는NoSelectIfNew입니다. -
선택 사항 TolerationSeconds - 관리 클러스터를 새 배치로 이동하기 전에 허용 오차가 테인트를 허용하는 시간(초)입니다. 효과 값이
NoSelect또는PreferNoSelect가 아닌 경우 이 필드는 무시됩니다. 기본값은nil로, 시간 제한이 없음을 나타냅니다.TolerationSeconds의 계산 시작 시간은 클러스터 예약 시간 값 또는TolerationSeconds추가 시간이 아닌 테인트의TimeAdded값으로 자동으로 나열됩니다.
다음 예제에서는 테인트가 있는 클러스터를 허용하는 허용 오차를 구성하는 방법을 보여줍니다.
이 예에는 관리형 클러스터의 테인트가 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 테인트를 허용할 수 있는 배치에 대한 허용 오차
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 허용 오차 예제를 정의하면
key: gpu및value: "true"가 일치하므로 배치에서cluster1을 선택할 수 있습니다.
참고: 관리형 클러스터는 테인트에 대한 허용 오차가 포함된 배치에 배치할 수 없습니다. 다른 배치에 동일한 허용 오차가 포함된 경우 관리형 클러스터가 해당 배치 중 하나에 배치될 수 있습니다.
1.14.6.4. 임시 허용 오차 지정 링크 복사링크가 클립보드에 복사되었습니다!
TolerationSeconds 값은 허용 오차가 테인트를 허용하는 기간을 지정합니다. 이 임시 허용 오차는 관리 클러스터가 오프라인 상태이고 허용되는 시간 동안 이 클러스터에 배포된 애플리케이션을 다른 관리형 클러스터로 전송할 수 있는 경우 유용할 수 있습니다.
예를 들어 다음 테인트가 있는 관리형 클러스터에 연결할 수 없게 됩니다.
다음 예와 같이 TolerationSeconds 값을 사용하여 배치를 정의하는 경우 워크로드는 5분 후에 사용 가능한 다른 관리 클러스터로 전송됩니다.
관리 클러스터에 5분 동안 연결할 수 없는 후 애플리케이션을 다른 관리형 클러스터로 이동합니다.