สร้าง Kubernetes Cluster บน Google Cloud Platform

เนื่องจากเป็นโปรแกรมเมอร์งบจำกัด เพิ่งมีคนใจดีให้เครดิตมาลองเล่น GCP ก็เลยสร้าง Kubernetes Cluster ซะเลย ง่ายสุดก็เข้าไปกดคลิ๊กๆ…

สร้าง Kubernetes Cluster บน Google Cloud Platform

เนื่องจากเป็นโปรแกรมเมอร์งบจำกัด เพิ่งมีคนใจดีให้เครดิตมาลองเล่น GCP ก็เลยสร้าง Kubernetes Cluster ซะเลย ง่ายสุดก็เข้าไปกดคลิ๊กๆ แต่วันนี้จะมาลองทำบน command line ดู

จริงๆ ก็ทำตามขั้นตอนที่ลิงก์แหละ แต่สรุปมาให้

Creating a Cluster | Kubernetes Engine | Google Cloud
Google Cloud delivers secure, open, intelligent, and transformative tools to help enterprises modernize for today's…cloud.google.com

  1. ลง Command Line Tool ของ Google Cloud ชื่อว่า gcloud
brew cask install google-cloud-sdk

2. login ใช้ gcloud มันจะเปิดหน้า browser ขึ้นมาให้เราใส่ user/pass เข้าไป

gcloud auth login

เลือก Project ที่เราจะใช้ ดูรายชื่อ project ที่เรามีได้ที่นี่ https://console.cloud.google.com/cloud-resource-manager

gcloud config set project PROJECT_ID

3. สร้าง cluster

  • machine type เลือกตามนี้ (ยากจนก็ใช้ g1-small, $14 ต่อเดือน)
  • num_nodes ตามต้องการ แต่ default คือ 3

เลือกได้ว่าจะสร้างไว้ที่ zone เดียวหรือทั้ง region เลย ดูชื่อได้ ที่นี่

  • zone ที่เราจะสร้าง REGION_NAME-ZONE_NAME
  • region ที่เราจะสร้าง แต่ถ้าใส่ num_nodes ไปเท่าไหร่มันจะ x3
gcloud container clusters create CLUSTER_NAME --machine-type=g1-small --num-nodes=1 --zone=us-west1-a

สร้างอยู่นานเหมือนกัน (ประมาณสองสามนาที)

4. สร้าง config สำหรับ kubectl

จากนั้นเราก็สามารถสั่งให้มันไปสร้าง config ให้กับ

> brew install kubectl

> gcloud container clusters get-credentials CLUSTER_NAME --zone=us-west1-a

Fetching cluster endpoint and auth data.
kubeconfig entry generated for k8s.

5. kubectl

เสร็จหมดแล้ว ใช้ kubectl ได้เลย

kubectl get pods --all-namespaces | awk '{ print $2,$3 }'

NAME READY
event-exporter-v0.2.3-54f94754f4-j5m8s 2/2
fluentd-gcp-scaler-6d7bbc67c5-lrnz7 1/1
fluentd-gcp-v3.1.0-kxttm 2/2
heapster-v1.5.3-7bd845b96c-r5f8n 3/3
kube-dns-788979dc8f-8tpxm 4/4
kube-dns-autoscaler-79b4b844b9-v7v5f 1/1
kube-proxy-gke-k8s-default-pool-0c3f25d3-cpmt 1/1
l7-default-backend-5d5b9874d5-qsnwk 1/1
metrics-server-v0.2.1-7486f5bd67-xkrbb 2/2

สำหรับขา UI เข้าไปดูผ่าน UI ได้ที่นี่ https://console.cloud.google.com/kubernetes/list