ติดตั้ง K3s Lightweight Kubernetes บน Cloud VPS สำหรับโปรเจกต์ขนาดเล็ก-กลาง

K3s คือ Kubernetes เวอร์ชันเบาน้อยที่ได้รับการออกแบบมาเพื่อให้ใช้งานง่าย รวดเร็ว และประหยัดทรัพยากรระบบ โดยเฉพาะสำหรับโปรเจกต์ขนาดเล็กและกลาง ต่างจาก Kubernetes แบบเต็มรูป K3s มีขนาดเล็กกว่า 100 เมกะไบต์ และสามารถติดตั้งบน Cloud VPS ได้อย่างรวดเร็ว ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับนักพัฒนาและผู้ดูแลระบบที่ต้องการจัดการคอนเทนเนอร์อย่างมีประสิทธิภาพ บทความนี้จะแนะนำวิธีติดตั้ง K3s บน Cloud VPS ของ ผู้ให้บริการโฮสติ้ง เพื่อให้คุณสามารถจัดการแอปพลิเคชันแบบ containerized ได้อย่างง่ายดาย

K3s คืออะไร และเหตุใดจึงควรใช้งาน

K3s เป็น Kubernetes distribution ที่มีรูปแบบเบา โดยทำให้ Kubernetes พร้อมใช้งานในสภาพแวดล้อมที่มีข้อจำกัดด้านทรัพยากร เช่น IoT, Edge computing, และการใช้งาน Single Node ขนาดเล็ก ข้อดีหลักของ K3s ประกอบด้วย:

  • ประหยัดทรัพยากร: ต้องการ CPU และ RAM น้อยกว่า Kubernetes ทั่วไป
  • ติดตั้งและตั้งค่าได้ง่าย: ใช้คำสั่ง Bash เพียงบรรทัดเดียวเพื่อติดตั้ง
  • รองรับ Single Node และ Multi-Node: สามารถขยายได้เมื่อโปรเจกต์เติบโต
  • บิดท์ในระบบเก็บข้อมูล SQLite: ไม่จำเป็นต้องติดตั้ง etcd แยกต่างหาก
  • เหมาะสำหรับ Cloud VPS: ใช้ได้ดีกับ Cloud VPS ของ ผู้ให้บริการโฮสติ้ง

ข้อกำหนดเบื้องต้นสำหรับการติดตั้ง K3s

ก่อนติดตั้ง K3s บน Cloud VPS ของคุณ ให้แน่ใจว่าคุณมี:

  • Cloud VPS จาก ผู้ให้บริการโฮสติ้ง โดยมี OS Linux (Ubuntu 20.04 ขึ้นไป หรือ CentOS 7 ขึ้นไป)
  • การเชื่อมต่อ SSH เพื่อเข้าถึงเซิร์ฟเวอร์
  • สิทธิ์ sudo หรือสิทธิ์ root
  • พื้นที่ดิสก์อย่างน้อย 2 GB สำหรับ K3s
  • การเชื่อมต่อเน็ตเวิร์กที่เสถียร
  • ความรู้พื้นฐานเกี่ยวกับ Linux command line

วิธีติดตั้ง K3s บน Cloud VPS แบบ Single Node

การติดตั้ง K3s บน Single Node นั้นง่ายมาก โดยใช้ไฟล์ที่เตรียมไว้จากเว็บไซต์ reseller.k3s.io ทำตามขั้นตอนต่อไปนี้:

ขั้นตอนที่ 1: เชื่อมต่อกับ Cloud VPS ของคุณ

เปิด Terminal หรือ SSH client และเชื่อมต่อกับ Cloud VPS ของ ผู้ให้บริการโฮสติ้ง:

ssh root@YOUR_VPS_IP

ขั้นตอนที่ 2: ดาวน์โหลดและติดตั้ง K3s

รันคำสั่งเดียวเพื่อติดตั้ง K3s:

curl -sfL https://get.k3s.io | sh -

คำสั่งนี้จะ:

  • ดาวน์โหลดตัวติดตั้ง K3s
  • ติดตั้ง K3s เซิร์ฟเวอร์
  • สตาร์ท K3s service โดยอัตโนมัติ
  • สร้างไฟล์ kubeconfig ที่ /etc/rancher/k3s/k3s.yaml

