Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker kubernetes中工作节点上的连接被拒绝错误_Docker_Kubernetes_Connection_Connection Refused - Fatal编程技术网

Docker kubernetes中工作节点上的连接被拒绝错误

Docker kubernetes中工作节点上的连接被拒绝错误,docker,kubernetes,connection,connection-refused,Docker,Kubernetes,Connection,Connection Refused,我正在kubernetes建立一个2节点集群。1个主节点和1个从节点。 设置主节点后,我在worker节点上执行docker、kubeadm、kubelet、kubectl的安装步骤,然后运行join命令。在主节点上,我看到2个节点处于就绪状态(主节点和工作节点),但当我尝试在工作节点上运行任何kubectl命令时,我得到如下连接拒绝错误。我没有看到任何admin.conf,也没有在.kube/config中设置任何内容。这些文件是否也需要位于工作节点上?如果是这样的话,我怎么得到它?如何解决以

我正在kubernetes建立一个2节点集群。1个主节点和1个从节点。 设置主节点后,我在worker节点上执行docker、kubeadm、kubelet、kubectl的安装步骤,然后运行join命令。在主节点上,我看到2个节点处于就绪状态(主节点和工作节点),但当我尝试在工作节点上运行任何kubectl命令时,我得到如下连接拒绝错误。我没有看到任何admin.conf,也没有在.kube/config中设置任何内容。这些文件是否也需要位于工作节点上?如果是这样的话,我怎么得到它?如何解决以下错误?谢谢你的帮助

root@kubework:/etc/kubernetes#kubectl get节点 与服务器localhost:8080的连接被拒绝-是否指定了正确的主机或端口

root@kubework:/etc/kubernetes#kubectl集群信息

要进一步调试和诊断群集问题,请使用“kubectl群集信息转储”。 与服务器localhost:8080的连接被拒绝-是否指定了正确的主机或端口?
root@kubework:/etc/kubernetes#

是,这些文件是必需的。将这些文件移动到工作节点上相应的.kube/config文件夹中

root@kubework:/etc/kubernetes#kubectl获取与 服务器localhost:8080被拒绝-您是否指定了正确的主机或服务器 港口

默认情况下,Kubcetl已配置并在主机上工作。它需要kube apiserver pod和
~/.kube/config

对于工作节点,我们不需要使用kube apiserver,但我们需要使用主配置来传递它。 为了实现这一点,我们必须将
~/.kube/config
文件从主机复制到worker上的
~/.kube/config
。值
~
,用户在工人和主人上执行kubcetl(当然可能不同)。

完成后,您可以从工作节点使用
kubectl
命令,就像从主节点使用命令一样。

这是预期的行为,即使将主节点上的
kubectl
用作非根帐户,默认情况下,此配置文件为根帐户存储在
/etc/kubernetes/admin.conf

要使kubectl适用于非root用户,请运行以下命令,这些命令也是kubeadm init输出的一部分:

  • 或者,在主机上,如果您是root用户,则可以运行:
选择性地

scp root@:/etc/kubernetes/admin.conf。
kubectl--kubeconfig./admin.conf获取节点
:

KUBECONFIG环境变量包含KUBECONFIG文件的列表。对于Linux和Mac,列表以冒号分隔。对于Windows,列表以分号分隔。KUBECONFIG环境变量不是必需的如果KUBECONFIG环境变量不存在,kubectl将使用默认的KUBECONFIG文件$HOME/.kube/config


我尝试了许多只将/etc/kubernetes/admin.conf复制到~/.kube/config的解决方案。但是没有一个对我有用

我的操作系统是ubuntu,通过删除、清除和重新安装以下内容来解决:

  • sudo dpkg-r kubeadm kubectl
  • sudo dpkg-P kubeadm kubectl
  • sudo apt get安装-y kubelet kubeadm kubectl
  • sudo apt mark hold kubelet kubeadm kubectl
  • 卷曲-低“https://dl.k8s.io/release/$(curl-L-s)/bin/linux/amd64/kubectl”(再次下载kubectl,这确实有效)
  • kubectl获取节点
  • 姓名状态角色年龄版本

    mymaster就绪控制飞机,master 31h v1.20.4


    myworker Ready 31h v1.20.4

    这些文件从何处获取?我在/etc/Kubernetes/worker节点中没有admin.conf文件,这就是我收到连接被拒绝错误的原因?谢谢David。在将admin.conf从master复制到worker节点@~/.kube/config之后,它工作正常。欢迎使用Nitish!不要犹豫,接受我的回答:)
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
        export KUBECONFIG=/etc/kubernetes/admin.conf
    
    scp root@<control-plane-host>:/etc/kubernetes/admin.conf .
    kubectl --kubeconfig ./admin.conf get nodes