Skip to content

Commit 944618c

Browse files
docs: add more demo example yamls (#952)
1 parent f5e8926 commit 944618c

File tree

10 files changed

+239
-0
lines changed

10 files changed

+239
-0
lines changed

examples/eviction/clusterpdb.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1alpha1
2+
kind: ClusterResourcePlacementDisruptionBudget
3+
metadata:
4+
name: test-crp
5+
spec:
6+
maxUnavailable: 1

examples/eviction/eviction.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1alpha1
2+
kind: ClusterResourcePlacementEviction
3+
metadata:
4+
name: test-eviction
5+
spec:
6+
placementName: test-crp
7+
clusterName: cluster-1

examples/eviction/test-crp.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1
2+
kind: ClusterResourcePlacement
3+
metadata:
4+
name: test-crp
5+
spec:
6+
resourceSelectors:
7+
- group: apiextensions.k8s.io
8+
kind: CustomResourceDefinition
9+
name: testresources.test.kubernetes-fleet.io
10+
version: v1
11+
policy:
12+
placementType: PickN
13+
numberOfClusters: 3
14+
affinity:
15+
clusterAffinity:
16+
preferredDuringSchedulingIgnoredDuringExecution:
17+
- weight: 20
18+
preference:
19+
labelSelector:
20+
matchExpressions:
21+
- key: env
22+
operator: In
23+
values:
24+
- canary
25+
- weight: 80
26+
preference:
27+
propertySorter:
28+
name: kubernetes.azure.com/per-gb-memory-core-cost
29+
sortOrder: Descending
30+
topologySpreadConstraints:
31+
- maxSkew: 1
32+
topologyKey: color
33+
whenUnsatisfiable: DoNotSchedule
34+
strategy:
35+
type: RollingUpdate

examples/migration/crp-1.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1
2+
kind: ClusterResourcePlacement
3+
metadata:
4+
name: crp-example
5+
spec:
6+
resourceSelectors:
7+
- group: ""
8+
kind: Namespace
9+
version: v1
10+
labelSelector:
11+
matchLabels:
12+
kubernetes-fleet.io/app: prod
13+
policy:
14+
placementType: PickN
15+
numberOfClusters: 2
16+
affinity:
17+
clusterAffinity:
18+
requiredDuringSchedulingIgnoredDuringExecution:
19+
clusterSelectorTerms:
20+
- labelSelector:
21+
matchLabels:
22+
fleet.azure.com/location: westus
23+
preferredDuringSchedulingIgnoredDuringExecution:
24+
- weight: 20
25+
preference:
26+
propertySorter:
27+
name: kubernetes-fleet.io/node-count
28+
sortOrder: Descending
29+
strategy:
30+
type: RollingUpdate
31+
rollingUpdate:
32+
maxUnavailable: 1
33+
maxSurge: 50%

examples/migration/crp-2.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1
2+
kind: ClusterResourcePlacement
3+
metadata:
4+
name: crp-example
5+
spec:
6+
resourceSelectors:
7+
- group: ""
8+
kind: Namespace
9+
version: v1
10+
labelSelector:
11+
matchLabels:
12+
kubernetes-fleet.io/app: prod
13+
policy:
14+
placementType: PickN
15+
numberOfClusters: 2
16+
affinity:
17+
clusterAffinity:
18+
requiredDuringSchedulingIgnoredDuringExecution:
19+
clusterSelectorTerms:
20+
- propertySelector:
21+
matchExpressions:
22+
- name: kubernetes.azure.com/per-gb-memory-cost
23+
operator: Lt
24+
values:
25+
- "0.025"
26+
labelSelector:
27+
matchLabels:
28+
fleet.azure.com/location: westeurope
29+
strategy:
30+
type: RollingUpdate
31+
rollingUpdate:
32+
maxUnavailable: 1
33+
maxSurge: 50%
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1alpha1
2+
kind: ResourceOverride
3+
metadata:
4+
name: ro-1
5+
namespace: test-namespace
6+
spec:
7+
policy:
8+
overrideRules:
9+
- clusterSelector:
10+
clusterSelectorTerms:
11+
- labelSelector:
12+
matchLabels:
13+
fleet.azure.com/location: westeurope
14+
jsonPatchOverrides:
15+
- op: replace
16+
path: /spec/replicas
17+
value: 4
18+
resourceSelectors:
19+
- group: apps
20+
kind: Deployment
21+
name: nginx-deployment
22+
version: v1
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1alpha1
2+
kind: ClusterApprovalRequest
3+
metadata:
4+
name: example-approvalrequest
5+
labels:
6+
TargetUpdateRun: example-clusterstagedupdaterun
7+
TargetStage: stage1
8+
IsLatestUpdateRunApproval: "true"
9+
spec:
10+
parentStageRollout: example-run
11+
targetStage: canary
12+
status:
13+
conditions:
14+
- type: Approved
15+
status: "True"
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1alpha1
2+
kind: ClusterStagedUpdateRun
3+
metadata:
4+
name: example-run
5+
spec:
6+
placementName: example-placement
7+
resourceSnapshotIndex: "1"
8+
stagedRolloutStrategyName: example-strategy
9+
status:
10+
policySnapshotIndexUsed: "1"
11+
policyObservedClusterCount: 3
12+
appliedStrategy:
13+
type: Immediate
14+
stagedUpdateStrategySnapshot:
15+
stages:
16+
- name: stage1
17+
labelSelector:
18+
matchLabels:
19+
environment: production
20+
sortingLabelKey: priority
21+
afterStageTasks:
22+
- type: TimedWait
23+
waitTime: 1h
24+
stagesStatus:
25+
- stageName: stage1
26+
clusters:
27+
- clusterName: cluster1
28+
conditions:
29+
- type: Started
30+
status: "True"
31+
startTime: "2023-10-01T00:00:00Z"
32+
endTime: "2023-10-01T01:00:00Z"
33+
conditions:
34+
- type: Progressing
35+
status: "True"
36+
conditions:
37+
- type: Initialized
38+
status: "True"
39+
- type: Progressing
40+
status: "True"
41+
- type: Succeeded
42+
status: "False"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1beta1
2+
kind: ClusterResourcePlacement
3+
metadata:
4+
name: example-placement
5+
spec:
6+
resourceSelectors:
7+
- group: ""
8+
kind: Namespace
9+
name: test-namespace
10+
version: v1
11+
policy:
12+
placementType: PickAll
13+
tolerations:
14+
- key: gpu-workload
15+
operator: Exists
16+
strategy:
17+
type: External
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
apiVersion: placement.kubernetes-fleet.io/v1alpha1
2+
kind: ClusterStagedUpdateStrategy
3+
metadata:
4+
name: example-strategy
5+
spec:
6+
stages:
7+
- name: staging
8+
labelSelector:
9+
matchLabels:
10+
environment: staging
11+
afterStageTasks:
12+
- type: TimedWait
13+
waitTime: 1h
14+
- name: canary
15+
labelSelector:
16+
matchLabels:
17+
environment: canary
18+
sortingLabelKey: name
19+
afterStageTasks:
20+
- type: Approval
21+
- name: production
22+
labelSelector:
23+
matchLabels:
24+
environment: production
25+
sortingLabelKey: order
26+
afterStageTasks:
27+
- type: Approval
28+
- type: TimedWait
29+
waitTime: 1h

0 commit comments

Comments
 (0)