Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 2.33 KB

README.md

File metadata and controls

56 lines (37 loc) · 2.33 KB

GKE Guestbook範例

GKE = Google Container Engine,為Google提供給Docker instance執行的一個Cluster環境。下面是官網所實作的GKE環境執行Guestbook的一篇文章。在該文中,透過K8S的Service, Repication Controller, Pods之間的運作關係,讓我們可以更清楚如何在K8S中建置更彈性的服務。

原文出處

執行步驟

建立的部分,依照step*.sh直行即可,試驗完成後,如果要清除資源,可以使用clear.sh清除環境。

系統架構

這個guestbook demo的架構,原則上是透過php程式撰寫一個guestbook,並透過redis master / slave的架構做起一個redis的cluster,讓php程式可以存取,而存取的方式會指定write的部分從redis master進入,而read的部分則從redis slave進入,以分散整個系統loading... 整體系統架構如下:

Guestbook System Architecture

Configure files

  • redis-master-pod.json : 建立redis master pod的設定檔
  • redis-master-service.json : 建立redis master service的設定檔
  • redis-worker-controller.json : 建立redis slave的設定檔,透過controller讓slave server可以auto replicate
  • redis-worker-service.json : 建立redis worker service,將redis slave以service封裝
  • guestbook-controller.json : 建立guestbook replication controller,並指定Container預計使用的template
  • guestbook-service.json : 建立guestbook的service封裝

Steps

建立GKE cluster

  • step1-create-gke-cluster.sh

建立redis master

  • step2-create-redis-master-pod.sh
  • step3-create-redis-master-service.sh

建立redis slave

  • step4-create-redis-worker-controller.sh
  • step5-create-redis-worker-service.sh

建立guestbook application server

  • step6-create-frontend-controller.sh
  • step7-create-frontend-service.sh

設定GKE外部防火牆

  • step8-create-gce-firewall.sh

附註

如果您的GKE是透過Web Console建立,kubectl指令與GKE之間需要做個鏈結的動作,可以參考:https://cloud.google.com/container-engine/docs/before-you-begin#pass_credentials_to_kubectl

$ gcloud alpha container get-credentials
    [--zone ZONE] [--cluster CLUSTER_NAME]