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

มาเริ่มใช้งาน Minikube กันหน่อย

$
0
0

ถ้าพูดถึงเรื่อง DevOps เครื่องมือที่มักถูกพูดถึงและแนะนำให้นำมาใช้งาน มักจะมี Docker และ Kubernetes เป็นสิ่งที่คล้ายกันมาก ๆ ทั้งสองมีเป้าหมายเดียวกันคือ ลดปัญหาเรื่อง compatibility ของระบบ ลดปัญหาเรื่อง portability ของระบบ ซึ่งเป็นความรับผิดชอบหลักของทีม development และ operation

โดยในบทความนี้เจะเน้นไปที่ Kubernetes

แต่ถ้าเราต้องการนำมาทดสอบหรือใช้งานบนเครื่องเรามันไม่ง่ายเลย เพราะว่า Kubernetes นั้นต้องการมากกว่า 1 instance ในการเริ่มใช้งาน คือหนึ่งสำหรับ master service สองสำหรับ discover service และสามสำหรับ node แต่ถ้าจะใช้งานจริง ๆ ก็มีเครื่องมือช่วยคือ Minikube

โดยที่ Minikube เป็นเครื่องมือที่ทำให้ชีวิตนักพัฒนาง่ายขึ้น

ทำให้สามารถ run Kubernetes cluster บนเครื่องนักพัฒนาได้เลย ดังนั้นมาลองใช้งานกันแบบพื้นฐานสุด ๆ กันหน่อย
ปล. การทดสอบทั้งหมดอยู่บน Mac OS นะ ส่วนการติดตั้งดูจากที่นี่ได้เลย Installation น่าเบื่อนิดหน่อยที่ต้องใช้พวก VirtualBox หรือ VMWare Fusion เป็นบ้านให้ container ต่าง ๆ ที่จะสร้างขึ้นมา

มาเริ่มด้วยการสร้าง Kubernetes cluster กันดีกว่า

[gist id="bdd999fb1e17219222351b676ca63cdc" file="1.txt"] จากทำการตรวจสอบด้วยคำสั่ง [gist id="bdd999fb1e17219222351b676ca63cdc" file="2.txt"] ในตอนนี้เรามี 1 node ทำงานแล้วนะ

จะรออะไรมาลองสร้าง Nginx container เล่นกันหน่อย

รวมทั้ง expose port ออกมาหน่อยนะ [code] kubectl run webserver --image=nginx:1.13 --port=80 kubectl expose deployment webserver --type=NodePort [/code] โดยใน Kubernetes นั้นจะเรียกว่า Pod ดังนั้นขอดูหน่อยสิว่าที่เราเพิ่งสร้างมานั้นมีจริงหรือเปล่า ด้วยคำสั่ง [gist id="bdd999fb1e17219222351b676ca63cdc" file="3.txt"]

จากนั้นปัญหาคือ URL ของ web server ละ คืออะไร ?

โดยสามารถดูด้วยคำสั่ง [code] $minikube service webserver --url [/code] ลองเข้าใชงานตาม url ได้ผลดังรูป

ยังไม่พอนะ ยังมี Dasdboard หน้าสวย ๆ ให้ใช้งานอีกด้วย

สามารถเข้าด้วยคำสั่ง [code] $minikube dashboard [/code] แสดงผลดังรูป

ยังไม่พอนะ ยังมี proxy สำหรับการเข้าถึง

[code] $kubectl proxy [/code] จะทำการ start server มาให้ (Local ของเรานั่นเอง) ทำให้เราสามารถเข้าถึงได้ง่ายขึ้น แสดงรายชื่อ url ดังรูป

คำถามที่ตามมาคือ อยากเข้าไปใน container หรือ pod ทำอย่างไรดี ?

การใช้งานเหมือน docker เลยคือ [gist id="bdd999fb1e17219222351b676ca63cdc" file="4.txt"] เมื่อทุกอย่างเรียบร้อยก็ทำการลบทิ้งไปซะ [code] $kubectl delete deployments --all $kubectl delete pods --all [/code]

ปิดท้ายด้วยการ stop Minikube

[code] $minikube stop [/code] เพียงเท่านี้เราก็สามารถเริ่มต้น Kubernetes บนเครื่องเราได้แล้วนะครับ ขอให้สนุกกับการ coding ครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles