Skip to content

Commit 28f9df6

Browse files
authored
feat(MCO): update charts, samples for MCO v0.1.0 (#58)
1 parent bde0530 commit 28f9df6

File tree

18 files changed

+113
-55
lines changed

18 files changed

+113
-55
lines changed

fleet-charts/argocd-clusterprofile-syncer/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
apiVersion: v2
1616
name: argocd-clusterprofile-syncer
17-
version: 0.0.1
17+
version: 0.1.0
1818
description: Argo CD ClusterProfile Syncer
1919
type: application
20-
appVersion: "0.0.1"
20+
appVersion: "0.1.0"

fleet-charts/argocd-clusterprofile-syncer/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
image: "us-docker.pkg.dev/gke-fleet-management/multicluster-orchestrator/argocd-syncer:v0.0.1"
15+
image: "us-docker.pkg.dev/gke-fleet-management/multicluster-orchestrator/argocd-syncer:v0.1.0"

fleet-charts/argocd-mco-plugin/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
apiVersion: v2
1616
name: argocd-mco-plugin
17-
version: 0.0.1
17+
version: 0.1.0
1818
description: Argo CD MCO Plugin
1919
type: application
20-
appVersion: "0.0.1"
20+
appVersion: "0.1.0"

fleet-charts/argocd-mco-plugin/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
image: "us-docker.pkg.dev/gke-fleet-management/multicluster-orchestrator/argocd-placement-plugin:v0.0.1"
15+
image: "us-docker.pkg.dev/gke-fleet-management/multicluster-orchestrator/argocd-placement-plugin:v0.1.0"

fleet-charts/orchestrator/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
apiVersion: v2
1616
name: orchestrator
17-
version: 0.0.4
17+
version: 0.1.0
1818
description: Multi Cluster Orchestrator
1919
type: application
20-
appVersion: "0.0.1"
20+
appVersion: "0.1.0"

fleet-charts/orchestrator/crds/orchestra.multicluster.x-k8s.io_multikubernetesclusterplacements.yaml renamed to fleet-charts/orchestrator/templates/crd/orchestra.multicluster.x-k8s.io_multikubernetesclusterplacements.yaml

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ kind: CustomResourceDefinition
44
metadata:
55
annotations:
66
controller-gen.kubebuilder.io/version: v0.16.1
7+
helm.sh/resource-policy: keep
78
name: multikubernetesclusterplacements.orchestra.multicluster.x-k8s.io
89
spec:
910
group: orchestra.multicluster.x-k8s.io
@@ -41,14 +42,14 @@ spec:
4142
description: MultiKubernetesClusterPlacementSpec defines the desired state
4243
of MultiKubernetesClusterPlacement
4344
properties:
44-
rules:
45+
clusterSelectorRules:
4546
description: |-
46-
Rules defines a pipeline of rules which consume an ordered list of
47-
clusters and output an ordered list of clusters to generate the list of
47+
ClusterSelectorRules defines a pipeline of rules which consume an ordered list
48+
of clusters and output an ordered list of clusters to generate the list of
4849
current target clusters.
4950
items:
5051
description: |-
51-
MultiKubernetesClusterPlacementRule defines a rule which takes an ordered list of
52+
PlacementClusterSelectorRule defines a rule which takes an ordered list of
5253
clusters and returns a list of clusters based on the rule type and arguments.
5354
properties:
5455
arguments:
@@ -66,6 +67,7 @@ spec:
6667
Type specifies the rule type and may be one of:
6768
- all-clusters: all clusters defined by the ClusterProfiles present
6869
- cluster-list: a user-provided ordered list of clusters
70+
- cluster-name-regex: a user-provided regular expression to match cluster names against
6971
enum:
7072
- all-clusters
7173
- cluster-list
@@ -127,7 +129,7 @@ spec:
127129
type: object
128130
type: object
129131
required:
130-
- rules
132+
- clusterSelectorRules
131133
type: object
132134
status:
133135
description: MultiKubernetesClusterPlacementStatus defines the observed
@@ -141,6 +143,31 @@ spec:
141143
PlacementCluster describes a cluster on which the workload should be placed.
142144
This is consumed by workload delilvery systems.
143145
properties:
146+
atCapacityCeiling:
147+
description: 'Whether the cluster is currently at its capacity
148+
ceiling. For informational/debugging purposes only. TODO:
149+
remove this'
150+
type: boolean
151+
draining:
152+
properties:
153+
currentReplicaCount:
154+
description: 'For informational/debugging purposes only.
155+
TODO: remove this'
156+
type: integer
157+
desiredMaxReplicas:
158+
description: Desired maximum replicas for a draining cluster.
159+
The drainer plugin should reconcile the HPA's max replicas
160+
field to this value.
161+
type: integer
162+
lastReplicaCountDecrease:
163+
description: The last time DesiredMaxReplicas was decreased.
164+
format: date-time
165+
type: string
166+
required:
167+
- currentReplicaCount
168+
- desiredMaxReplicas
169+
- lastReplicaCountDecrease
170+
type: object
144171
lastTransitionTime:
145172
format: date-time
146173
type: string

fleet-charts/orchestrator/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
image: "us-docker.pkg.dev/gke-fleet-management/multicluster-orchestrator/controller:v0.0.1"
15+
image: "us-docker.pkg.dev/gke-fleet-management/multicluster-orchestrator/controller:v0.1.0"

multi-cluster-orchestrator/samples/gemma_vllm/1-infrastructure/main.tf

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ data "google_project" "default" {}
2828
### Enable Services
2929
resource "google_project_service" "default" {
3030
for_each = toset([
31+
"cloudresourcemanager.googleapis.com",
3132
"compute.googleapis.com",
3233
"container.googleapis.com",
3334
"gkehub.googleapis.com",
@@ -63,6 +64,8 @@ resource "google_project_iam_member" "clusters" {
6364
for role in [
6465
"roles/container.defaultNodeServiceAccount",
6566
"roles/monitoring.metricWriter",
67+
# This can be removed if nodes don't need to pull images from local Artifact Registry
68+
"roles/artifactregistry.reader",
6669
# For image streaming
6770
"roles/serviceusage.serviceUsageConsumer"
6871
] :
@@ -163,6 +166,8 @@ resource "google_container_cluster" "hub" {
163166
# Set `deletion_protection` to `true` will ensure that one cannot
164167
# accidentally delete this instance by use of Terraform.
165168
deletion_protection = false
169+
170+
depends_on = [google_project_service.default, google_project_iam_member.clusters["hub"]]
166171
}
167172

168173
# Apply label to membership without importing the membership
@@ -221,6 +226,8 @@ resource "google_container_cluster" "clusters" {
221226
# Set `deletion_protection` to `true` will ensure that one cannot
222227
# accidentally delete this instance by use of Terraform.
223228
deletion_protection = false
229+
230+
depends_on = [google_project_service.default, google_project_iam_member.clusters["worker"]]
224231
}
225232

226233
resource "google_container_node_pool" "gpu-node-pool" {
@@ -354,7 +361,7 @@ resource "helm_release" "orchestrator" {
354361
name = "orchestrator"
355362
repository = "https://googlecloudplatform.github.io/gke-fleet-management"
356363
chart = "orchestrator"
357-
version = "0.0.4"
364+
version = "0.1.0"
358365

359366
lint = true
360367

@@ -365,7 +372,7 @@ resource "helm_release" "argocd-clusterprofile-syncer" {
365372
name = "argocd-clusterprofile-syncer"
366373
repository = "https://googlecloudplatform.github.io/gke-fleet-management"
367374
chart = "argocd-clusterprofile-syncer"
368-
version = "0.0.1"
375+
version = "0.1.0"
369376

370377
# Deploy into the same namespace as ArgoCD
371378
namespace = helm_release.argocd.namespace
@@ -379,7 +386,7 @@ resource "helm_release" "argocd-mco-plugin" {
379386
name = "argocd-mco-plugin"
380387
repository = "https://googlecloudplatform.github.io/gke-fleet-management"
381388
chart = "argocd-mco-plugin"
382-
version = "0.0.1"
389+
version = "0.1.0"
383390

384391
# Deploy into the same namespace as ArgoCD
385392
namespace = helm_release.argocd.namespace

multi-cluster-orchestrator/samples/gemma_vllm/2-workload/charts/gemma-vllm-application/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414

1515
apiVersion: v2
1616
name: gemma-vllm-application
17-
version: 0.0.7
17+
version: 0.0.8
1818
description: Gemma 3 vLLM Application
1919
type: application

multi-cluster-orchestrator/samples/gemma_vllm/2-workload/charts/gemma-vllm-application/templates/applicationset.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,9 @@ spec:
5454
parameters:
5555
- name: hf_api_token
5656
value: "{{.Values.hf_api_token}}"
57+
{{`{{- if ne .desiredMaxReplicas nil }}`}}
58+
- name: minReplicas
59+
value: "1"
60+
- name: maxReplicas
61+
value: "{{`{{ .desiredMaxReplicas }}`}}"
62+
{{`{{- end }}`}}

0 commit comments

Comments
 (0)