บันทึกการจัดการไฟล์ Kube Config

Nont Banditwong
Oct 18, 2022

--

ถ้าหากต้องการใช้ kubectl ในการติดต่อ kubernetes หลาย cluster ถ้าในเครื่องยังไม่เคยมีไฟล์ kube config มาก่อน ผมมักจะเอา ไฟล์ kube config ที่ได้จากแต่ละ cluster มา merge รวมกันด้วยคำสั่ง

KUBECONFIG=/<path-to>/config1:/<path-to>/config2 kubectl config view — flatten > /.kube/config

ถ้าหากจะเพิ่ม context ใหม่จะใช้คำสั่ง

# Merge 3 config เข้าด้วยกัน (ของเก่า 1 ของใหม่ 2)
KUBECONFIG=~/.kube/config:/<path-to>/config1:/<path-to>/config2 kubectl config view --flatten > /tmp/config
# แทนที่ kube config เก่า ด้วย kube config ที่ merge แล้ว
mv /tmp/config ~/.kube/config

จากนั้นเวลาใช้งานจะใช้คำสั่ง kubectx ในการสลับ context เพื่อติดต่อกับแต่ละ cluster และใช้ kubens ในการ set default namespace ทำให้เราไม่ต้องคอยใส่ parameter -n ใน kubectl ก็ช่วยลดเวลาในการพิมพ์ไปได้เยอะ

หรือถ้าไม่อยากติดตั้งอะไรเพิ่มเติมจะใช้คำสั่ง kubectl config ในการสลับ context ก็ได้ ลองดูตัวอย่างใน kubectl Cheat Sheet

# kubectx

sudo curl -L -o /usr/local/bin/kubectx https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubectxsudo chmod +x /usr/local/bin/kubectx 

# kubens

sudo curl -L -o /usr/local/bin/kubens https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubenssudo chmod +x /usr/local/bin/kubens

--

--

Nont Banditwong

Cloud Engineering Specialist, Software Developer, System Engineer, Photographer and Learner