之前访问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