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"
    }
  ]
}
vim admin-csr.json

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
vim kubeconfig.sh

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

 

转载于:https://www.cnblogs.com/xiangsikai/p/11412864.html

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