From 96edc4b58f962389e851ad3e72fe58f62646e1a4 Mon Sep 17 00:00:00 2001 From: Julio Castillo Date: Mon, 12 Sep 2022 10:26:33 +0200 Subject: [PATCH] Move gke multi cluster mesh example to gke folder --- blueprints/README.md | 2 +- blueprints/gke/README.md | 5 +++++ .../multi-cluster-mesh-gke-fleet-api/.gitignore | 0 .../multi-cluster-mesh-gke-fleet-api/README.md | 2 +- .../ansible/ansible.cfg | 0 .../ansible/inventory/hosts.ini | 0 .../ansible/playbook.yaml | 0 .../install/tasks/endpoint-discovery-config.yaml | 0 .../ansible/roles/install/tasks/install.yaml | 0 .../ansible/roles/install/tasks/main.yaml | 0 .../ansible/roles/prerequisites/tasks/main.yaml | 0 .../ansible/roles/test/tasks/main.yaml | 0 .../ansible/roles/test/tasks/test.yaml | 0 .../multi-cluster-mesh-gke-fleet-api/diagram.png} | Bin .../multi-cluster-mesh-gke-fleet-api/main.tf | 0 .../templates/gssh.sh.tpl | 0 .../templates/vars.yaml.tpl | 0 .../multi-cluster-mesh-gke-fleet-api/variables.tf | 0 18 files changed, 7 insertions(+), 2 deletions(-) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/.gitignore (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/README.md (99%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/ansible/ansible.cfg (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/ansible/inventory/hosts.ini (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/ansible/playbook.yaml (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/endpoint-discovery-config.yaml (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/install.yaml (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/main.yaml (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/ansible/roles/prerequisites/tasks/main.yaml (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/main.yaml (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/test.yaml (100%) rename blueprints/{cloud-operations/multi-cluster-mesh-gke-fleet-api/architecture.png => gke/multi-cluster-mesh-gke-fleet-api/diagram.png} (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/main.tf (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/templates/gssh.sh.tpl (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/templates/vars.yaml.tpl (100%) rename blueprints/{cloud-operations => gke}/multi-cluster-mesh-gke-fleet-api/variables.tf (100%) diff --git a/blueprints/README.md b/blueprints/README.md index 9fa17cbc..45bc2dc9 100644 --- a/blueprints/README.md +++ b/blueprints/README.md @@ -7,7 +7,7 @@ Currently available blueprints: - **cloud operations** - [Resource tracking and remediation via Cloud Asset feeds](./cloud-operations/asset-inventory-feed-remediation), [Granular Cloud DNS IAM via Service Directory](./cloud-operations/dns-fine-grained-iam), [Granular Cloud DNS IAM for Shared VPC](./cloud-operations/dns-shared-vpc), [Compute Engine quota monitoring](./cloud-operations/quota-monitoring), [Scheduled Cloud Asset Inventory Export to Bigquery](./cloud-operations/scheduled-asset-inventory-export-bq), [Packer image builder](./cloud-operations/packer-image-builder), [On-prem SA key management](./cloud-operations/onprem-sa-key-management), [TCP healthcheck for unmanaged GCE instances](./cloud-operations/unmanaged-instances-healthcheck), [HTTP Load Balancer with Cloud Armor](./cloud-operations/glb_and_armor) - **data solutions** - [GCE/GCS CMEK via centralized Cloud KMS](./data-solutions/gcs-to-bq-with-least-privileges/), [Cloud Storage to Bigquery with Cloud Dataflow with least privileges](./data-solutions/gcs-to-bq-with-least-privileges/), [Data Platform Foundations](./data-solutions/data-platform-foundations/), [SQL Server AlwaysOn availability groups blueprint](./data-solutions/sqlserver-alwayson), [Cloud SQL instance with multi-region read replicas](./data-solutions/cloudsql-multiregion/) - **factories** - [The why and the how of resource factories](./factories/README.md) -- **GKE** - [GKE multitenant fleet](./gke/multitenant-fleet/), [Shared VPC with GKE support](./networking/shared-vpc-gke/), [Binary Authorization Pipeline](./gke/binauthz/) +- **GKE** - [GKE multitenant fleet](./gke/multitenant-fleet/), [Shared VPC with GKE support](./networking/shared-vpc-gke/), [Binary Authorization Pipeline](./gke/binauthz/), [Multi-cluster mesh on GKE (fleet API)](./gke/multi-cluster-mesh-gke-fleet-api/) - **networking** - [hub and spoke via peering](./networking/hub-and-spoke-peering/), [hub and spoke via VPN](./networking/hub-and-spoke-vpn/), [DNS and Google Private Access for on-premises](./networking/onprem-google-access-dns/), [Shared VPC with GKE support](./networking/shared-vpc-gke/), [ILB as next hop](./networking/ilb-next-hop), [PSC for on-premises Cloud Function invocation](./networking/private-cloud-function-from-onprem/), [decentralized firewall](./networking/decentralized-firewall) - **serverless** - [Multi-region deployments for API Gateway](./serverless/api-gateway/) - **third party solutions** - [OpenShift cluster on Shared VPC](./third-party-solutions/openshift) diff --git a/blueprints/gke/README.md b/blueprints/gke/README.md index 688d8f54..a2c48071 100644 --- a/blueprints/gke/README.md +++ b/blueprints/gke/README.md @@ -22,3 +22,8 @@ It is meant to be used as a starting point for most Shared VPC configurations, a This [blueprint](../gke/binauthz/) shows how to create a CI and a CD pipeline in Cloud Build for the deployment of an application to a private GKE cluster with unrestricted access to a public endpoint. The blueprint enables a Binary Authorization policy in the project so only images that have been attested can be deployed to the cluster. The attestations are created using a cryptographic key pair that has been provisioned in KMS.
+ +### Multi-cluster mesh on GKE (fleet API) + + This [blueprint](../gke/multi-cluster-mesh-gke-fleet-api/) shows how to create a multi-cluster mesh for two private clusters on GKE. Anthos Service Mesh with automatic control plane management is set up for clusters using the Fleet API. This can only be done if the clusters are in a single project and in the same VPC. In this particular case both clusters having being deployed to different subnets in a shared VPC. +
diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/.gitignore b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/.gitignore similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/.gitignore rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/.gitignore diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/README.md b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/README.md similarity index 99% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/README.md rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/README.md index 9cac15be..484e6b13 100644 --- a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/README.md +++ b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/README.md @@ -4,7 +4,7 @@ The following blueprint shows how to create a multi-cluster mesh for two private The diagram below depicts the architecture of the blueprint. -![Architecture](architecture.png) +![Architecture diagram](diagram.png) Terraform is used to provision the required infrastructure, create the IAM binding and register the clusters to the fleet. diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/ansible.cfg b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/ansible.cfg similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/ansible.cfg rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/ansible.cfg diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/inventory/hosts.ini b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/inventory/hosts.ini similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/inventory/hosts.ini rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/inventory/hosts.ini diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/playbook.yaml b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/playbook.yaml similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/playbook.yaml rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/playbook.yaml diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/endpoint-discovery-config.yaml b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/endpoint-discovery-config.yaml similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/endpoint-discovery-config.yaml rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/endpoint-discovery-config.yaml diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/install.yaml b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/install.yaml similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/install.yaml rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/install.yaml diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/main.yaml b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/main.yaml similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/main.yaml rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/install/tasks/main.yaml diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/prerequisites/tasks/main.yaml b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/prerequisites/tasks/main.yaml similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/prerequisites/tasks/main.yaml rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/prerequisites/tasks/main.yaml diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/main.yaml b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/main.yaml similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/main.yaml rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/main.yaml diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/test.yaml b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/test.yaml similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/test.yaml rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/ansible/roles/test/tasks/test.yaml diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/architecture.png b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/diagram.png similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/architecture.png rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/diagram.png diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/main.tf b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/main.tf similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/main.tf rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/main.tf diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/templates/gssh.sh.tpl b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/templates/gssh.sh.tpl similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/templates/gssh.sh.tpl rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/templates/gssh.sh.tpl diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/templates/vars.yaml.tpl b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/templates/vars.yaml.tpl similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/templates/vars.yaml.tpl rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/templates/vars.yaml.tpl diff --git a/blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/variables.tf b/blueprints/gke/multi-cluster-mesh-gke-fleet-api/variables.tf similarity index 100% rename from blueprints/cloud-operations/multi-cluster-mesh-gke-fleet-api/variables.tf rename to blueprints/gke/multi-cluster-mesh-gke-fleet-api/variables.tf