Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สวัสดีกับ Kubernetes บน Docker for Mac 17.12 CE Edge

$
0
0

ออกมาแล้วสำหรับ Kubernetes บน Docker for Mac 17.12 CE Edge ประกอบไปด้วย standalone Kubernetes server และ client ทำให้สามารถ run Kubernetes server บน Docker instance ได้เลย แต่เป็นแบบ local หรือ single node cluster นะ ดังนั้นมาลองใช้งานดูกันหน่อย

เริ่มด้วยการเปิด Kubernetes บน Docker for Mac

ถ้าใช้งาน minikube อยู่แล้ว จะต้องเปลี่ยน context และ namespace ก่อนนะ

มิเช่นนั้นจะใช้ไม่ได้ !! จากค่า default คือ minikube เป็น docker-for-desktop ดังนี้ [code] $kubectl config use-context docker-for-desktop [/code] สิ่งหนึ่งที่แตกต่างกันระหว่าง Docker Swarm กับ Kubernetes คือ Kubernetes จะสนับสนุน namespace โดยค่า default จะมี namespace ชื่อว่า system จากนั้นดู container ที่ run อยู่ ด้วยคำสั่ง [code] $kubectl get all --all-namespaces [/code] แสดงผลการทำงาน ซึ่งมี service ต่าง ๆ ทำงานอยู่เยอะมาก ๆ [gist id="021189bc878dc143b2e983f2c60558e1" file="1.txt"] ส่วน version ของ Kubernetes คือ 1.8 ซึ่งไม่ใช่ version ล่าสุด !! สามารถดูด้วยคำสั่ง [code] $kubectl version [/code]

มาดูการใช้งานกันหน่อย

Docker นั้นพยายามทำให้ Kubernetes ใช้งานง่าย ๆ ในมุมมองของคนใช้ Docker Swarm มาก่อน นั่นคือ ไม่ต้องเปลี่ยนแนวคิด หรือ คำสั่งมากนัก ด้วยการ integrate ระหว่าง Docker stack ใน Docker Swarm กับ Kubernetes native service/deployment เข้าด้วยกัน ผ่าน CRD (Custom Resource Definition)  ดังนั้นสามารถใช้งานผ่านคำสั่ง [gist id="021189bc878dc143b2e983f2c60558e1" file="2.txt"] จากนั้นทำการ deploy stack ตัวอย่างนิดหน่อย ใช้ตัวอย่างจาก web ของ Docker ซึ่งสามารถใช้ไฟล์ docker-compose.yml เหมือนเดิมได้เลย มาดูหน้าตาของไฟล์ docker-compose.yml กัน [gist id="021189bc878dc143b2e983f2c60558e1" file="docker-compose.yml"] ทำการสร้าง stack ด้วยคำสั่ง [code] $docker stack deploy demo -c ./docker-compose.yml [/code] ผลการทำงาน [gist id="021189bc878dc143b2e983f2c60558e1" file="3.txt"] ต่อมาทำการตรวจผลการทำงาน ทั้งการสร้าง stack ใหม่ และ pods ต่าง ๆ [gist id="021189bc878dc143b2e983f2c60558e1" file="4.txt"] สุดท้ายเข้าใช้งานระบบตัวอย่างผ่าน http://localhost เพียงเท่านี้ก็ใช้งานได้แล้ว ง่ายไหมละ !! โดยที่แนวคิดและแนวทางของคนที่ใช้ Docker Swarm มาก่อนแล้ว ไม่ต้องเปลี่ยนเยอะ ทั้งความเรียบง่าย ทั้งความเร็ว ดังนั้นมาลองใช้กันดูครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles