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

时间:2019-10-30 02:07:35

标签: kubernetes

我遵循此https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/在我的云上安装kubernetes。 运行命令kubectl get nodes时出现此错误:

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

我该如何解决?

4 个答案:

答案 0 :(得分:1)

如果仅关注提到的文档,则意味着您仅安装了kubeadmkubectlkubelet

如果您要正确运行kubeadm,则需要再执行3个步骤。

1。安装docker

安装Docker ubuntu version。如果您使用的是其他系统,请从左侧菜单中选择它。

原因:

如果您不安装docker,则会收到如下错误消息:

preflight] WARNING: Couldn't create the interface used for talking to the container runtime: docker is required for container runtime: exec: "docker": e
xecutable file not found in $PATH
error execution phase preflight: [preflight] Some fatal errors occurred:
        [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist
        [ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

2。 kubeadm

的初始化

您已经正确安装了kubeadmdocker,但是现在您需要初始化kubeadm。可以找到文档here

简而言之,您必须运行命令

$ sudo kubeadm init

初始化后,您将收到运行以下命令的信息:

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

和令牌以将另一个VM加入群集。看起来像

kubeadm join 10.166.XX.XXX:6443 --token XXXX.XXXXXXXXXXXX \
    --discovery-token-ca-cert-hash sha256:aXXXXXXXXXXXXXXXXXXXXXXXX166b0b446986dd05c1334626aa82355e7 

如果要在初始化阶段执行某些特殊操作,请检查this docs

3。将节点状态更改为Ready

上一步之后,您将可以执行

$ kubectl get nodes
NAME           STATUS     ROLES    AGE     VERSION
ubuntu-kubeadm   NotReady   master   4m29s   v1.16.2

但是您的节点将处于NotReady状态。如果您将其描述为$ kubectl describe node,则会看到错误:

Ready            False   Wed, 30 Oct 2019 09:55:09 +0000   Wed, 30 Oct 2019 09:50:03 +0000   KubeletNotReady              runtime network not ready: Ne
tworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

这意味着您必须安装一个CNI。可以在here中找到它们的列表。

编辑

我想到的还有一件事。

有时在关闭和打开VM时需要重新启动 kubelet和docker服务。您可以使用

$ service docker restart
$ systemctl restart kubelet

希望有帮助。

答案 1 :(得分:0)

好像缺少kubeconfig文件。您将admin.conf文件复制到〜/ .kube / config吗?

答案 2 :(得分:0)

我做了以下两个步骤。 kubectl现在可以工作了。

$ service docker restart
$ systemctl restart kubelet

答案 3 :(得分:0)

验证是否设置了诸如“ http_proxy”或“ https_proxy”之类的代理,大多数情况下,我们将其设置为环境变量。如果是,请删除代理,它应该对您有用。