kubernetes多个config合并
本文最后更新于 373 天前,其中的信息可能已经有所发展或是发生改变

想要在一台终端控制多个k8s集群,会需要多个kubeconfig文件。kubectl命令会在默认路径 $HOME/.kube 下找 config 作为kubeconfig来访问Kubernetes集群,所以需要将多个文件合并到一个用来控制多个集群

合并

1、先备份现有的config文件

 ~/.kube  cp ~/.kube/config ~/.kube/config.bak

2、设置kubeconfig环境变量

  • 通过此环境变量来指定多个kubeconfig,如下:(确保clusters, contexts, 和 users部分没有内容重复)
export KUBECONFIG=~/.kube/ack-prod-config:~/.kube/ack-test-config
# 如果当前目录有多个kubeconfig文件,可以用如下命令快速设置:
export KUBECONFIG=~/.kube/config:$(find . -type f | tr '\n' ':')

3、通过kbuectl命令合并多个kubeconfig到一个文件

kubectl config view --flatten > all-config
# 将合并后的文件重命名为config
mv all-config ~/.kube/config

4、验证

kubectl config get-contexts
  • 切换集群

一个完整的配置文件包含这些

clusters 集群
contexts 上下文
users 用户

❯ kubectl config use-context kubernetes-admin@kubernetes

Switched to context “kubernetes-admin@kubernetes”.

切换集群

  • 把kubecluster设置可执行,并且放在/usr/bin下面
chmod +x kubecluster
mv kubecluster /usr/local/bin
#!/bin/bash

# 函数:显示当前集群
function show_current_cluster {
    current_context=$(kubectl config current-context)
    echo "当前集群: $current_context"
}

# 函数:列出所有集群并赋予数字编号
function list_clusters {
    echo "可切换的Kubernetes集群:"
    kubectl config get-contexts --no-headers | awk '$1 != "*" {print NR ")\t" $1 "\t" $3}'
}

# 显示当前集群
show_current_cluster

# 显示所有可用集群
list_clusters

# 提示用户输入
echo "输入您想要切换到的集群的编号,或"no"退出:"
read input

# 检查用户输入是否为 'no'
if [ "$input" = "no" ]; then
    echo "退出脚本"
    exit 0
fi

# 获取用户选择的集群名称
context=$(kubectl config get-contexts --no-headers | awk -v row=$input 'NR==row {print $1}')

# 检查是否得到有效的集群名称
if [ -z "$context" ]; then
    echo "选择无效"
    exit 1
fi

# 切换到用户选择的集群
if kubectl config use-context "$context"; then
    echo "成功切换到上下文: $context"
else
    echo "无法切换到上下文: $context"
fi

博客内容均系原创,未经允许严禁转载!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
首页