fbpx

รัน Kubernetes บน Docker Desktop

รัน-Kubernetes-บน-Docker-Desktop

04 Mar รัน Kubernetes บน Docker Desktop

รัน-Kubernetes-บน-Docker-Desktop

 

บทความนี้อยู่ในชุด Kubernetes ติดตามบทความก่อนหน้าได้ที่


ในบทความนี้ เราจะรันคำสั่งของ 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

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

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

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