Kubernetes 远程工具连接k8s集群
Kubernetes 远程工具连接k8s集群
1、将Master的kubectl文件复制到Node内
scp k8s/kubernetes/server/bin/kubectl root@192.168.1.110:/root/
2、创建admin证书的json文件、证书为:k8s管理员证书
{ "CN": "admin", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "L": "BeiJing", "ST": "BeiJing", "O": "system:masters", "OU": "System" } ] }
3、根据json文件创建证书
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes admin-csr.json | cfssljson -bare admin
4、证书目录下创建脚本执行来生成config文件
# 设置连接api地址 kubectl config set-cluster kubernetes \ --server=https://192.168.1.120:6443 \ --embed-certs=true \ --certificate-authority=ca.pem \ --kubeconfig=config # 设置使用证书 kubectl config set-credentials cluster-admin \ --certificate-authority=ca.pem \ --embed-certs=true \ --client-key=admin-key.pem \ --client-certificate=admin.pem \ --kubeconfig=config # 生成配置文件及证书 kubectl config set-context default --cluster=kubernetes --user=cluster-admin --kubeconfig=config kubectl config use-context default --kubeconfig=config
5、执行脚本
bash kubeconfig.sh
6、查看生成文件
ls config
7、将config文件发送到远程端,我这里发送给Node测试端
scp config root@192.168.1.110:/root/
8、Node端、使用kubectl加配置文件远程访问
./kubectl --kubeconfig=./config get node
NAME STATUS ROLES AGE VERSION
192.168.1.110 Ready <none> 43h v1.12.1
192.168.1.111 Ready <none> 43h v1.12.1