我正在kubernetes中设置一个2节点集群。1个主节点和1个从节点。在主节点上,我看到2个节点处于就绪状态(master和worker),但是当我尝试在worker节点上运行任何kubectl命令时,我收到如下所示的连接拒绝错误。我在.kube/ admin.conf中没有看到任何配置和设置。这些文件是否也需要在工作节点上?如果是这样的话,我如何获得它?如何解决下面的错误?感谢您的帮助
root@kubework:/etc/kubernetes# kubectl get节点到服务器localhost:8080的连接被拒绝-您是否指定了正确的主机或端口?
root@kubework:/etc/kubernetes# kubectl cluster-info
要进一步调试和诊断群集问题,请使用“kubectl cluster-info dump”。与服务器localhost:8080的连接被拒绝-您是否指定了正确的主机或端口?root@kubework:/etc/kubernetes#
发布于 2020-08-23 17:50:21
Kubcetl在默认情况下已配置,并在主服务器上运行。它需要kube-apiserver pod和~/.kube/config。
对于工作节点,我们不需要使用kube-apiserver,但我们想要的是使用主配置传递它。为了实现这一点,我们必须将~/.kube/config文件从主服务器复制到工作进程上的~/.kube/config。值~,用户在worker和master上执行kubcetl (当然,这可能是不同的)。
完成此操作后,您可以从工作节点使用kubectl命令,就像从主节点执行此操作一样。
发布于 2020-08-23 02:47:10
是的,需要这些文件。将这些文件移动到工作节点上相应的.kube/config文件夹中。
发布于 2020-08-24 20:40:38
即使使用kubectl on master node作为非根帐户,这也是预期的行为,默认情况下,此配置文件是为/etc/kubernetes/admin.conf中的根帐户存储的
要使kubectl为非根用户工作,请运行以下命令,这些命令也是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 export KUBECONFIG=/etc/kubernetes/admin.conf,可选的Controlling your cluster from machines other than the control-plane node
scp root@<control-plane-host>:/etc/kubernetes/admin.conf .
kubectl --kubeconfig ./admin.conf get nodesKUBECONFIG环境变量保存kubeconfig文件的列表。对于Linux和Mac,该列表以冒号分隔。对于Windows,该列表以分号分隔。不需要KUBECONFIG环境变量。如果kubectl环境变量不存在,则kubectl将使用缺省的KUBECONFIG文件$HOME/.kube/config.
https://stackoverflow.com/questions/63539796
复制相似问题