K8S?實(shí)用工具之合并多個(gè)kubeconfig實(shí)現(xiàn)詳解
開篇
- 磨刀不誤砍柴工
- 工欲善其事必先利其器
K8S 集群規(guī)模,有的公司傾向于少量大規(guī)模 K8S 集群,也有的公司會(huì)傾向于大量小規(guī)模的 K8S 集群。
如果是第二種情況,是否有一個(gè)簡(jiǎn)單的 kubectl 命令來獲取一個(gè) kubeconfig 文件并將其合并到 ~/.kube/config 文件作為一個(gè)額外的上 context?
?? 提示:
Kubeconfig 文件會(huì)包含 Kubernetes 集群的以下信息:
- 集群
- 上下文(context)
- 用戶
有以下解決方案:
解決方案
方案一:KUBECONFIG 環(huán)境變量指向多個(gè)文件
通過在 KUBECONFIG 環(huán)境變量中指定多個(gè)文件,可以臨時(shí)將 KUBECONFIG 文件組合在一起,并在 kubectl 中使用。
如下,那么是在 kubeconfig 是在內(nèi)存中做的合并:
export KUBECONFIG=~/.kube/config:~/anotherconfig
方案二:flatten
直接如下:
export KUBECONFIG=~/.kube/config:~/anotherconfig kubectl config view --flatten
如果需要,還可以管道輸出到另外一個(gè)新文件。
--flatten:將生成的 kubeconfig 文件扁平化為自包含的輸出(用于創(chuàng)建可移植的 kubeconfig 文件)
方案三:kubectl 插件 konfig
kubectl 有個(gè) krew 插件包管理器,可以通過 krew 安裝 konfig 實(shí)用插件來管理 kubeconfig。
實(shí)用工具:krew
什么是 krew:
Krew 是 kubectl 命令行工具的插件管理器。
Krew 可以幫助你:
- 發(fā)現(xiàn) kubectl 插件
- 將它們安裝到您的機(jī)器上
- 并保持安裝的插件是最新的
目前在 krew 上有 164個(gè) kubectl 插件。
Krew 可以在所有主要平臺(tái)上工作,比如 macOS、Linux和Windows。
Krew 還可以幫助 kubectl 插件開發(fā)者: 你可以很容易地在多個(gè)平臺(tái)上打包和發(fā)布你的插件,并且可以通過 krew 集中的插件庫(kù)來發(fā)現(xiàn)它們。
安裝
Krew 本身是一款通過 Krew 安裝和更新的 kubectl 插件(是的,krew 自托管)。
Bash 或 ZSH shell 安裝:
如果需要用代理,請(qǐng)先配置 proxy,操作指南:Advanced Configuration · Krew
確認(rèn)已安裝 git
下載并安裝 krew:
(
set -x; cd "$(mktemp -d)" &&
OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
KREW="krew-${OS}_${ARCH}" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
tar zxvf "${KREW}.tar.gz" &&
./"${KREW}" install krew
)
添加 krew 到 PATH: export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" 并重啟 shell
運(yùn)行 kubectl krew 來驗(yàn)證
要看完整的插件列表,運(yùn)行:kubectl krew search
實(shí)用工具:konfig
安裝:kubectl krew install konfig
krew 插件 konfig 可以幫助你管理 ~/.kube/config。
使用 konfig 插件的語(yǔ)法如下:
kubectl konfig import -s new.yaml
總結(jié)
今天分享了 2 個(gè)實(shí)用插件:
- krew:
kubectl插件管理器 - konfig:kubeconfig 配置管理插件
以上就是K8S 實(shí)用工具之合并多個(gè)kubeconfig實(shí)現(xiàn)詳解的詳細(xì)內(nèi)容,更多關(guān)于K8S合并多個(gè)kubeconfig的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Kubernetes存儲(chǔ)系統(tǒng)數(shù)據(jù)持久化管理詳解
這篇文章主要為大家介紹了Kubernetes存儲(chǔ)系統(tǒng)數(shù)據(jù)持久化管理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Kubernetes如何限制不同團(tuán)隊(duì)只能訪問各自namespace實(shí)現(xiàn)
這篇文章主要為大家介紹了Kubernetes如何限制不同團(tuán)隊(duì)只能訪問各自namespace實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程
這篇文章主要為大家介紹了Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
kubernetes 使用jq命令對(duì)資源配置查看方式
這篇文章主要介紹了kubernetes 使用jq命令對(duì)資源配置查看方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

