Skip to content

Instantly share code, notes, and snippets.

@vfarcic
Last active January 18, 2022 00:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save vfarcic/561f87ee1a32c0d80d3a1027eb8a3171 to your computer and use it in GitHub Desktop.
Save vfarcic/561f87ee1a32c0d80d3a1027eb8a3171 to your computer and use it in GitHub Desktop.
# Source: https://gist.github.com/561f87ee1a32c0d80d3a1027eb8a3171
######################
# Create The Cluster #
######################
gcloud auth login
# Open https://console.cloud.google.com/cloud-resource-manager to create a new project
export PROJECT_ID=[...] # Replace [...] with the ID of the project
gcloud container get-server-config
export VERSION=[...] # Replace [...] with k8s version. Make sure that it is v1.14+.
gcloud container clusters \
create istio \
--project $PROJECT_ID \
--region us-east1 \
--machine-type n1-standard-2 \
--cluster-version=$VERSION \
--enable-autoscaling \
--num-nodes 1 \
--max-nodes 3 \
--min-nodes 1
kubectl create clusterrolebinding \
cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
#################
# Install Istio #
#################
istioctl manifest install \
--set profile=demo
###################
# Install Flagger #
###################
kubectl apply \
--kustomize github.com/weaveworks/flagger/kustomize/istio
#######################
# Destroy the cluster #
#######################
gcloud container clusters \
delete istio \
--project $PROJECT_ID \
--region us-east1 \
--quiet
# Remove unused disks to avoid reaching the quota (and save a bit of money)
gcloud compute disks delete \
--zone us-east1-b \
$(gcloud compute disks list \
--filter="zone:us-east1-b AND -users:*" \
--format="value(id)")
gcloud compute disks delete \
--zone us-east1-c \
$(gcloud compute disks list \
--filter="zone:us-east1-c AND -users:*" \
--format="value(id)")
gcloud compute disks delete \
--zone us-east1-d \
$(gcloud compute disks list \
--filter="zone:us-east1-d AND -users:*" \
--format="value(id)")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment