허브 클러스터에서 멤버 클러스터로 Kubernetes 리소스 배치
이 문서에서는 Azure Kubernetes Fleet Manager(Kubernetes Fleet)를 사용하여 허브 클러스터에서 멤버 클러스터로 Kubernetes 리소스 배치의 개념을 설명합니다.
플랫폼 관리자는 다음과 같은 다양한 이유로 Kubernetes 리소스를 여러 클러스터에 배포해야 하는 경우가 많습니다.
- 여러 클러스터에서 역할 및 역할 바인딩을 사용하여 액세스 제어를 관리할 경우.
- 모든 클러스터에 있어야 하는 Prometheus 또는 Flux와 같은 인프라 애플리케이션을 실행할 경우.
애플리케이션 개발자는 다음과 같은 다양한 이유로 Kubernetes 리소스를 여러 클러스터에 배포해야 하는 경우가 많습니다.
- 짧은 대기 시간 시청 환경을 위해 여러 지역의 여러 클러스터에 애플리케이션을 제공하는 비디오를 배포할 경우.
- 고객이 단일 지역 중단 시 계속 쇼핑할 수 있도록 두 개의 쌍을 이루는 지역에 쇼핑 카트 애플리케이션을 배포할 경우.
- 저렴한 스폿 노드 풀을 사용할 수 있는 클러스터에 일괄 처리 컴퓨팅 애플리케이션을 배포할 경우.
여러 클러스터에서 이러한 Kubernetes 리소스를 수동으로 만들고, 업데이트하고, 추적하는 것은 지루한 일입니다. Fleet은 Kubernetes 리소스를 대규모로 관리할 수 있도록 Kubernetes 리소스 전파를 제공합니다. Kubernetes Fleet를 사용하면 허브 클러스터에서 Kubernetes 리소스를 만들고 Kubernetes 사용자 지정 리소스를 통해 선택한 멤버 클러스터로 전파할 수 있습니다 MemberCluster
ClusterResourcePlacement
.
Kubernetes Fleet는 오픈 소스 Fleet 설명서에서 자세히 확인할 수 있는 오픈 소스 클라우드 네이티브 솔루션을 기반으로 이러한 사용자 지정 리소스를 지원합니다.
ClusterResourcePlacement 소개
ClusterResourcePlacement
개체는 플릿 스케줄러에게 플릿 허브 클러스터에서 멤버 클러스터로 지정된 클러스터 범위 개체 집합을 배치하는 방법을 알려주는 데 사용됩니다. Deployments, StatefulSets, DaemonSets, ConfigMaps, Secrets 및 PersistentVolumeClaims와 같은 네임스페이스 범위 개체는 포함된 네임스페이스를 선택하면 포함됩니다.
ClusterResourcePlacement
로 다음을 수행할 수 있습니다.
- 멤버 클러스터에 전파할 클러스터 범위 Kubernetes 리소스를 선택합니다.
- 멤버 클러스터를 대상 클러스터로 수동으로 또는 자동으로 선택할 배치 정책을 지정합니다.
- 선택한 Kubernetes 리소스의 업데이트를 여러 대상 클러스터에 안전하게 롤아웃하도록 롤아웃 전략을 지정합니다.
- 각 대상 클러스터에 대한 전파 진행률을 확인합니다.
다음 그림에서는 이러한 예를 보여 줍니다.
리소스 캡슐화
ClusterResourcePlacement
는 ConfigMap을 사용하여 특정 Kubernetes 리소스 종류를 봉투에 넣도록 지원하므로 허브 클러스터에 의도하지 않은 부작용 없이 허브 클러스터에서 스테이징할 수 있습니다. 리소스 종류 목록 및 이 기능의 작동 방식을 이해하려면 봉투 개체 설명서를 참조 하세요.
배치 형식
다음 배치 유형은 지정된 Kubernetes 리소스를 전파해야 하는 클러스터 수를 제어하는 데 사용할 수 있습니다.
- PickFixed는 리소스를 이름으로 멤버 클러스터의 특정 목록에 배치합니다.
- PickAll 은 조건을 충족하는 모든 멤버 클러스터 또는 모든 멤버 클러스터에 리소스를 배치합니다. 이 정책은 클러스터 모니터링 또는 애플리케이션 보고와 같은 인프라 워크로드를 배치하는 데 유용합니다.
- PickN 은 가장 유연한 배치 옵션이며 선호도 또는 토폴로지 확산 제약 조건에 따라 클러스터를 선택할 수 있으며 가용성을 보장하기 위해 여러 적절한 클러스터에 워크로드를 분산할 때 유용합니다.
PickFixed 배치 유형
알려진 멤버 클러스터 집합에 워크로드를 배포하려는 경우 배치 정책을 사용하여 PickFixed
이름으로 클러스터를 선택할 수 있습니다.
clusterNames
는 이 배치 유형에 대한 유일한 유효한 정책 옵션입니다.
다음 예제에서는 멤버 클러스터에 네임스페이 test-deployment
스를 배포하는 cluster2
방법을 보여 줍니다cluster1
.
apiVersion: placement.kubernetes-fleet.io/v1
kind: ClusterResourcePlacement
metadata:
name: crp-fixed
spec:
policy:
placementType: PickFixed
clusterNames:
- cluster1
- cluster2
resourceSelectors:
- group: ""
kind: Namespace
name: test-deployment
version: v1
PickAll 배치 유형
배치 유형을 사용하여 PickAll
플릿의 모든 멤버 클러스터 또는 설정한 조건과 일치하는 클러스터의 하위 집합에 워크로드를 배포할 수 있습니다.
이러한 유형의 배치를 만들 때 다음 클러스터 선호도 유형을 지정할 수 있습니다.
- requiredDuringSchedulingIgnoredDuringExecution: 예약하는 동안 이 정책이 필요하므로 지정된 기준에 따라 클러스터를 필터링합니다 .
다음 예제에서는 prod-deployment
네임스페이스와 모든 해당 개체를 environment: production
레이블이 지정된 모든 클러스터에 배포하는 방법을 보여 줍니다.
apiVersion: placement.kubernetes-fleet.io/v1
kind: ClusterResourcePlacement
metadata:
name: crp-pickall
spec:
policy:
placementType: PickAll
affinity:
clusterAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
clusterSelectorTerms:
- labelSelector:
matchLabels:
environment: production
resourceSelectors:
- group: ""
kind: Namespace
name: prod-deployment
version: v1
PickN 배치 유형
PickN
배치 유형은 가장 유연한 옵션이며, 친화성 및 토폴로지 분산 제약 조건을 기반으로 구성 가능한 수의 클러스터에 리소스를 배치할 수 있습니다.
이러한 유형의 배치를 만들 때 다음 클러스터 선호도 유형을 지정할 수 있습니다.
- requiredDuringSchedulingIgnoredDuringExecution: 예약하는 동안 이 정책이 필요하므로 지정된 기준에 따라 클러스터를 필터링합니다 .
- preferredDuringSchedulingIgnoredDuringExecution: 이 정책이 선호되지만 일정 예약 중에는 필요하지 않으므로 지정된 기준에 따라 클러스터의 순위를 지정합니다 .
필수 및 기본 선호도를 모두 설정할 수 있습니다. 필수 선호도는 일치하지 않는 클러스터에 대한 배치를 방지하고 기본 선호도는 유효한 클러스터의 순서를 제공합니다.
선호도가 있는 PickN
Pod 예약에 선호도를 사용하는 것과 유사하게 PickN
배치 정책 함수로 선호도를 사용합니다.
다음 예제에서는 세 개의 클러스터에 워크로드를 배포하는 방법을 보여 줍니다. critical-allowed: "true"
레이블이 있는 클러스터만 유효한 배치 대상이며 레이블이 critical-level: 1
인 클러스터에 기본 설정이 부여됩니다.
apiVersion: placement.kubernetes-fleet.io/v1
kind: ClusterResourcePlacement
metadata:
name: crp-pickn-01
spec:
resourceSelectors:
- ...
policy:
placementType: PickN
numberOfClusters: 3
affinity:
clusterAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
weight: 20
preference:
- labelSelector:
matchLabels:
critical-level: 1
requiredDuringSchedulingIgnoredDuringExecution:
clusterSelectorTerms:
- labelSelector:
matchLabels:
critical-allowed: "true"
토폴로지 분산 제약 조건이 있는 PickN
토폴로지 분산 제약 조건을 사용하여 토폴로지 경계를 넘어 클러스터 배치를 강제로 분할하여 가용성 요구 사항을 충족할 수 있습니다. 예를 들어 이러한 제약 조건을 사용하여 지역 또는 업데이트 링 간에 배치를 분할합니다. 제약 조건을 충족할 수 없거나(whenUnsatisfiable: DoNotSchedule
) 가능한 한 최선으로 예약할 수 없는 경우(whenUnsatisfiable: ScheduleAnyway
) 예약을 방지하도록 토폴로지 분산 제약 조건을 구성할 수도 있습니다.
다음 예제에서는 지정된 리소스 집합을 여러 지역에 분산하고 업데이트 날짜가 다른 멤버 클러스터에서 일정을 예약하는 방법을 보여 줍니다.
apiVersion: placement.kubernetes-fleet.io/v1
kind: ClusterResourcePlacement
metadata:
name: crp-pickn-02
spec:
resourceSelectors:
- ...
policy:
placementType: PickN
topologySpreadConstraints:
- maxSkew: 2
topologyKey: region
whenUnsatisfiable: DoNotSchedule
- maxSkew: 2
topologyKey: updateDay
whenUnsatisfiable: ScheduleAnyway
자세한 내용은 오픈 소스 Fleet 설명서 토폴로지 스프레드 제약 조건을 참조 하세요.
배치 정책 옵션
표에는 각 배치 유형에 대해 사용 가능한 예약 정책 필드가 요약됩니다.
정책 필드 | PickFixed | PickAll | PickN |
---|---|---|---|
placementType |
✅ | ✅ | ✅ |
affinity |
❌ | ✅ | ✅ |
clusterNames |
✅ | ❌ | ❌ |
numberOfClusters |
❌ | ❌ | ✅ |
topologySpreadConstraints |
❌ | ❌ | ✅ |
레이블 및 속성에 따라 클러스터 선택
클러스터를 선택하는 데 사용할 수 있는 레이블 및 속성
배치 유형 및 PickAll
배치 유형을 사용하는 PickN
경우 정책의 일부로 다음 레이블 및 속성을 사용할 수 있습니다.
레이블
다음 레이블은 모든 멤버 클러스터에 자동으로 추가되며 리소스 배치 정책에서 대상 클러스터 선택에 사용할 수 있습니다.
Label | 설명 |
---|---|
fleet.azure.com/location | 클러스터의 Azure 지역(westus) |
fleet.azure.com/resource-group | 클러스터의 Azure 리소스 그룹(rg_prodapps_01) |
fleet.azure.com/subscription-id | 클러스터가 상주하는 Azure 구독 식별자입니다. UUID/GUID로 형식이 지정됩니다. |
클러스터에 적용하는 모든 사용자 지정 레이블을 사용할 수도 있습니다.
속성
다음 속성은 배치 정책의 일부로 사용할 수 있습니다.
CPU 및 메모리 속성은 Kubernetes 리소스 단위로 표시됩니다.
비용 속성은 클러스터 내의 노드에 사용된 Azure 컴퓨팅에 대한 시간당 비용(US Dollars)을 나타내는 소수점입니다. 비용은 Azure 공개 가격 책정을 기반으로 합니다.
속성 이름 | 설명 |
---|---|
kubernetes-fleet.io/node-count | 멤버 클러스터에서 사용 가능한 노드입니다. |
resources.kubernetes-fleet.io/total-cpu | 클러스터의 총 CPU 리소스 단위입니다. |
resources.kubernetes-fleet.io/allocatable-cpu | 클러스터의 할당 가능한 CPU 리소스 단위입니다. |
resources.kubernetes-fleet.io/available-cpu | 클러스터의 사용 가능한 CPU 리소스 단위입니다. |
resources.kubernetes-fleet.io/total-memory | 클러스터의 총 메모리 리소스 단위입니다. |
resources.kubernetes-fleet.io/allocatable-memory | 클러스터의 할당 가능한 메모리 리소스 단위입니다. |
resources.kubernetes-fleet.io/available-memory | 클러스터의 사용 가능한 메모리 리소스 단위입니다. |
kubernetes.azure.com/per-cpu-core-cost | 클러스터의 CPU당 코어 비용입니다. |
kubernetes.azure.com/per-gb-memory-cost | 클러스터의 GiB당 메모리 비용입니다. |
선택 항목 일치 조건 지정
정책 조건에 클러스터 속성을 사용하는 경우 다음을 지정합니다.
이름: 이 문서의 속성에 나열된 속성 중 하나인 속성 의 이름입니다.
연산자: 제약 조건/원하는 값과 클러스터에서 관찰된 값 사이의 조건을 표현하는 데 사용되는 연산자입니다. 현재 지원되는 연산자는 다음과 같습니다.
Gt
(보다 큼): 지정된 속성에 대해 클러스터에서 관찰된 값은 리소스 배치를 위해 선택되기 전에 조건의 값보다 커야 합니다.Ge
(보다 크거나 같음): 지정된 속성에 대해 클러스터에서 관찰된 값은 리소스 배치를 위해 선택되기 전에 조건의 값보다 크거나 같아야 합니다.Lt
(보다 작음): 지정된 속성에 대해 클러스터에서 관찰된 값은 리소스 배치를 위해 선택되기 전에 조건의 값보다 작아야 합니다.Le
(작거나 같음): 지정된 속성에 대해 클러스터에서 관찰된 값은 리소스 배치를 위해 선택되기 전에 조건의 값보다 작거나 같아야 합니다.Eq
(같음): 지정된 속성에 대해 클러스터에서 관찰된 값은 리소스 배치를 위해 선택되기 전에 조건의 값과 같아야 합니다.Ne
(같지 않음): 지정된 속성에 대해 클러스터에서 관찰된 값은 리소스 배치를 위해 선택되기 전에 조건의 값과 같지 않아야 합니다.
Gt
,Ge
,Lt
,Le
,Eq
또는Ne
연산자를 사용하는 경우 조건의 값 목록에는 정확히 하나의 값이 있어야 합니다.값: 속성의 가능한 값인 값 목록입니다.
Fleet은 조건에 지정된 속성을 기반으로 각 클러스터를 평가합니다. requiredDuringSchedulingIgnoredDuringExecution
에 나열된 조건을 충족하지 못하면 리소스 배치에서 이 멤버 클러스터가 제외됩니다.
참고 항목
멤버 클러스터가 조건에 표시된 속성을 소유하지 않으면 자동으로 조건이 실패합니다.
다음은 노드가 5개 이상인 클러스터만 선택하는 배치 정책의 예입니다.
apiVersion: placement.kubernetes-fleet.io/v1
kind: ClusterResourcePlacement
metadata:
name: crp
spec:
resourceSelectors:
- ...
policy:
placementType: PickAll
affinity:
clusterAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
clusterSelectorTerms:
- propertySelector:
matchExpressions:
- name: "kubernetes-fleet.io/node-count"
operator: Ge
values:
- "5"
속성 순위의 작동 방식
사용되는 경우 preferredDuringSchedulingIgnoredDuringExecution
속성 정렬기는 해당 값을 기준으로 플릿의 모든 클러스터의 순위를 오름차순 또는 내림차순으로 지정합니다. 정렬에 사용되는 가중치는 지정된 값을 기반으로 계산됩니다.
속성 분류기는 다음으로 구성됩니다.
- 이름: 클러스터 속성의 이름입니다.
- 정렬 순서: 정렬 순서는
Ascending
또는Descending
일 수 있습니다. 순서를 사용하는 경우Ascending
관찰 값이 낮은 멤버 클러스터를 사용하는 것이 좋습니다.Descending
순서가 사용되는 경우 관찰된 값이 더 높은 멤버 클러스터가 기본 설정됩니다.
내림차순
정렬 순서 내림차순의 경우 다음 수식을 사용하여 비례 가중치를 계산합니다.
((Observed Value - Minimum observed value) / (Maximum observed value - Minimum observed value)) * Weight
예를 들어, 사용 가능한 CPU 용량의 속성을 기준으로 내림차순으로 클러스터 순위를 지정하고 다음과 같은 사용 가능한 CPU가 포함된 클러스터 3개로 구성된 집합이 있다고 가정하겠습니다.
클러스터 | 사용 가능한 CPU 용량 |
---|---|
cluster-a |
100 |
cluster-b |
20 |
cluster-c |
10 |
이 경우 분류기는 다음과 같은 가중치를 계산합니다.
클러스터 | 사용 가능한 CPU 용량 | 계산 | Weight |
---|---|---|---|
cluster-a |
100 | (100 - 10) / (100 - 10) | 100% |
cluster-b |
20 | (20 - 10) / (100 - 10) | 11.11% |
cluster-c |
10 | (10 - 10) / (100 - 10) | 0% |
오름차순
정렬 순서 오름차순의 경우 비례 가중치는 수식을 사용하여 계산됩니다.
(1 - ((Observed Value - Minimum observed value) / (Maximum observed value - Minimum observed value))) * Weight
예를 들어, CPU당 코어 비용을 기준으로 오름차순으로 클러스터 순위를 지정하고 CPU 코어 비용이 다음과 같은 클러스터 3개로 구성된 집합이 있다고 가정하겠습니다.
클러스터 | CPU당 코어 비용 |
---|---|
cluster-a |
1 |
cluster-b |
0.2 |
cluster-c |
0.1 |
이 경우 분류기는 다음과 같은 가중치를 계산합니다.
클러스터 | CPU당 코어 비용 | 계산 | Weight |
---|---|---|---|
cluster-a |
1 | 1 - ((1 - 0.1) / (1 - 0.1)) | 0% |
cluster-b |
0.2 | 1 - ((0.2 - 0.1) / (1 - 0.1)) | 88.89% |
cluster-c |
0.1 | 1 - (0.1 - 0.1) / (1 - 0.1) | 100% |
Tolerations 사용
ClusterResourcePlacement
개체는 ClusterResourcePlacement
개체에 적용되는 톨러레이션의 사양을 지원합니다. 각 톨러레이션 개체는 다음 필드로 구성됩니다.
key
: 톨러레이션의 키.value
: 톨러레이션의 값.effect
:NoSchedule
과 같은 톨러레이션의 효과.operator
:Exists
또는Equal
과 같은 톨러레이션의 연산자입니다.
각 허용은 에 적용된 하나 이상의 특정 taint를 용인하는 ClusterResourcePlacement
데 사용됩니다. MemberCluster
의 모든 테인트가 용인되면 스케줄러는 리소스를 클러스터에 전파할 수 있습니다. 개체를 만든 후에는 toleration을 ClusterResourcePlacement
업데이트하거나 제거할 수 없습니다.
자세한 내용은 관대에 대한 오픈 소스 Fleet 설명서를 참조 하세요.
출시 전략 구성
Fleet는 롤링 업데이트 전략을 사용하여 클러스터 간에 업데이트가 롤아웃되는 방법을 제어합니다.
다음 예제에서 플릿 스케줄러는 각 클러스터에 대한 업데이트를 순차적으로 롤아웃하여 적어도 unavailablePeriodSeconds
클러스터 간에 대기합니다. 모든 리소스가 클러스터에 올바르게 적용된 경우 롤아웃 상태는 성공한 것으로 간주됩니다. 롤아웃 상태 검사는 자식 리소스와 연계되지 않으므로 예를 들어 배포에서 만든 Pod가 준비됨을 확인하지 않습니다.
apiVersion: placement.kubernetes-fleet.io/v1
kind: ClusterResourcePlacement
metadata:
name: crp
spec:
resourceSelectors:
- ...
policy:
...
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
unavailablePeriodSeconds: 60
자세한 내용은 출시 전략에 대한 오픈 소스 Fleet 설명서를 참조 하세요.
배치 상태 확인
Fleet 스케줄러는 배치 결정에 대한 세부 정보 및 상태를 ClusterResourcePlacement
개체로 업데이트합니다. 출력에는 다음 정보가 포함됩니다.
- 현재 배치에 적용되는 조건(배치가 성공적으로 완료되었는지 여부 포함)
- 각 멤버 클러스터에 대한 배치 상태 섹션(해당 클러스터에 대한 배포 상태 표시)
다음 예제에서는 PickN
을 사용하여 test
네임스페이스와 test-1
ConfigMap을 두 개의 멤버 클러스터에 배포한 ClusterResourcePlacement
를 보여 줍니다. 배치가 성공적으로 완료되었고 리소스가 aks-member-1
및 aks-member-2
클러스터에 배치되었습니다.
kubectl describe crp <name>
명령을 사용하여 이 정보를 볼 수 있습니다.
kubectl describe crp crp-1
Name: crp-1
Namespace:
Labels: <none>
Annotations: <none>
API Version: placement.kubernetes-fleet.io/v1
Kind: ClusterResourcePlacement
Metadata:
...
Spec:
Policy:
Number Of Clusters: 2
Placement Type: PickN
Resource Selectors:
Group:
Kind: Namespace
Name: test
Version: v1
Revision History Limit: 10
Status:
Conditions:
Last Transition Time: 2023-11-10T08:14:52Z
Message: found all the clusters needed as specified by the scheduling policy
Observed Generation: 5
Reason: SchedulingPolicyFulfilled
Status: True
Type: ClusterResourcePlacementScheduled
Last Transition Time: 2023-11-10T08:23:43Z
Message: All 2 cluster(s) are synchronized to the latest resources on the hub cluster
Observed Generation: 5
Reason: SynchronizeSucceeded
Status: True
Type: ClusterResourcePlacementSynchronized
Last Transition Time: 2023-11-10T08:23:43Z
Message: Successfully applied resources to 2 member clusters
Observed Generation: 5
Reason: ApplySucceeded
Status: True
Type: ClusterResourcePlacementApplied
Placement Statuses:
Cluster Name: aks-member-1
Conditions:
Last Transition Time: 2023-11-10T08:14:52Z
Message: Successfully scheduled resources for placement in aks-member-1 (affinity score: 0, topology spread score: 0): picked by scheduling policy
Observed Generation: 5
Reason: ScheduleSucceeded
Status: True
Type: ResourceScheduled
Last Transition Time: 2023-11-10T08:23:43Z
Message: Successfully Synchronized work(s) for placement
Observed Generation: 5
Reason: WorkSynchronizeSucceeded
Status: True
Type: WorkSynchronized
Last Transition Time: 2023-11-10T08:23:43Z
Message: Successfully applied resources
Observed Generation: 5
Reason: ApplySucceeded
Status: True
Type: ResourceApplied
Cluster Name: aks-member-2
Conditions:
Last Transition Time: 2023-11-10T08:14:52Z
Message: Successfully scheduled resources for placement in aks-member-2 (affinity score: 0, topology spread score: 0): picked by scheduling policy
Observed Generation: 5
Reason: ScheduleSucceeded
Status: True
Type: ResourceScheduled
Last Transition Time: 2023-11-10T08:23:43Z
Message: Successfully Synchronized work(s) for placement
Observed Generation: 5
Reason: WorkSynchronizeSucceeded
Status: True
Type: WorkSynchronized
Last Transition Time: 2023-11-10T08:23:43Z
Message: Successfully applied resources
Observed Generation: 5
Reason: ApplySucceeded
Status: True
Type: ResourceApplied
Selected Resources:
Kind: Namespace
Name: test
Version: v1
Kind: ConfigMap
Name: test-1
Namespace: test
Version: v1
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal PlacementScheduleSuccess 12m (x5 over 3d22h) cluster-resource-placement-controller Successfully scheduled the placement
Normal PlacementSyncSuccess 3m28s (x7 over 3d22h) cluster-resource-placement-controller Successfully synchronized the placement
Normal PlacementRolloutCompleted 3m28s (x7 over 3d22h) cluster-resource-placement-controller Resources have been applied to the selected clusters
배치 변경 트리거
Fleet 스케줄러는 기존 워크로드 배치의 안정성을 우선시합니다. 이 우선 순위로 변경 횟수가 제한되어 워크로드가 제거되거나 다시 예약될 수 있습니다. 다음 시나리오는 배치 변경을 트리거할 수 있습니다.
ClusterResourcePlacement
개체의 배치 정책 변경으로 인해 워크로드 제거 및 다시 예약이 트리거될 수 있습니다.- 스케일 아웃 작업(다른 변경 없이 증가
numberOfClusters
)은 워크로드를 새 클러스터에만 배치하고 기존 배치에 영향을 주지 않습니다.
- 스케일 아웃 작업(다른 변경 없이 증가
- 클러스터 변경 내용에는 다음이 포함됩니다.
- 적격이 되는 새 클러스터는 새 클러스터가 배치 정책(예: 정책)을 충족하는 경우 배치를 트리거할
PickAll
수 있습니다. - 배치가 있는 클러스터는 플릿에서 제거됩니다. 정책에 따라 스케줄러는 영향을 받는 모든 워크로드를 기존 배치에 영향을 주지 않고 나머지 클러스터에 배치하려고 시도합니다.
- 적격이 되는 새 클러스터는 새 클러스터가 배치 정책(예: 정책)을 충족하는 경우 배치를 트리거할
리소스 전용 변경 내용(리소스 업데이트 또는 ClusterResourcePlacement
개체의 ResourceSelector
업데이트)은 기존 배치에서 점진적으로 롤아웃되지만 워크로드의 다시 예약을 트리거하지 않습니다.
다음 단계
Azure Kubernetes Service