เตรียมซอฟต์แวร์สำหรับศึกษา Kubernetes

เมื่อหลายวันที่ผ่านมาได้ซื้อคอร์สออนไลน์ในหัวข้อวิธีการใช้งาน Kubernetes กับทาง Udemy เนื่องจากช่วงนั้นมีลดราคาหนักมาก เลยซื้อคอร์สเผื่อไว้ช่วงที่มีเวลามานั่งศึกษา ช่วงนี้ก็น่าจะมีเวลามาศึกษาบ้างเล็กน้อยแล้วก็วางแผนจะมาเขียน blog ไว้สรุปความเข้าใจตัวเองในแต่ละส่วนที่ได้เรียนไป

ในช่วงแรกๆเขาจะให้ Resource เพื่อให้เตรียมซอฟต์แวร์ต่างๆที่ต้องใช้ในคอร์ส ซึ่งมีลิสต์ดังนี้

  1. VirtualBox ตัว VirtualBox เป็นเครื่องมือในการสร้างและรัน Virtual Machine สามารถดาวน์โหลดได้ที่ https://www.virtualbox.org/wiki/Downloads หรือสำหรับ macOS สามารถพิมพ์ brew cask install virtualbox และ sudo apt install virtualbox สำหรับ Ubuntu
  2. Docker ตัวนี้การทำงานจะคล้ายๆกับ Virtual Machine แต่สิ่งที่แตกต่างออกไปคือมันจะใช้หลักการ Container เพื่อลดความซ้ำซ้อนในการใช้งานทรัพยากร โดย Container จะรันอยู่ภายใต้ Operating System เดียวกันหมด ไม่เหมือนกับ Virtual Machine ที่ต้องมี Guest OS ซึ่งรันอยู่บน Host OS โดยมี Hypervisor ควบคุม แต่ทั้งนี้ Docker container ก็สามารถรันบน Virtual Machine ได้เหมือนกัน
    สำหรับ macOS สามารถดาวน์โหลดได้ที่ https://docs.docker.com/docker-for-mac/install/ หรือไปดาวน์โหลดที่ https://www.docker.com/products/docker-desktop สำหรับ Windows และ sudo apt install docker.io สำหรับ Ubuntu
  3. kubectl เป็น command-line application ที่ใช้งานกับ Kubernetes cluster โดยหากใครใช้งาน macOS และลง homebrew ไว้อยู่แล้วก็สามารถพิมพ์คำสั่ง brew install kubectl เพื่อลงได้ทันที
  4. minikube เป็นเครื่องมือหรือ package ที่รัน Kubernetes cluster บนเครื่องของตัวเอง ซึ่งกรณีนี้จะใช้งานกับ VirtualBox สามารถตรวจสอบเวอร์ชันและดาวน์โหลดได้ที่ https://github.com/kubernetes/minikube หรือสำหรับ macOS สามารถใช้งานคำสั่งตามด้านล่างนี้
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.9.2/minikube-darwin-amd64 &&\
  chmod +x minikube &&\
  sudo mv minikube /usr/local/bin/

เมื่อลงทุกอย่างเสร็จแล้วก็สามารถทดสอบการรัน minikube cluster ได้โดยการพิมพ์คำสั่ง

minikube start

ถ้าใครเจอ error Error starting host: Error getting state for host: machine does not exist. ให้ทำการลบไฟล์ทั้งหมดใน ~/.minikube/machine แล้วทดลองรันคำสั่ง minikube start อีกที

ไว้มีอะไรเพิ่มเติมจะมาเขียนบทความให้ครับ

1 thought on “เตรียมซอฟต์แวร์สำหรับศึกษา Kubernetes”

  1. หลังจากนั่งเรียนคอร์สออนไลน์มีความสงสัยหลายอย่างเพราะไม่มีการอธิบายองค์ประกอบของ Kubernetes จึงลองไปหาอ่านดูเรื่อยๆ และเจอบทความใน blognone (https://www.blognone.com/node/106492) เลยช่วยให้เข้าใจองค์รวมมากขึ้น

    และทำให้เจอ Kompose (Kubernetes + Compose: https://github.com/kubernetes/kompose) ซึ่งช่วยแปลงไฟล์ docker-compose.yaml ให้เป็น yaml ไฟล์สำหรับ Service และ Deployment บน Kubernetes

Comments are closed.