解决 kubectl 命令执行异常 The connection to the server was refused
问题描述
kubectl get node
异常信息
The connection to the server 192.168.100.10:6443 was refused - did you specify the right host or port?
分析原因
- 证书已经设置允许了,因为开启了RBAC,所以可能是权限被拦截了
解决方法
- 证书生成参考 kubernetes 自签证书.md
- 复制kubelet证书
cp -a ~/kubernetes_ssl/kubectl_ssl/{admin,admin-key}.pem /root/.kube
mkdir ~/.kube/config
vi ~/.kube/config
# 设置集群参数
kubectl config set-cluster kubernetes --certificate-authority=/usr/local/opt/kubernetes/server/ssl/kubectl/ca.pem --embed-certs=true --server=https://192.168.100.10:6443 --kubeconfig=kube.config
# 设置客户端认证参数
kubectl config set-credentials admin --client-certificate=/usr/local/opt/kubernetes/server/ssl/kubectl/admin.pem --client-key=/usr/local/opt/kubernetes/server/ssl/kubectl/admin-key.pem --embed-certs=true --kubeconfig=kube.config
# 设置上下文
kubectl config use-context kubernetes --kubeconfig=kube.config
# 设置默认上下文
kubectl config use-context kubernetes --kubeconfig=kube.config