之前訪問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