K8S?實(shí)用工具之合并多個(gè)kubeconfig實(shí)現(xiàn)詳解
開(kāi)篇
- 磨刀不誤砍柴工
- 工欲善其事必先利其器
K8S 集群規(guī)模,有的公司傾向于少量大規(guī)模 K8S 集群,也有的公司會(huì)傾向于大量小規(guī)模的 K8S 集群。
如果是第二種情況,是否有一個(gè)簡(jiǎn)單的 kubectl
命令來(lái)獲取一個(gè) kubeconfig 文件并將其合并到 ~/.kube/config
文件作為一個(gè)額外的上 context?
?? 提示:
Kubeconfig 文件會(huì)包含 Kubernetes 集群的以下信息:
- 集群
- 上下文(context)
- 用戶
有以下解決方案:
解決方案
方案一:KUBECONFIG 環(huán)境變量指向多個(gè)文件
通過(guò)在 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
插件包管理器,可以通過(guò) krew
安裝 konfig
實(shí)用插件來(lái)管理 kubeconfig。
實(shí)用工具:krew
什么是 krew
:
Krew 是 kubectl
命令行工具的插件管理器。
Krew 可以幫助你:
- 發(fā)現(xiàn) kubectl 插件
- 將它們安裝到您的機(jī)器上
- 并保持安裝的插件是最新的
目前在 krew
上有 164個(gè) kubectl 插件。
Krew 可以在所有主要平臺(tái)上工作,比如 macOS、Linux和Windows。
Krew 還可以幫助 kubectl
插件開(kāi)發(fā)者: 你可以很容易地在多個(gè)平臺(tái)上打包和發(fā)布你的插件,并且可以通過(guò) krew
集中的插件庫(kù)來(lái)發(fā)現(xiàn)它們。
安裝
Krew 本身是一款通過(guò) 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
來(lái)驗(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)文章
k8s整合istio配置gateway入口、配置集群內(nèi)部服務(wù)調(diào)用管理(最新推薦)
這篇文章主要介紹了k8s整合istio配置gateway入口、配置集群內(nèi)部服務(wù)調(diào)用管理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08kubernetes存儲(chǔ)之GlusterFS集群詳解
最近工作中用到了GlusterFS作為Kubernetes的存儲(chǔ),這篇文章主要給大家介紹了關(guān)于kubernetes存儲(chǔ)之GlusterFS集群的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu)
這篇文章主要為大家介紹了詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04kubernetes部署dashboard及應(yīng)用小結(jié)
Dashboard?是基于網(wǎng)頁(yè)的?Kubernetes?用戶界面,可以對(duì)?Deployment?實(shí)現(xiàn)彈性伸縮、發(fā)起滾動(dòng)升級(jí)、重啟?Pod?或者使用向?qū)?chuàng)建新的應(yīng)用,這篇文章主要介紹了kubernetes部署dashboard,需要的朋友可以參考下2024-06-06再分享6個(gè)可無(wú)限激活阿里云盤邀請(qǐng)碼,不信你不能激活阿里云盤
這篇文章主要分享6個(gè)可無(wú)限激活的阿里云盤邀請(qǐng)碼,不信你不能激活阿里云盤,需要的朋友可以參考下2020-11-11kubernetes(k8s)安裝metrics-server實(shí)現(xiàn)資源使用情況監(jiān)控方式詳解
這篇文章主要介紹了kubernetes(k8s)安裝metrics-server實(shí)現(xiàn)資源使用情況監(jiān)控,包括Metrics?Server下載方式,?k8s集群安裝部署metrics的問(wèn)題,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04云原生技術(shù)kubernetes(K8S)簡(jiǎn)介
這篇文章主要介紹了云原生技術(shù)kubernetes的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用K8S,感興趣的朋友可以了解下2021-03-03