之前访问k8s都是通过token进去dashboard,如下所示。但是现在希望通过kubectl访问k8s,所以还需要进一步的配置。

 

1. 安装kubectl命令行工具,配置环境变量,环境变量的值指向配置文件,配置文件可以有多个(我的配置文件有两个,如下所示)

2. 根据官方文档配置config:https://kubernetes.io/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters/#%e5%87%86%e5%a4%87%e5%bc%80%e5%a7%8b

3. 配置好了之后,查看配置信息,没有配置的情况下是空的

$ kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://192.168.1.164:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

4. 在集群配置时,默认会生成kubernetes-admin这个用户及相关公私钥和证书,证书信息保存在master节点的配置文件/etc/kubernetes/admin.conf中

kubectl config的配置信息中需要三个证书信息,都可以在admin.conf中找到,分别是:

certificate-authority-data
client-certificate-data
client-key-data

 

posted on 2019-07-16 11:34  miaoying  阅读(2037)  评论(0编辑  收藏  举报