ขั้นตอนที่ 3: ตรวจสอบสถานะการติดตั้ง

ตรวจสอบว่า K3s ติดตั้งสำเร็จหรือไม่:

kubectl get nodes

คุณควรจะเห็นผลลัพธ์เช่นนี้:

NAME            STATUS   ROLES                  AGE   VERSION
cloud-vps-01    Ready    control-plane,master   5m    v1.28.0+k3s1

การตั้งค่า kubectl ให้ทำงานกับ K3s

หลังจากติดตั้ง K3s เสร็จแล้ว คุณอาจต้องตั้งค่า kubectl ให้ทำงานกับ K3s ทำตามขั้นตอนต่อไปนี้:

ตั้งค่า KUBECONFIG

เพิ่มไฟล์ kubeconfig ไปยังตัวแปร KUBECONFIG:

export KUBECONFIG=/etc/rancher/k3s/k3s.yaml

เพื่อให้ตั้งค่านี้ถาวร ให้เพิ่มบรรทัดด้านบนไปยังไฟล์ ~/.bashrc:

echo 'export KUBECONFIG=/etc/rancher/k3s/k3s.yaml' >> ~/.bashrc
source ~/.bashrc

การติดตั้ง K3s Multi-Node Cluster

หากคุณต้องการขยาย K3s ไปยัง Multiple Nodes สำหรับความพร้อมใช้งานที่สูงขึ้น ให้ทำตามขั้นตอนต่อไปนี้:

ขั้นตอนที่ 1: ติดตั้ง Master Node

ติดตั้ง K3s Master Node ในเครื่องแรก:

curl -sfL https://get.k3s.io | sh -

ขั้นตอนที่ 2: รับ Token จาก Master Node

รับ token ที่จำเป็นสำหรับการเชื่อมต่อ Worker Nodes:

cat /var/lib/rancher/k3s/server/node-token

ขั้นตอนที่ 3: เพิ่ม Worker Nodes

บน Worker Nodes ให้รันคำสั่งต่อไปนี้ (โดยแทนที่ IP address และ token ด้วยค่าจากระบบของคุณ):

curl -sfL https://get.k3s.io | K3S_URL=https://MASTER_IP:6443 K3S_TOKEN=YOUR_TOKEN sh -

การปรับปรุง K3s

K3s รองรับการปรับปรุงอัตโนมัติผ่าน System Upgrade Controller ซึ่งสามารถตั้งค่าเพื่อให้ระบบเพิ่มเวอร์ชัน K3s โดยอัตโนมัติ

เคล็ดลับการใช้งาน K3s บน Cloud VPS

เมื่อใช้งาน K3s บน Cloud VPS ของ ผู้ให้บริการโฮสติ้ง ให้จำข้อบันทึกต่อไปนี้:

  • ตรวจสอบทรัพยากร: ใช้ kubectl top nodes เพื่อตรวจสอบการใช้งาน CPU และ RAM
  • ใช้ Storage Class ที่เหมาะสม: K3s มี local-path-provisioner ที่สามารถใช้สำหรับเก็บข้อมูลถาวร
  • ตั้งค่า Backup: ตั้งค่า backup สำหรับไฟล์ kubeconfig และข้อมูลสำคัญของแอปพลิเคชัน
  • ใช้ Ingress Controller: K3s มาพร้อมกับ Traefik Ingress Controller
  • ตรวจสอบ Logs: ดูเอกสารการ debug K3s เมื่อเกิดปัญหา

สรุป

K3s เป็นทางเลือกที่ยอดเยี่ยมสำหรับการจัดการคอนเทนเนอร์บน Cloud VPS ของ ผู้ให้บริการโฮสติ้ง โดยเฉพาะสำหรับโปรเจกต์ขนาดเล็กและกลาง การติดตั้งง่าย ใช้ทรัพยากรน้อย และยังรองรับการขยายสำหรับโปรเจกต์ที่เติบโตได้ด้วย ด้วยการติดตั้งและตั้งค่าตามขั้นตอนในบทความนี้ คุณสามารถเริ่มใช้งาน Kubernetes บน Cloud VPS ของเราได้อย่างรวดเร็ว