【问题标题】:How to switch Kubernetes contexts with multiple config files?如何使用多个配置文件切换 Kubernetes 上下文?
【发布时间】:2022-07-23 02:18:25
【问题描述】:
KUBECONFIG="$(find ~/.kube/configs/ -type f -exec printf '%s:' '{}' +)"

这将为环境变量构造一个配置文件路径。我可以看到我的集群的上下文,我可以切换它们。但是,当我想获得我的节点时,我得到了

错误:您必须登录到服务器(未经授权)

如何解决,有什么想法吗?

【问题讨论】:

  • 检查echo $KUBECONFIG 的输出。

标签: kubernetes


【解决方案1】:

我怀疑您要么没有设置 current-context,要么您的 current-context 指向一个不起作用的集群。

如果设置(或导出)KUBECONFIG 可以引用一组配置文件。

文件的内容将被合并。我认为这就是你正在尝试的。

但是,必须导出该变量以供kubectl 使用。

要么:

export KUBECONFIG=...
kubectl ...

或者:

KUBECONFIG=... kubectl ...

那么,你可以:

# List contexts by NAME
kubectl config get-contexts

# Use one of them by NAME
kubectl config use-context ${NAME}

【讨论】:

    【解决方案2】:

    结束了这个功能:

    function change-cluster () {
    
        export KUBECONFIG=~/.kube/configs/"$1"-kubeconfig
        kubectl config use-context kubernetes-admin@"$1"
    }
    

    【讨论】:

      【解决方案3】:

      以下命令将为您提供服务器中存在的 kubernetes 上下文列表 kubectl 配置获取上下文

      可以使用以下命令切换到特定上下文 kubectl config 使用上下文

      要使用多个配置文件,您可以创建临时合并配置文件,然后使用上述命令

      【讨论】:

        猜你喜欢
        • 2016-03-15
        • 1970-01-01
        • 2019-10-28
        • 2022-12-25
        • 1970-01-01
        • 2010-09-18
        • 1970-01-01
        • 2013-08-20
        • 2014-07-02
        相关资源
        最近更新 更多