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

时间:2019-02-24 10:48:37

标签: ubuntu kubernetes

我一直在尝试根据以下教程https://kubernetes.io/docs/setup/independent/install-kubeadm/

运行一个基本的Kubernetes集群。

我从最新的ubuntu 16.04系统开始安装了docker。

wget -qO- https://get.docker.com/ | sed 's/docker-ce/docker-ce=18.06.3~ce~3-0~ubuntu/' | sh

之后,我安装了kubelet / Kubeadm和kubectl模块

apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl

确保交换等已关闭sudo swapoff -a

使用sudo kubeadm init

执行初始化
[init] Using Kubernetes version: v1.13.3
...
To start using your cluster
...
mkdir ...
You can now join any ...
...

我制作.kube文件夹并进行配置

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

kubectl cluster-info然后显示

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 10.117.xxx.xxx:6443 was refused - did you specify the right host or port?

尝试几次后,我曾经收到:

sudo kubectl cluster-info
Kubernetes master is running at https://10.117.xxx.xxx:6443
KubeDNS is running at https://10.117.xxx.xxx:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

但是一秒钟后,它又回到了被拒绝的状态

sudo kubectl cluster-info
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 10.117.xxx.xxx:6443 was refused - did you specify the right host or port?

我尝试使用sudo和不使用sudo ...,sudo kubectl get nodes也拒绝工作。

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

我想念它无法连接吗?

ping 10.117.xxx.xxx可以正常工作,甚至到该地址的ssh都可以使用,并且是同一服务器。

修改

sudo systemctl restart kubelet.service显示群集已联机,但由于某些原因在几分钟之内就脱机。

kubectl cluster-info
Kubernetes master is running at https://10.117.0.47:6443
KubeDNS is running at https://10.117.0.47:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
...
kubectl cluster-info

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 10.117.0.47:6443 was refused - did you specify the right host or port?

edit2

完全重置并使用以下init ...

sudo kubeadm init --pod-network-cidr=10.244.0.0/16 

之后

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml

允许我安装Pod Network附加组件,但期限很短。

clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.extensions/kube-flannel-ds-amd64 created
daemonset.extensions/kube-flannel-ds-arm64 created
daemonset.extensions/kube-flannel-ds-arm created
daemonset.extensions/kube-flannel-ds-ppc64le created
daemonset.extensions/kube-flannel-ds-s390x created
kubectl cluster-info
Kubernetes master is running at https://10.117.xxx.xxx:6443
KubeDNS is running at https://10.117.xxx.xxx:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

➜  ~ kubectl cluster-info

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 10.117.xxx.xxx:6443 was refused - did you specify the right host or port?

edit3

删除所有docker映像,容器等...,然后使用sudo systemctl restart kubelet.service执行重新启动似乎可以解决几分钟,但随后所有docker容器被杀死并删除而没有任何信号。我该如何查看这些容器的日志记录,也许找出它们被杀死的原因?

https://pastebin.com/wWSWXM31日志文件

3 个答案:

答案 0 :(得分:1)

我不知道“ Kubernetes”的详细信息,但是我可以解释您所看到的。

拒绝连接不是拒绝权限。这意味着:“我通过该IP地址和端口与服务器联系,并且该端口上没有服务器在运行。”

所以....您将不得不转到远程系统(您一直在呼叫10.117.xxx.xxx的系统),并仔细检查服务器是否正在运行。以及在哪个端口上。

例如,“ netstat -a”工具将列出所有打开的端口和连接。您应该将监听服务器视为

tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN     

在我的情况下,它正在侦听9090端口。您正在寻找带有6443的条目。它可能不会存在,因为那是“拒绝连接”已经告诉您的内容。您需要启动应该提供该服务的服务器进程,并注意错误。如果您在终端上没有看到错误,请检查/ var / log / syslog中的错误。

答案 1 :(得分:0)

控制节点上的kube-apiserver容器可能未启动,或者docker未启动。您可以通过以下方式模仿6443连接被拒绝:

-来自控制节点:

sudo systemctl停止docker

kubectl获得豆荚

-回复:

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

它找不到位于端口6443上的API……嗯……因此,这表明该特定错误与API和运行它的Docker容器有关。因此,如果docker关闭,或者任何阻止我访问docker的东西被中断,它将引发此类错误。

让我们备份它:

sudo systemctl启动docker

  • 花几分钟时间来启动所有kubernetes系统容器,请记住,您在控制节点上没有任何应用程序容器,通常只有kube系统的东西。

  • 这不会影响您的工作程序节点或它们上的容器,对他们来说,这就像与api断开连接,仅此而已,除非它们需要api上的关键功能,否则它们将保持正常运行。

  • p>

kubectl获得豆荚

-回复:

NAME READY STATUS重启年龄 busybox 1/1运行中0 42h

答案 2 :(得分:0)

重启后出现同样的错误。 def execute(): x = 'this is imam' print("this is imam") #perform some task after first print then print next function y = 'this akarsh' print('this akarsh') #perform some task after first print then print next function z = 'this is abhi' print('this is abhi') result = [x,y,x] return result 为我工作