kubectl访问kubernnetes加载的配置文件
1.当使用 kubectl
连接k8s集群时,kubectl
默认会在 $HOME/.kube
目录下查找名为 config
的文件,该文件用于配置对k8s集群的访问;
2.通过设置 KUBECONFIG
环境变量可以指定使用的 config
文件
#指定环境变量
export KUBECONFIG=dev-k8s.conf
3.kubeconfig配置多集群,合并到$HOME/.kube下的config文件
通过扩展k8s提供的 config
文件,将集群、用户和上下文定义在一个 config
文件中之后,用户可以使用 kubectl config use-context
命令快速地在集群之间进行切换。
本次示例是实现开发环境集群和生成环境集群文件的合并
- 开发环境集群
- 生产环境集群
#复制测试环境的config文件
cp ~/.kube/config ./multi-cluster.yaml
#将测试环境的配置文件复制到生成环境集群的/root目录
scp multi-cluster.yaml 10.10.20.3:/root
#在生成环境集群合并config文件
#设置集群
kubectl config set-cluster k8s-pro --certificate-authority=ca.pem --embed-certs=true --server=https://10.10.20.3:8443 --kubeconfig=multi-cluster.yaml
#配置用户
kubectl config set-credentials pro-admin --client-certificate=admin.pem --client-key=admin-key.pem --embed-certs=true --kubeconfig=multi-cluster.yaml
#配置上下文
kubectl config set-context k8s-pro --cluster=test --user=test-admin --kubeconfig=multi-cluster.yaml
#设置当前上下文
kubectl config use-context kubernentes --kubeconfig=multi-cluster.yaml
kubectl config use-context k8s-pro --kubeconfig=multi-cluster.yaml
#查看当前上下文
kubectl config current-context
#获取所有上下文
kubectl config get-contexts
kubectl config的帮助信息
kubectl config 命令见帮助信息
current-context 显示 current_context
delete-cluster 删除 kubeconfig 文件中指定的集群
delete-context 删除 kubeconfig 文件中指定的 context
get-clusters 显示 kubeconfig 文件中定义的集群
get-contexts 描述一个或多个 contexts
rename-context Renames a context from the kubeconfig file.
set 设置 kubeconfig 文件中的一个单个值
set-cluster 设置 kubeconfig 文件中的一个集群条目
set-context 设置 kubeconfig 文件中的一个 context 条目
set-credentials 设置 kubeconfig 文件中的一个用户条目
unset 取消设置 kubeconfig 文件中的一个单个值
use-context 设置 kubeconfig 文件中的当前上下文
view 显示合并的 kubeconfig 配置或一个指定的 kubeconfig 文件