GKE Backup and Restore - Task4 | GSP1110



簡介

本文實作練習中,將在 GKE Cluster 運作環境中,採用內建支援的「Backup for GKE」服務,這項服務由兩個部份所組成,分別是 Google Cloud API 及 GKE Add-on (the Backup for GKE agent)。簡單來說,就是可以針對 GKE Cluster 中的工作負載進行「備份和還原」作業。

圖、Backup for GKE 元件運作示意圖





Task 4 - Deploy the application

前置作業完成後,現在已經可以部署「有狀態應用程式」(Stateful Application)。 在本文實作環境中,將會部署具備 MySQL 資料庫的 WordPress 應用程式。 請執行下列指令,為 WordPress 應用程式及 MySQL 資料庫建立 PV(Persistent Volumes)。 值得注意的是,在本文實作環境中,為了實作方便採用的 MySQL 管理密碼為「1234567890」,實務上請更換為強式密碼,以避免後續產生的資安風險。
YOUR_SECRET_PASSWORD=1234567890 kubectl create secret generic mysql-pass --from-literal=password=${YOUR_SECRET_PASSWORD?} kubectl apply -f https://k8s.io/examples/application/wordpress/mysql-deployment.yaml kubectl apply -f https://k8s.io/examples/application/wordpress/wordpress-deployment.yaml

執行下列指令,為部署的 WordPress 服務透過 Google Cloud 外部負載平衡器公開,然後用個簡單的 curl 迴圈,測試 WordPress 服務是否已經能夠被網際網路所存取。一旦 WordPress 服務能夠被存取,就會顯示公用 IP 位址並顯示為「is accessible」字串內容。
patch_file=/tmp/loadbalancer-patch.yaml cat <<EOF > ${patch_file} spec: loadBalancerIP: ${EXTERNAL_ADDRESS} EOF kubectl patch service/wordpress --patch "$(cat ${patch_file})" while ! curl --fail --max-time 5 --output /dev/null --show-error --silent http://${EXTERNAL_ADDRESS}; do sleep 5 done echo -e "\nhttp://${EXTERNAL_ADDRESS} is accessible\n"