K8S 实用工具之一 - 如何合并多个 kubeconfig?

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: K8S 实用工具之一 - 如何合并多个 kubeconfig?

开篇

📜 引言

  • 磨刀不误砍柴工
  • 工欲善其事必先利其器

K8S 集群规模,有的公司倾向于少量大规模 K8S 集群,也有的公司会倾向于大量小规模的 K8S 集群。

如果是第二种情况,是否有一个简单的 kubectl 命令来获取一个 kubeconfig 文件并将其合并到 ~/.kube/config 文件作为一个额外的上 context?

🔥 提示

Kubeconfig 文件会包含 Kubernetes 集群的以下信息:

  • 集群
  • 上下文(context)
  • 用户

有以下解决方案:

解决方案

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

通过在 KUBECONFIG 环境变量中指定多个文件,可以临时将 KUBECONFIG 文件组合在一起,并在 kubectl 中使用。

如下,那么是在 kubeconfig 是在内存中做的合并:

export KUBECONFIG=~/.kube/config:~/anotherconfig 
BASH

方案二:flatten

直接如下:

export KUBECONFIG=~/.kube/config:~/anotherconfig 
kubectl config view --flatten
BASH

如果需要,还可以管道输出到另外一个新文件。

  • --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
  2. 确认已安装 git
  3. 下载并安装 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
)
BASH
  1. 添加 krewPATH: export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" 并重启 shell
  2. 运行 kubectl krew 来验证
  3. 要看完整的插件列表,运行:kubectl krew search

实用工具:konfig

安装:kubectl krew install konfig

krew 插件 konfig 可以帮助你管理 ~/.kube/config

使用 konfig 插件的语法如下:

kubectl konfig import -s new.yaml
BASH

总结

今天分享了 2 个实用插件:

  1. krewkubectl 插件管理器
  2. konfig:kubeconfig 配置管理插件
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4月前
|
存储 Kubernetes C++
【专栏】Kubernetes VS Docker Swarm了解两者特点,助力选取合适容器编排工具
【4月更文挑战第27天】对比Kubernetes和Docker Swarm:K8s在可扩展性和自动化方面出色,有强大社区支持;Swarm以简易用著称,适合初学者。选择取决于项目需求、团队技能和预期收益。高度复杂项目推荐Kubernetes,快速上手小项目则选Docker Swarm。了解两者特点,助力选取合适容器编排工具。
143 1
|
2天前
|
存储 Kubernetes Cloud Native
容器管理工具Containerd
容器管理工具Containerd
|
12天前
|
Prometheus Kubernetes 监控
揭秘Kubernetes的秘密武器库:十大工具让你的容器编排如虎添翼!探索这些神秘而强大的工具,它们将如何彻底改变你的Kubernetes体验?
【8月更文挑战第19天】在容器世界里,Kubernetes是部署与管理容器化应用的首选平台。为了增强其功能,本文精选了十大必备工具:Helm简化复杂应用部署;Prometheus监控系统与应用指标;Grafana提供数据可视化;Fluentd统一日志管理;Envoy实现服务间通信与控制;Calico确保网络连接安全;CoreDNS提升DNS服务性能;Velero保障数据安全与迁移;Argo Workflows执行复杂工作流;Istio强化服务网格功能。这些工具覆盖部署、监控、日志等多个方面,助力提升Kubernetes的效率与稳定性。
24 3
|
8天前
|
Kubernetes 监控 Shell
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
|
23天前
|
Kubernetes Cloud Native 开发者
基于 K8s 做应用发布的工具选择:Tekton,一颗璀璨的CI/CD新星!
【8月更文挑战第8天】在众多Kubernetes应用发布工具中,阿里巴巴为何青睐Tekton?Tekton“以应用为中心”的设计理念与阿里巴巴的技术哲学相契合,不仅关注代码构建部署,还覆盖应用全生命周期管理,完美融入阿里巴巴业务场景。Tekton提供灵活工作流定义、多平台支持及与Kubernetes生态无缝集成等功能,满足阿里巴巴复杂业务需求的同时赋予开发者更多灵活性。作为CNCF毕业项目,Tekton拥有活跃社区和不断壮大的生态系统,为阿里巴巴技术演进提供坚实基础。综上所述,阿里巴巴选择Tekton是一个深思熟虑且具前瞻性的决策。
34 0
|
2月前
|
Kubernetes Java Apache
Java中的容器编排工具比较与选择
Java中的容器编排工具比较与选择
|
4月前
|
Kubernetes 开发者 Docker
K8S 实用工具之五 -kompose
K8S 实用工具之五 -kompose
|
4月前
|
Kubernetes 数据安全/隐私保护 Docker
kubeadm 工具实验 k8s一键安装
kubeadm 工具实验 k8s一键安装
|
4月前
|
存储 监控 测试技术
【Docker管理工具】安装Oxker容器管理工具
【2月更文挑战第4天】安装Oxker容器管理工具
111 2
|
4月前
|
机器学习/深度学习 Kubernetes Shell
K8S 实用工具之六 -kubectl-aliases
K8S 实用工具之六 -kubectl-aliases

推荐镜像

更多
下一篇
云函数