สมมุตเรามี Kubernetes Cluster บน cloud แล้วเรียบร้อยสิ่งที่เราสามารถทดสอบได้ว่า Kubernetes Cluster ของเราสามารถใช้งานได้อย่างปกติหรือไม่
อีกวิธีการหนึ่งที่ผมมักจะทำบ่อยๆคือรีบ deploy ของแบบง่ายๆขึ้นไปทดสอบแล้วลองเข้าหน้าเว็บดูว่าสามารถเข้าใช้งานได้ปกติไหม

โดยตัวอย่างนี้ผมได้สร้าง Kubernetes Cluster บน Google Cloud ไว้แล้วคือ GKE (Google Kubernetes Engine) ซึ่งเป็น Kubernetes Cluster Native ของ Google Cloud ครับ

  1. เชคการเชื่อมต่อ kubernetes cluster กับ client ของเรา
# ตรวจสอบการเชื่อมต่อระหว่าง client กับ kubernetes cluster
kubectl version
# ดูข้อมูลของ kubernetes cluster ของเรา
kubectl cluster-info

2. การที่เราจะออก internet ได้ด้วยความสามารถของการที่เราใช้ native cloud cluster อย่างหนึ่งคือถ้าเราสร้าง service type Loadbalancer จะสามารถออก public ip ได้เลย ดังนั้นเรามาสร้าง service type Loadbalancer ด้วยคำสั่งดังนี้

# สร้าง service type loadbalancer ชื่อ my-service และ expose port 80 
kubectl create service loadbalancer my-service --tcp=80:8080
# ดูรายละเอียดของ service ที่สร้างมาจาก command ด้านบน
kubectl get service

จะเห็นว่าจะได้ external ip มาและสามารถเข้าผ่านหน้า browser ได้ดังนี้

3.หลังจากที่ได้ service load balancer ที่เป็นเหมือนทางเข้าของ application ของเราแล้ว เรามาสร้าง deployment ด้วยคำสั่งต่อไปนี้

# สร้าง deployment โดยใช้ base image ชื่อ nginx
kubectl create deployment nginx --image=nginx

4.เมื่อเราได้ deployment และ service แล้วแต่ทั้งคู่ยังไม่รู้จักกันเราสามารถทำให้ service รู้จัก deployment ได้ด้วยสิ่งที่เรียกว่า selector and label

# ดูรายละเอียดของ deployment nginx จะเห็นว่า มี Labels: app=nginx
kubectl describe deployment nginx
# ทำให้ service loadbalancer รู้จักกับ deployment โดยการ set selector
kubectl set selector service my-service 'app=nginx'

เพียงเท่านี้ก็จะสามารถเข้าหน้าเว็บได้และสามารถ prove ได้ว่าสามารถ deploy application บน GKE ได้

สามารถเข้าผ่าน External IP ที่ service Loadbalancer Generate ให้จะเจอหน้าเว็บ default ของ nginx ดังนี้