🗒️k8s multi config admin
2021-7-2
| 2024-3-24
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
 
K8S 集群规模,有的公司倾向于少量大规模 K8S 集群,也有的公司会倾向于大量小规模的 K8S 集群。
如果是第二种情况,是否有一个简单的 kubectl 命令来获取一个 kubeconfig 文件并将其合并到 ~/.kube/config 文件作为一个额外的上 context?
🔥 Kubeconfig 文件会包含 Kubernetes 集群的以下信息:
  • 集群
  • 上下文(context)
  • 用户
有以下解决方案:

解决方案

方案一:KUBECONFIG 环境变量指向多个文件

通过在 KUBECONFIG 环境变量中指定多个文件,可以临时将 KUBECONFIG 文件组合在一起,并在 kubectl 中使用。
如下,那么是在 kubeconfig 是在内存中做的合并:
 

方案二:flatten

直接如下:
如果需要,还可以管道输出到另外一个新文件。
  • -flatten:将生成的 kubeconfig 文件扁平化为自包含的输出(用于创建可移植的kubeconfig 文件)

方案三:kubectl 插件 konfig

kubectl 有个 krew 插件包管理器,可以通过 krew 安装 konfig 实用插件来管理 kubeconfig。

实用工具:krew

什么是 krew:
Krew 是 kubectl 命令行工具的插件管理器。
Krew 可以帮助你:
  • 发现 kubectl 插件
  • 将它们安装到您的机器上
  • 并保持安装的插件是最新的
目前在 krew 上有 164 个 kubectl 插件 
Krew 可以在所有主要平台上工作,比如 macOS、Linux 和 Windows。
Krew 还可以帮助 kubectl 插件开发者: 你可以很容易地在多个平台上打包和发布你的插件,并且可以通过 krew 集中的插件库来发现它们。
安装
Krew 本身是一款通过 Krew 安装和更新的 kubectl 插件(是的,krew 自托管)。
Bash 或 ZSH shell 安装:
  1. 如果需要用代理,请先配置 proxy,操作指南:Advanced Configuration · Krew
  1. 确认已安装 git
  1. 下载并安装 krew:
  1. 添加 krew 到 PATHexport PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" 并重启 shell
  1. 运行 kubectl krew 来验证
  1. 要看完整的插件列表,运行:kubectl krew search

实用工具:konfig

安装:kubectl krew install konfig
krew 插件 konfig 可以帮助你管理 ~/.kube/config
使用 konfig 插件的语法如下:

总结

今天分享了 2 个实用插件:
  1. krewkubectl 插件管理器
  1. konfig:kubeconfig 配置管理插件
🎉🎉🎉
 
 
 
 
  • 工具
  • k8s troubleshooting十二地支与脏腑经脉的五大奥秘
    目录