1.执行报错
kubectl get cs
[root@K8S1 .kube]# kubectl get cs
The connection to the server localhost:8080 was refused - did you specify the right host or port?
2.解决方法
重新配置:~/.kube/config
--创建kubeconfig文件
kubectl config set-cluster kubernetes \
--certificate-authority=/etc/kubernetes/cert/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=admin.kubeconfig
[root@K8S1 work]# kubectl config set-credentials kubernetes-admin --client-certificate=apiserver-admin.pem --client-key=apiserver-admin-key.pem --embed-certs=true --kubeconfig=admin.kubeconfig
User "kubernetes-admin" set.
设置客户端认证
[root@K8S1 work]# kubectl config set-context kubernetes-admin@kubernetes \
> --cluster=kubernetes \
> --user=kubernetes-admin \
> --kubeconfig=admin.kubeconfig
Context "kubernetes-admin@kubernetes" modified.
--切换上下文
[root@K8S1 work]# kubectl config use-context kubernetes-admin@kubernetes --kubeconfig=admin.kubeconfig
Switched to context "kubernetes-admin@kubernetes".
设置默认上下文。
cp admin.kubeconfig ~/.kube/config
所有Master节点。
3.重新获取集群配置
[root@K8S1 work]# kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
scheduler Healthy ok
etcd-0 Healthy {"health":"true","reason":""}
etcd-2 Healthy {"health":"true","reason":""}
etcd-1 Healthy {"health":"true","reason":""}
由此可见,无法获取集群配置,和 admin.kubebconfig 文件有关系。