工作节点执行kubectl get node/pods/apply/相关的集群请求主节点命令会报错

The connection to the server localhost:8080 was refused - did you specify the right host or port

原因:

kubectl 默认从 ~/.kube/config 配置文件获取访问 kube-apiserver 地址、证书、用户名等信息,如果没有配置该文件会读取默值,即localhost:8080,而本机的localhost:8080没有服务因而报The connection to the server localhost:8080 was refused - did you specify the right host or port?

解决:

server应该为config中server项的配置值,我的为https://192.168.1.146:6443

/root/.kube/config配置文件实际上是生成的kube-proxy.kubeconfig配置文件,我的放在这个文件夹下/opt/kubernetes/cfg,可以把这个文件复制到/root/.kube/目录下,这样做更新时需要同点维护更新,最好引用过去。

cp /opt/kubernetes/cfg/kubelet.kubeconfig /root/.kube/config

/root/.kube/config文件示例:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURtakNDQW9LZ0F3SUJBZ0lVRFg4d2RvWlFsaXVQSmFIM3FVUjlsczlYdDgwd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1pURUxNQWtHQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFXcHBibWN4RURBT0JnTlZCQWNUQjBKbAphV3BwYm1jeEREQUtCZ05WQkFvVEEyczRjekVQTUEwR0ExVUVDeE1HVTNsemRHVnRNUk13RVFZRFZRUURFd3ByCmRXSmxjbTVsZEdWek1CNFhEVEl5TVRBeU1ERTBOVFF3TUZvWERUSTNNVEF4T1RFME5UUXdNRm93WlRFTE1Ba0cKQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFXcHBibWN4RURBT0JnTlZCQWNUQjBKbGFXcHBibWN4RERBSwpCZ05WQkFvVEEyczRjekVQTUEwR0ExVUVDeE1HVTNsemRHVnRNUk13RVFZRFZRUURFd3ByZFdKbGNtNWxkR1Z6Ck1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBd01KS1FWbEdqR292b1RIZ2ErVVAKYTRBbHF2UitrY0RtTEZqU2FlZUxKN2dJQWVaNnVoOVcxa2tXdnBMQmV6Y3RORktUYWRsOFdrWE15VHV6YnN4QworbVdHM1dLN1pRVEtPQTluUmdrMU83K3FOOVZCd2FJY1V0ZGZZOGxOeWhNM2gzdUxXQXhDZDhDcDR3YlhVQmtDCnVFVlBPMjVabk1XQ2FCUVF5TlhHTXRtZVZmYms5NTVpK0xTa2RKQmk3d0JMdWdpNWprcEQ5S2lCV0wwMXY1UWEKUjBnNVNOb3Q2OXNpWXRVQ09qK2VObWxFZ0JwN0FrUDZRNVdzdmtraktQa1RXNzFncFUreG0yaFQrZGhYUEhFWgpmbTZtSzhhZ2dmNm1GZWI0VHlOcVZhOVVzcGMwZnBva2tDYzg5ejQwZkpTM3Vqd2pKMThUeW41NmZSWUx1US9vCitRSURBUUFCbzBJd1FEQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlYKSFE0RUZnUVVpc0hLUTdxakU1ZzcveWpDQzNKeHArQnpCK0l3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUlXTAo2OHV5TkNSdjZGUklzTjcxMUt0eUViN1pKWGhaMk1QUlY4MTZ6TGo0dlUzYm1ac1haa28zaFh0KzhERG0vQmprCllqQnZnbXF2eFBrNElVRUFJdkRjVFMzUkpQQ3NPc0Y3S0tpQXJsUWpKOFFOejN4NkVaVzNaaG1MdDFYKzFUbngKM3JLbjdTTk9JYzFjUituNU11T1RycndTR2tXdEU0WVpONWVsZ01MNlVoSGRkdm5FUTM3Uk1wSG55Mm5tNXFCeQpmcGQrREkrOU1xRExER0xRRFFIWjNLM1QzOXBqd0Zsak9aL0VMbG42VWdiRkdUcWMxeVl0WnZQTUpJVGRwRXpnCmZTQmZqNG5PQ25ZdVg1SjQwTGk0SEF2UjgrUEJjL1MxOGRYcGNpVWhubVdCUzdydGg2VzZpTmFDcmhkOTdrOW4KUS90b2R3QU1Bbm1jcDVmMGlYOD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    server: https://192.168.1.146:6443
  name: default-cluster
contexts:
- context:
    cluster: default-cluster
    namespace: default
    user: default-auth
  name: default-context
current-context: default-context
kind: Config
preferences: {}
users:
- name: default-auth
  user:
    client-certificate: /opt/kubernetes/ssl/kubelet-client-current.pem
    client-key: /opt/kubernetes/ssl/kubelet-client-current.pem

 网上很多说的应该是kubeadm安装方式部置的解决方式,二进制安装的资料很少,发此资讯帮忙更多的人少走弯路。

Logo

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

更多推荐