我可以找到认证的唯一两种方法是创建一个新的身份验证上下文,例如
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
并使用命令行选项,例如
kubectl --server=https://127.0.0.1 --insecure-skip-tls-verify=true --token=foo get po
有没有办法使用环境变量设置--server
和其他身份验证选项的值?
答案 0 :(得分:1)
凭据的配置文件位于$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