Google เปิดให้บริการ Google Container Engine ซึ่งรองรับการใช้งาน Kubernetes และ Docker Container แต่การใช้งานต้องใช้งานตามโครงสร้าง Kubernetes เป็นหลัก ซึ่งโครงสร้างที่ Kubernetes ต้องมีเป็นอย่างน้อย ได้แก่ cluster ของ container host และ pod ซึ่งก็คือ container ที่ต้องการ deploy โดยปกติ ถ้าใช้งาน Kubernetes โดยตรงจะต้องจัดการเรื่อง config ต่างๆ เองทั้งหมด โดยเฉพาะการเชื่อมต่อกับ Cloud Provider ที่ใช้บริการ แต่การใช้งานผ่าน Container Engine และใช้ Google Cloud SDK ด้วยแล้ว การใช้งาน Docker Container บน Container Engine ก็กลายเป็นเรื่องง่าย

การใช้งาน Google Cloud Platform หรือบริการที่อยู่ภายใต้ Google Cloud Compute จะต้องใช้งานผ่าน Google Cloud SDK ซึ่งจะมีชุดคำสั่งที่จะช่วยให้เราสั่งงานผ่าน command line ได้สะดวกมากยิ่งขึ้น หากใครไม่มี Google Cloud SDK ให้ติดตั้งก่อนดังนี้

curl https://sdk.cloud.google.com | bash

จากนั้นสั่ง authentication กับ Google Account ได้เลย

gcloud auth login

จากนั้นให้คุณสร้าง project บน Google Developer Console ตามปกติ จากนั้น เปิดการใช้งาน Container Engine API เลือก project ที่ต้องการใช้งาน

จากนั้นสั่ง update component ขอใช้ preview feature บน Compute Engine ดังนี้

gcloud components update preview

gcloud config set project PROJECT-ID

ตรง PROJECT-ID ใส่ id ของ project ของคุณลงไป จากนั้นกำหนดว่าเราจะใช้งาน compute zone ไหน

gcloud config set compute/zone asia-east1-a

เมื่อกำหนด compute zone ได้แล้วก็สั่งสร้าง cluster ได้เลย สร้าง wordpress-cluster ใช้ 1 node ขนาด g1-small

gcloud preview container clusters create wordpress-cluster \
--num-nodes 1 \
--machine-type g1-small

รอจนสร้าง cluster เสร็จ จะได้ผลลัพท์ดังภาพ

จากนั้นลองดูว่ามี instance อะไรบ้าง

gcloud compute instances list

จะได้ผลลัพท์ดังภาพ

เมื่อสร้าง cluster เรียบร้อยแล้ว เราก็สามารถที่จะ deploy container ซึ่งก็คือ pod ได้แล้วดังนี้ โดย container ที่เราจะ deploy คือ wordpress ใช้ Docker Image ชื่อ tutum/wordpress และ expose port 80

gcloud preview container pods create \
--name wordpress \
--image=tutum/wordpress \
--port=80

จะได้ผลลัพท์ดังภาพ

ลองดูรายการ pod ด้วยคำสั่ง

gcloud preview container pods describe wordpress

จะได้ผลลัพท์ดังภาพ

Pod จะทำงานก็ต่อเมื่อเรากำหนด firewall ให้กับ cluster ดังนี้

gcloud compute firewall-rules create wordpress-node-80 --allow tcp:80 \
--target-tags k8s-wordpress-cluster-node

จะได้ผลลัพท์ดังภาพ

เมื่อ expose port ผ่าน firewall แล้วเราสามารถเปิด browser ไปที่ public ip ของ pod ได้เลย เราจะเข้าสู่หน้า config ของ wordpress ดังนี้

และได้ WordPress พร้อมใช้งาน ดังนี้

Comments are closed.