20 Sep 2020
Kubernetes 使用 kubeconfig 文件组织集群访问
定义集群、用户和上下文
创建名为 config-exercise 的目录。 在 config-exercise 目录中,创建名为 config-demo 的文件,其内容为:
apiVersion: v1
kind: Config
preferences: {}
clusters:
- cluster:
name: development
- cluster:
name: scratch
users:
- name: developer
- name: experimenter
contexts:
- context:
name: dev-frontend
- context:
name: dev-storage
- context:
name: exp-scratch
进入 config-exercise 目录。 输入以下命令,将群集详细信息添加到配置文件中:
kubectl config --kubeconfig=config-demo set-cluster development --server=https://1.2.3.4 --certificate-authority=fake-ca-file
kubectl config --kubeconfig=config-demo set-cluster scratch --server=https://5.6.7.8 --insecure-skip-tls-verify
将用户详细信息添加到配置文件中:
kubectl config --kubeconfig=config-demo set-credentials developer --client-certificate=fake-cert-file --client-key=fake-key-seefile
kubectl config --kubeconfig=config-demo set-credentials experimenter --username=exp --password=some-password
将上下文详细信息添加到配置文件中:
kubectl config --kubeconfig=config-demo set-context dev-frontend --cluster=development --namespace=frontend --user=developer
kubectl config --kubeconfig=config-demo set-context dev-storage --cluster=development --namespace=storage --user=developer
kubectl config --kubeconfig=config-demo set-context exp-scratch --cluster=scratch --namespace=default --user=experimenter
kubectl config --kubeconfig=config-demo view
查看指定配置文件的详细信息。
kubectl config --kubeconfig=config-demo use-context dev-frontend
设置当前上下文。
使用 –minify 参数,来查看与当前上下文相关联的配置信息。kubectl config --kubeconfig=config-demo view --minify
创建第二个配置文件
在 config-exercise 目录中,创建名为 config-demo-2 的文件,其中包含以下内容:
apiVersion: v1
kind: Config
preferences: {}
contexts:
- context:
cluster: development
namespace: ramp
user: developer
name: dev-ramp-up
设置 KUBECONFIG 环境变量
export KUBECONFIG=$KUBECONFIG:config-demo:config-demo-2
这时候再用kubectl config view
查看,则是所有文件合并后的信息。
$HOME/.kube
目录
环境变量 KUBECONFIG 不是必需的,如果它不存在,kubectl 就使用默认的 kubeconfig 文件 $HOME/.kube/config。
如果还未列在KUBECONFIG环境变量中,那么现在将它追加到KUBECONFIG环境变量中。
Til next time,
at 09:42