Skip to content

Instantly share code, notes, and snippets.

View misskecupbung's full-sized avatar
💤
Thinking ...

Ananda Dwi Ae misskecupbung

💤
Thinking ...
View GitHub Profile
gcloud container clusters upgrade $CLUSTER_NAME \
--region $GCP_REGION \
--cluster-version $NEW_K8S_VER \
--project $PROJECT_ID \
--master
NODE=$(kubectl get nodes -o wide | grep v1.22.12-gke.2300 | awk '{print $1}'
kubectl -n default cordon $NODE
gcloud container node-pools delete default-pool \
--project $PROJECT_ID \
--cluster $CLUSTER_NAME \
--region $GCP_REGION
gcloud container node-pools create pool-gke1-23 \
--project $PROJECT_ID \
--cluster $CLUSTER_NAME \
--region $GCP_REGION \
--num-nodes $NUM_NODES \
--machine-type $MACHINE_TYPE \
--node-labels=nodepool=$NEW_GKE_VER
# Define env variables
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_USER=$(gcloud config get-value core/account)
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
export IDNS=${PROJECT_ID}.svc.id.goog
export GCP_REGION="us-central1"
export GCP_ZONE="us-central1-c"
export NETWORK_NAME="default"
gcloud config set compute/region $GCP_REGION
gcloud config set compute/zone $GCP_ZONE
gcloud services enable compute.googleapis.com \
container.googleapis.com \
storage.googleapis.com \
gkebackup.googleapis.com
export CLUSTER_NAME="gke-central1-a"
gcloud beta container clusters create $CLUSTER_NAME \
--project=$PROJECT_ID \
--region=$LOCATION \
--addons=BackupRestore \
--num-nodes=1 \
--enable-autoupgrade --no-enable-basic-auth \
--no-issue-client-certificate --enable-ip-alias \
--metadata disable-legacy-endpoints=true \
--workload-pool=$IDNS
# create Kustomize file
cat > ./kustomization.yaml << EOF
secretGenerator:
- name: mysql-pass
literals:
- password=gkebackup2022
EOF
# download manifests
curl -LO https://k8s.io/examples/application/wordpress/mysql-deployment.yaml
gcloud alpha container backup-restore backup-plans create $BACKUP_PLAN \
--project=$PROJECT_ID \
--location=$LOCATION \
--cluster=$CLUSTER \
--all-namespaces \
--include-secrets \
--include-volume-data \
--cron-schedule="0 * * * *" \
--backup-retain-days=$RETAIN_DAYS \
--locked