告別 kubectl context 切換煩惱

Kuber Plus

Kuber Plus是一個(gè)強(qiáng)大的 kubectl 快捷工具,通過(guò)context 隔離來(lái)簡(jiǎn)化多context Kubernetes 命令行操作,提升開(kāi)發(fā)效率。

核心價(jià)值

每個(gè)終端窗口可以獨(dú)立切換到不同的kubectl context,實(shí)現(xiàn)多環(huán)境并行操作,無(wú)需在多個(gè)環(huán)境間反復(fù)切換。

快速入門

生成切換函數(shù)

$ clone git@github.com:H-repos/kuber-plus.git
$ source kuber-plus/kuber-plus.sh
generated: kubeapp-ns/prod-cluster
generated: kubeapp-ns/dev-cluster
generated: kubetest-ns/test-cluster

多終端并行操作

# 終端 1:操作生產(chǎn)環(huán)境
kubeapp-ns/prod-cluster
[app-ns@prod-cluster]$ pods  # 查看生產(chǎn)環(huán)境的 Pod

# 終端 2:操作開(kāi)發(fā)環(huán)境  
kubeapp-ns/dev-cluster
[app-ns@dev-cluster]$ deploy  # 查看開(kāi)發(fā)環(huán)境的部署

# 終端 3:操作測(cè)試環(huán)境
kubetest-ns/test-cluster
[test-ns@test-cluster]$ login test-app-pod  # 登錄測(cè)試環(huán)境的 Pod

工作原理

  1. 自動(dòng)生成函數(shù)

    • 讀取 kubectl config view 獲取所有context
    • 解析每個(gè)context的 cluster 和 namespace
    • 為每個(gè)context生成獨(dú)立的切換函數(shù)
    • 切換函數(shù)執(zhí)行時(shí)設(shè)置環(huán)境變量和別名,實(shí)現(xiàn)自動(dòng)切換
  2. 切換函數(shù)命名格式kube<namespace>/<cluster>

  3. 上下文隔離

    • 每個(gè)終端獨(dú)立維護(hù)自己的 kubectl context
    • 在一個(gè)終端切換context不會(huì)影響其他終端
    • 所有 kubectl 命令自動(dòng)使用 --context 參數(shù)
    • 提示符顯示當(dāng)前上下文對(duì)應(yīng)的命名空間和集群:[namespace@cluster]

附加功能特性

便捷別名

預(yù)定義的常用 kubectl 命令快捷方式:

別名 命令
pods / pod kubectl get pods
cm kubectl get cm
desc kubectl describe
get kubectl get
deploy kubectl get deployments
ctx kubectl config get-contexts

快速登錄功能

使用 login 命令快速進(jìn)入 pod:

login pod-name              # 進(jìn)入默認(rèn)容器
login pod-name container    # 進(jìn)入指定容器

函數(shù)名自定義

可以通過(guò)編輯腳本中的 FUNC_NAME_REPLACEMENTS 來(lái)自定義函數(shù)名:

# 格式:"原始值/目標(biāo)值"
FUNC_NAME_REPLACEMENTS=("abc-service/abc" "xyz-prod/xyz")

例如,如果您的命名空間是 abc-service,它將在函數(shù)名中被替換為 abc。如果您的集群是 xyz-prod,它將被替換為 xyz。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容