我们通过 kubectl
命令行连接 k8s apiserver 时需要依赖 kubeconfig
文件。
kubeconfig
文件通常包含了 context
(上下文)列表,每个 context
又会引用 cluster
和 user
,最后通过 current-context
指定当前 kubeconfig 使用哪个 context。
kubeconfig
文件的默认存放位置为 ~/.kube/config
,文件结构示例如下:
apiVersion: v1
kind: Config
clusters:
- name: "k8s-180"
cluster:
insecure-skip-tls-verify: true
server: https://192.168.1.180:6443
users:
- name: "k8s-admin"
user:
client-certificate-data: "LS0tLS1CRUdJTi......VEUtLS0tLQo="
client-key-data: "LS0tLS1CRUdJTi......qTVAKdWRiQXZmM1JiajRuSmxZ\
b3V3NEJ5YkppNVFLRj......IUXpSb0pvaTNFMC9oc2x\
QUxnPT0KLS0tLS1......SVElGSUNBVEUtLS0tLQo="
contexts:
- name: "k8s-180"
context:
user: "k8s-admin"
cluster: "k8s-180"
current-context: "k8s-180"
1、其中 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: v1
certificate-authority: /etc/kubernetes/ssl/kube-ca.pem
server: "https://127.0.0.1:6443"
name: "local"
contexts:
- context:
cluster: "local"
user: "kube-controller-manager-local"
name: "local"
current-context: "local"
users:
- name: "kube-controller-manager-local"
user:
client-certificate: /etc/kubernetes/ssl/kube-controller-manager.pem
client-key: /etc/kubernetes/ssl/kube-controller-manager-key.pem
该示例文件为 RKE 创建的 K8s 集群的 config 配置文件 /etc/kubernetes/ssl/kubecfg-kube-controller-manager.yaml
的内容
最后实操 kubectl
命令验证配置:
[root@k8s-node1 ~]
k8s-180
[root@k8s-node1 ~]
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.5
(END)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)