与服务器x.x.x.:6443的连接被拒绝-您是否指定了正确的主机或端口? Kubernetes

时间:2019-06-24 13:40:09

标签: kubernetes kubectl kubeadm

我已经安装了Docker,Kubectl和kubeAdm。 我想创建我的设备模型和设备CRD(我遵循的是guide。 因此,当我运行命令时:

kubectl create -f devices_v1alpha1_devicemodel.yaml

作为用户,我得到以下信息:

The connection to the server 10.0.0.68:6443 was refused - did you
specify the right host or port?

(我已经为用户添加了访问.kube文件夹的权限)

有了netstat,我得到了:

> ubuntu@kubernetesmaster:~/src/github.com/kubeedge/kubeedge/build/crds/devices$
> sudo netstat -atunp    Active Internet connections (servers and
> established)                                                 Proto
> Recv-Q Send-Q Local Address           Foreign Address         State   
> PID/Program name      tcp        0      0 0.0.0.0:22             
> 0.0.0.0:*               LISTEN      1298/sshd             tcp        0    224 10.0.0.68:22            160.98.31.160:52503     ESTABLISHED
> 2061/sshd: ubuntu [   tcp6       0      0 :::22                   :::*
> LISTEN      1298/sshd             udp        0      0 0.0.0.0:68      
> 0.0.0.0:*                           910/dhclient          udp        0      0 10.0.0.68:123           0.0.0.0:*                          
> 1241/ntpd             udp        0      0 127.0.0.1:123          
> 0.0.0.0:*                           1241/ntpd             udp        0      0 0.0.0.0:123             0.0.0.0:*                          
> 1241/ntpd             udp6       0      0 fe80::f816:3eff:fe0:123 :::*
> 1241/ntpd             udp6       0      0 2001:620:5ca1:2f0:f:123 :::*
> 1241/ntpd             udp6       0      0 ::1:123                 :::*
> 1241/ntpd             udp6       0      0 :::123                  :::*
> 1241/ntpd

使用lsof -i:

ubuntu@kubernetesmaster:~/src/github.com/kubeedge/kubeedge/build/crds/devices$ sudo lsof -i
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dhclient  910   root    6u  IPv4  12765      0t0  UDP *:bootpc
ntpd     1241    ntp   16u  IPv6  15340      0t0  UDP *:ntp
ntpd     1241    ntp   17u  IPv4  15343      0t0  UDP *:ntp
ntpd     1241    ntp   18u  IPv4  15347      0t0  UDP localhost:ntp
ntpd     1241    ntp   19u  IPv4  15349      0t0  UDP 10.0.0.68:ntp
ntpd     1241    ntp   20u  IPv6  15351      0t0  UDP ip6-localhost:ntp
ntpd     1241    ntp   21u  IPv6  15353      0t0  UDP [2001:620:5ca1:2f0:f816:3eff:fe0a:874a]:ntp
ntpd     1241    ntp   22u  IPv6  15355      0t0  UDP [fe80::f816:3eff:fe0a:874a]:ntp
sshd     1298   root    3u  IPv4  18821      0t0  TCP *:ssh (LISTEN)
sshd     1298   root    4u  IPv6  18830      0t0  TCP *:ssh (LISTEN)
sshd     2061   root    3u  IPv4  18936      0t0  TCP 10.0.0.68:ssh->160.98.31.160:52503 (ESTABLISHED)
sshd     2124 ubuntu    3u  IPv4  18936      0t0  TCP 10.0.0.68:ssh->160.98.31.160:52503 (ESTABLISHED)

我已经尝试过this 和:sudo swapoff -a

8 个答案:

答案 0 :(得分:3)

请在主节点上执行以下步骤。就像魅力一样。

1. sudo -i

2. swapoff -a

3. exit

4. strace -eopenat kubectl version

答案 1 :(得分:1)

小控件必须关闭。您需要检查主服务器上的kubelet日志,并确保api服务器正在运行并且在线。那么只有您应该能够部署

答案 2 :(得分:0)

我遇到了这个问题,但是swapoff -a对我有用。

sudo -i
swapoff -a
exit
strace -eopenat kubectl version

答案 3 :(得分:0)

假设这是您netstat命令的所有输出,并且在主节点(通过kubadm安装了Kubernetes的主节点)上运行了该输出,那么在我看来,安装没有正确完成,因为没有存在您希望在Kubernetes主节点上看到的常用端口。

通常,在kubernetes主节点上,您希望看到kube-apiserver,kube-scheduler,kube-controller,kubelet以及可能的etcd都在网络上监听。

您的kubeadm init命令的输出是什么?

答案 4 :(得分:0)

我将添加另一个导致此错误的原因,这就是我的情况。

我将错误的Kubeconfig文件导出到Shell ,并且在这种情况下错误消息非常准确-API服务器的端点错误(当然还有群集等其他字段)名称和证书-但服务器端点是链中的第一步。

答案 5 :(得分:0)

在使用法兰绒将Pod网络部署到群集中时,我遇到以下错误的类似问题:

$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
The connection to the server 192.168.1.101:6443 was refused - did you specify the right host or port?

我执行了以下步骤来解决该问题:

$ sudo systemctl stop kubelet
$ sudo systemctl start kubelet
$ strace -eopenat kubectl version

然后应用yml文件

$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
podsecuritypolicy.policy/psp.flannel.unprivileged created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds created

答案 6 :(得分:0)

根据错误信息,明确表示端口号 6443 连接被拒绝。

意思

  1. 端口号被防火墙阻止
  2. 如果没有防火墙,那么
<块引用>

块引用

端口号未在指定主机6443上运行。您可以 使用以下命令交叉验证 #netstat -tulpn | grep -i 6443。

解决办法: 6443 是 k8s 中的 kube-apiserver 端口号。如果它没有运行,请确保 kube-apiserver 运行正常。我遇到了同样的问题。之后,我在该特定端口中正确设置了正确的参数。

/usr/local/bin/kube-apiserver \\
  --advertise-address=${INTERNAL_IP} \\
  --allow-privileged=true \\
  --apiserver-count=3 \\
  --audit-log-maxage=30 \\
  --audit-log-maxbackup=3 \\
  --audit-log-maxsize=100 \\
  --audit-log-path=/var/log/audit.log \\
  --authorization-mode=Node,RBAC \\
  --bind-address=0.0.0.0 \\
  --client-ca-file=/var/lib/kubernetes/ca.crt \\
  --enable-admission-plugins=NodeRestriction,ServiceAccount \\
  --enable-swagger-ui=true \\
  --enable-bootstrap-token-auth=true \\
  --etcd-cafile=/var/lib/kubernetes/ca.crt \\
  --etcd-certfile=/var/lib/kubernetes/etcd-server.crt \\
  --etcd-keyfile=/var/lib/kubernetes/etcd-server.key \\
  --etcd-servers=https://192.168.5.11:2379,https://192.168.5.12:2379 \\
  --event-ttl=1h \\
  --encryption-provider-config=/var/lib/kubernetes/encryption-config.yaml \\
  --kubelet-certificate-authority=/var/lib/kubernetes/ca.crt \\
  --kubelet-client-certificate=/var/lib/kubernetes/kube-apiserver.crt \\
  --kubelet-client-key=/var/lib/kubernetes/kube-apiserver.key \\
  --kubelet-https=true \\
  --runtime-config=api/all \\
  --service-account-key-file=/var/lib/kubernetes/service-account.crt \\
  --service-cluster-ip-range=10.96.0.0/24 \\
  --service-node-port-range=30000-32767 \\
  --tls-cert-file=/var/lib/kubernetes/kube-apiserver.crt \\
  --tls-private-key-file=/var/lib/kubernetes/kube-apiserver.key \\
  --v=2

答案 7 :(得分:0)

我也遇到了这个问题,我尝试了上面提到的解决方案,但对我不起作用。以下是对我有用的方法:

修正: kubeadm init --apiserver-advertise-address=10.139.0.42 --ignore-preflight-errors all --pod-network-cidr=172.17.0.1/16 --token-ttl 0

来源: https://www.c-sharpcorner.com/article/kubernetes-installation-in-redhat-and-centos/