รัน Kubernetes บน Docker Desktop

Kubernetes ตอนที่ ๒

Noppadon Sirikhum
1 min readMar 23, 2020

บทความนี้เป็นตอนที่ ๒ ต่อเนื่องมาจาก ตอนที่ ๑

ในบทความนี้ เราจะรันคำสั่งของ Kubernetes ไปพร้อมๆกับเนื้อหา จะรันคำสั่ง Kubernetes ได้ เราก็ต้องมี Kubernetes ให้เราต่อเข้าไปก่อน ทางเลือกที่ไม่เสียเงินคือ หนึ่ง ใช้ Online Playground และ สอง ใช้ Docker Desktop ตัวอย่างด้านล่างเป็นแบบที่สอง

ติดตั้ง Kubernetes บน Docker Desktop

  1. คลิกที่ไอคอน ปลาวาฬแบกตู้คอนเทนเน่อร์
  2. เลือก Settings > เลือก Kubernetes > เลือก Enable Kubernetes และกด Apply

3. ตอนนี้ Docker Desktop จะสร้างไฟล์คอนฟิกเพื่อใช้ต่อเข้าไป Kubernetes ใน Home ของยูสเซอร์นั้นๆ ตัวอย่างของผมเป็น c:\User\noppadon.s\.kube\config

4. ติดตั้งข้อมูล kubectl ตามลักษณะการใช้งานได้จาก kubernetes.io

คนที่ใช้ cmd.exe ให้เลือกติดตั้งสำหรับ Windows ส่วนคนที่ใช้ Windows Subsystem for Linux (WSL) หรือ Linux ให้เลือกติดตั้งสำหรับ Linux ผมเองก็ใช้แบบนี้

kubectl เป็นแค่ Executable Binary ไฟล์นึงเท่านั้น ถ้าเราดาวน์โหลดและวางไว้ใน Search Path เช่น/usr/bin หรือ c:\windows\system32 ก็เพียงพอสำหรับการติดตั้งแล้ว (จะมีเรื่อง Versioning Compatibility Policy แต่เอาไว้ว่ากันตอนหลัง)

5. สำหรับคนที่ใช้ WSL ให้ Copy ไฟล์ในขั้นตอนที่ 3 จาก Windows Home มาไว้ใน Linux Home ด้วยคำสั่ง

ถ้ารันคำสั่งที่สองแล้ว Error เป็นไปได้ว่ามีไฟล์ .kube/config อยู่ก่อนแล้ว แนะนำให้ back up ไฟล์เดิมก่อนด้วยคำสั่ง cp .kube/config .kube/config.0

$ cd ~
$ mkdir .kube
$ cp /mnt/c/Users/noppadon.s/.kube/config .kube/

6. ลองรันซักคำสั่งสองคำสั่ง

ดูข้อมูลเบื้องต้นของ Kubernetes Cluster

$ kubectl cluster-info
Kubernetes master is running at https://kubernetes.docker.internal:6443
KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

ลิสต์เครื่อง Server ใน Kubernetes Cluster (ของเราจะมีเครื่องเดียวเพราะใช้ Docker Desktop)

$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
docker-desktop Ready master 168m v1.14.8

ตอนนี้สั้นๆ เตรียมความพร้อมสำหรับตอนหน้า ตอนหน้าเราจะมาทำความเข้าใจโครงสร้างและส่วนประกอบของ Kubernetes พร้อมกับการใช้งานพื้นฐานกันครับ

--

--