如何使用环境变量对 kubectl 进行身份验证?

Gaj*_*jus 6 kubectl

我能找到的唯一两种认证方式是创建一个新的认证上下文,例如

kubectl config set-credentials gajus/foo --token=foo
kubectl config set-cluster foo --insecure-skip-tls-verify=true --server=https://127.0.0.1
kubectl config set-context default/foo/gajus --user=gajus/foo --namespace=default --cluster=foo
kubectl config use-context default/foo/gajus
Run Code Online (Sandbox Code Playgroud)

并通过使用命令行选项,例如

kubectl --server=https://127.0.0.1 --insecure-skip-tls-verify=true --token=foo get po
Run Code Online (Sandbox Code Playgroud)

有没有--server办法使用环境变量为和其他身份验证选项设置值?

Jan*_*art 4

凭证的配置文件位于$HOME/.kube/config(kubeconfig) 下。您可以像这样创建多个配置文件,并使用KUBECONFIG环境变量指向要用于当前会话的文件。

export KUBECONFIG=~/.kube/config-foo
kubectl config set-credentials gajus/foo --token=foo
kubectl config set-cluster foo --insecure-skip-tls-verify=true --server=https://127.0.0.1
kubectl config set-context default/foo/gajus --user=gajus/foo --namespace=default --cluster=foo
kubectl config use-context default/foo/gajus

export KUBECONFIG=~/.kube/config-bar
...

KUBECONFIG=$HOME/.kube/config-foo kubectl get pod
KUBECONFIG=$HOME/.kube/config-bar kubectl get pod
Run Code Online (Sandbox Code Playgroud)