松江工业区网站建设,东莞企业网站费用,做网站的目的,注册公司流程和费用注册资金我们通过 kubectl 命令行连接 k8s apiserver 时需要依赖 kubeconfig 文件。 kubeconfig 文件通常包含了 context#xff08;上下文#xff09;列表#xff0c;每个 context 又会引用 cluster 和 user#xff0c;最后通过 current-context 指定当前 kubeconfig 使用哪个 con…我们通过 kubectl 命令行连接 k8s apiserver 时需要依赖 kubeconfig 文件。 kubeconfig 文件通常包含了 context上下文列表每个 context 又会引用 cluster 和 user最后通过 current-context 指定当前 kubeconfig 使用哪个 context。
kubeconfig 文件的默认存放位置为 ~/.kube/config文件结构示例如下
apiVersion: v1
kind: Config
clusters:
- name: k8s-180cluster:# 忽略证书insecure-skip-tls-verify: trueserver: https://192.168.1.180:6443#certificate-authority-data: LS0tLS1CRUdJ......ZJQ0FURS0tLSusers:
- name: k8s-adminuser:client-certificate-data: LS0tLS1CRUdJTi......VEUtLS0tLQoclient-key-data: LS0tLS1CRUdJTi......qTVAKdWRiQXZmM1JiajRuSmxZ\b3V3NEJ5YkppNVFLRj......IUXpSb0pvaTNFMC9oc2x\QUxnPT0KLS0tLS1......SVElGSUNBVEUtLS0tLQo#token: kubeconfig-user-rmz6q.c-97hgz:29z89ns8whhgq8......gl57cfvwlvcontexts:
- name: k8s-180context:user: k8s-admincluster: k8s-180current-context: k8s-1801、其中 client-certificate-data 的内容为文件 kube-node.pem 或 node-node1.pem 的内容获取文件内容的方法可以使用命令 base64 /etc/kubernetes/ssl/kube-node.pem 或 cat /etc/kubernetes/ssl/node-node1.pem | base64 -w 0内容可以单行或者使用\进行换行。
2、其中 client-key-data 的内容为文件 kube-node-key.pem 或 node-node1-key.pem 的内容获取文件内容的方法可以使用命令 base64 /etc/kubernetes/ssl/kube-node-key.pem 或 cat /etc/kubernetes/ssl/node-node1-key.pem | base64 -w 0内容可以单行或者使用\进行换行。
3、另外如果 user 中使用 token则可以不配置 client-certificate-data 和 client-key-data。
4、以上配置文件中的证书通过字符串的方式配置在 config 文件中如果不想写具体的字符串本地有证书文件则可以通过 client-certificate 和 client-key 来设置证书路径的方式使用如下某集群示例所示
apiVersion: v1
kind: Config
clusters:
- cluster:api-version: v1certificate-authority: /etc/kubernetes/ssl/kube-ca.pemserver: https://127.0.0.1:6443name: local
contexts:
- context:cluster: localuser: kube-controller-manager-localname: local
current-context: local
users:
- name: kube-controller-manager-localuser:client-certificate: /etc/kubernetes/ssl/kube-controller-manager.pemclient-key: /etc/kubernetes/ssl/kube-controller-manager-key.pem 该示例文件为 RKE 创建的 K8s 集群的 config 配置文件 /etc/kubernetes/ssl/kubecfg-kube-controller-manager.yaml 的内容 最后实操 kubectl 命令验证配置
[rootk8s-node1 ~]# kubectl config current-context
k8s-180
[rootk8s-node1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-node1 Ready controlplane,etcd,worker 448d v1.21.5
k8s-node2 Ready controlplane,etcd,worker 448d v1.21.5
k8s-node3 Ready controlplane,etcd,worker 448d v1.21.5
k8s-node4 Ready worker 413d v1.21.5
k8s-node5 Ready worker 413d v1.21.5
k8s-node6 Ready worker 413d v1.21.5END