นำ Dockerimage ขึ้นไปยัง GKE
ก่อนที่เราจะนำ Docker image ขึ้นไป run ยัง GKE เราต้อง push Docker image ของเราขึ้นไปยัง registry ก่อน ในที่นี้เรากำลังจะใช้ Docker hub สำหรับเก็บ Docker image เพื่อให้ GKE pull Docker image นั้น ลงมา
ก่อนอื่น Register ไปยัง Docker hub กันก่อน
หลังจากนั้น build docker image ของเราใหม่ด้วย tag <Username>:<ชื่อ image>
docker build -t <username>/<imagename> .
จากนั้นทำการ login docker hub
docker login
หลังจากนั้นเราสามารถ push image ได้จาก
docker image push <ชื่อimage>
แค่นี้ Image ของเราก็ขึ้นไปอยู่บน docker hub แล้ว !
หลังจากนั้นให้เราจะทำการ deploy docker image ขึ้น GKE กัน
เมื่อเราสร้าง nodecluster Kubernetes กันแล้ว หลังจากนี้เราจะทำการนำ docker image ที่เราอัพขึ้นไปยัง Docker hub ลงมายัง nodecluster ของเราและ deploy ของเราด้วย docker image นั้น
โดยใช้ command นี้
kubectl create deployment myapp --image=<username>/myapp
เมื่อเราสร้าง deployment Kubernetes จะทำการสร้าง pod ทำหน้าที่คล้ายกับ container ที่เก็บไฟล์นั้น ๆ ไว้
หลังจากนั้นเราสามารถดู pod ได้จาก
kubectl get pods
เพียงเท่านี้ Service ของเราก็ขึ้นไป Run บน GKE แล้ว งั้นเรามาลองเข้า service ของเรากันเลยดีกว่าาาาา
แต่ !!!!!!
Service ของเรานั้นไม่สามารถเข้าถึงได้จากภายนอก เพราะยังไม่มี external ip ที่จะทำให้เราเข้าถึง service ของเราได้ เพราะงั้นเราต้องทำการเปิด external ip ให้กับ service ของเราซะก่อน
เมื่อเรา Run service ของเราใน GKE แล้ว เราสามารถเปิด external ip ได้จาก
kubectl expose deployment myapp --type LoadBalancer --port 80 --target-port=<APP_PORT>
เมื่อเรา expose แล้วเราจะสามารถดู service และ ip นั้น ๆ ที่ run อยู่ได้โดย
kubectl get service <SERVICE_NAME>
หลังจากนั้น API ของเราก็สามารถเข้าดูได้จาก external-ip ได้แล้ว