Skip to content

Commit 1a3e51a

Browse files
authored
Migrated service mesh for fleets to Terraform (#258)
* Migrated service mesh for fleets to Terraform * Added Services GKE cluster to new Mesh fleet config
1 parent ea29f54 commit 1a3e51a

File tree

3 files changed

+23
-17
lines changed

3 files changed

+23
-17
lines changed

infrastructure/agones-gke.tf

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,25 @@ resource "google_gke_hub_membership" "membership" {
9090
depends_on = [google_project_service.project]
9191
}
9292

93-
resource "google_gke_hub_feature" "mesh" {
94-
name = "servicemesh"
93+
resource "google_gke_hub_feature" "servicemesh" {
9594
project = var.project
95+
name = "servicemesh"
9696
location = "global"
97-
provider = google-beta
9897

9998
depends_on = [google_project_service.project]
10099
}
101100

101+
resource "google_gke_hub_feature_membership" "mesh-member" {
102+
for_each = merge(var.game_gke_standard_clusters, var.game_gke_autopilot_clusters)
103+
project = var.project
104+
location = "global"
105+
feature = google_gke_hub_feature.servicemesh.name
106+
membership = google_gke_hub_membership.membership[each.key].membership_id
107+
mesh {
108+
management = "MANAGEMENT_AUTOMATIC"
109+
}
110+
}
111+
102112
resource "google_compute_firewall" "agones-gameservers" {
103113
name = "agones-gameservers"
104114
project = var.project

infrastructure/services-gke.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,3 +145,13 @@ resource "google_gke_hub_membership" "services-gke-membership" {
145145

146146
depends_on = [google_project_service.project]
147147
}
148+
149+
resource "google_gke_hub_feature_membership" "services-gke-mesh" {
150+
project = var.project
151+
location = "global"
152+
feature = google_gke_hub_feature.servicemesh.name
153+
membership = google_gke_hub_membership.services-gke-membership.membership_id
154+
mesh {
155+
management = "MANAGEMENT_AUTOMATIC"
156+
}
157+
}

platform/cloudbuild.yaml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,6 @@
1515
serviceAccount: projects/${PROJECT_ID}/serviceAccounts/cloudbuild-cicd@${PROJECT_ID}.iam.gserviceaccount.com
1616
steps:
1717

18-
# Deploys Anthos Service Mesh (ASM) to all clusters using the fleet feature API. Since there is no terraform
19-
# support for ASM at cluster creation time, this step is performed with platform component deployments so
20-
# newly added clusters are configured properly with ASM.
21-
- name: gcr.io/google.com/cloudsdktool/cloud-sdk
22-
id: fleet-membership
23-
script: |
24-
export MEMBERSHIPS=$(gcloud container fleet memberships list --format="value(name)" | xargs | sed 's/ /,/g') && \
25-
echo Memberships: $MEMBERSHIPS && \
26-
gcloud container fleet mesh update --management automatic --memberships "$MEMBERSHIPS"
27-
2818
- name: gcr.io/google.com/cloudsdktool/cloud-sdk
2919
id: deploy-agones
3020
dir: agones
@@ -35,8 +25,6 @@ steps:
3525
--skaffold-file skaffold.yaml \
3626
--region us-central1
3727
automapSubstitutions: true
38-
waitFor:
39-
- fleet-membership
4028

4129
- name: gcr.io/google.com/cloudsdktool/cloud-sdk
4230
id: deploy-open-match
@@ -48,8 +36,6 @@ steps:
4836
--skaffold-file skaffold.yaml \
4937
--region us-central1
5038
automapSubstitutions: true
51-
waitFor:
52-
- fleet-membership
5339

5440
options:
5541
dynamic_substitutions: true

0 commit comments

Comments
 (0)