K8S多集群切换

Kubeconfig 用途

kubectl 命令行工具通过 kubeconfig 文件的配置来选择集群以及集群API Server通信的所有信息。kubeconfig 文件用来保存关于集群用户命名空间身份验证机制的信息。默认情况下 kubectl 读取 $HOME/.kube/config 文件,也可以通过设置环境变量 KUBECONFIG 或者 --kubeconfig 指定其他的配置文件。

Kubeconfig 文件结构

kubeconfig 文件主要由下面几部分构成:

  • 集群参数
  • 用户参数
  • 上下文参数
  • 当前上下文
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
apiVersion: v1
kind: Config
preferences: {}
 
clusters: # 集群参数
- cluster:
  name: {cluster-name}
 
users: # 用户参数
- name: {user-name}
 
contexts: # 上下文参数
- context:
    cluster: {cluster-name}
    user: {user-name}
  name: kubernetes # 集群上下文名称
current-context: kubernetes # 当前上下文

 kubeconfig 合并

通过 kubecm 工具合并多个 kubeconfig 文件
项目地址 https://github.com/sunny0826/kubecm

kubecm 安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ export VERSION=v0.8.0
 
# linux x86_64 安装包
$ curl -Lo kubecm.tar.gz https://github.com/sunny0826/kubecm/releases/download/v${VERSION}/kubecm_${VERSION}_Linux_x86_64.tar.gz
 
# macos 安装包
$ curl -Lo kubecm.tar.gz https://github.com/sunny0826/kubecm/releases/download/v${VERSION}/kubecm_${VERSION}_Darwin_x86_64.tar.gz
 
# windows 安装包
$ curl -Lo kubecm.tar.gz https://github.com/sunny0826/kubecm/releases/download/v${VERSION}/kubecm_${VERSION}_Windows_x86_64.tar.gz
 
# # linux & macos 安装
$ tar -zxvf kubecm.tar.gz kubecm
$ cd kubecm
$ sudo mv kubecm /usr/local/bin/
 
# windows 安装
# Unzip kubecm.tar.gz
# Add the binary in to your $PATH

 多个 kubeconfig 文件合并

把需要合并的 Kubeconfig 文件放到 all_kubeconfig 目录下,执行命令后会在当前路径下产生一个新的 kubeconfig 文件

1
$ kubecm merge -f all_kubeconfig

 直接把新生成的 kubeconfig 文件替换 $HOME/.kube/config 文件

1
$ kubecm merge -f all_kubeconfig -c$ kubecm merge -f all_kubeconfig -c

 多集群切换

1
2
3
4
5
6
7
8
# 集群切换命令
$ kubecm  switch
 
Use the arrow keys to navigate: ↓ ↑ → ←  and / toggles search
Select Kube Context
aliyun_prod-config(*)
bjcs_test-config
↓ vnet_prod-config

通过 kubecm 工具能快速的把多个 kubeconfig 文件合并到一个 kubeconfig 文件中,并且也提供集群切换。而不需要再下载 kubectx 工具来切换集群。

 切换namespace

1
2
3
4
5
# kubecm ns
Search: test
Select Namespace:
    test
   test1

 

https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/

https://github.com/sunny0826/kubecm

posted @   凡人半睁眼  阅读(1531)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示