如何诊断 Rancher 2.x 中的“卡在配置”问题?

问题描述

我正在尝试在一组四台本地虚拟机上设置 Rancher / Kubernetes 开发实验室,但是当尝试向集群添加节点时,Rancher 似乎永远停留在“等待向 Kubernetes 注册”。

从广泛的谷歌搜索中,我怀疑 Rancher 节点和其他三个节点之间存在某种通信问题,但是我找不到如何尝试诊断它,在 Rancher 1.x 中查找日志的说明不t 申请 2.x 并且到目前为止我找到的所有关于 2.x 的信息似乎都是关于如何为工作集群配置日志记录,而不是在哪里可以找到 Rancher 自己的尝试设置集群的日志。

那么有效的两个问题:

  1. 诊断此问题的最佳方法是什么?
  2. 在哪里可以找到 Rancher 的集群构建活动日志?

我的设置详情: 四个相同的虚拟机,全部使用 Ubuntu 20.04 和 Docker 20.10.5,都在同一主机上的 Proxmox 下运行,并且都可以相互 ping 和 ssh。所有人都可以完全访问互联网。

Rancher 2.5.7安装在192.168.0.180,其他三个节点181-183。

使用“全局 > 集群 > 添加集群”,我使用默认设置创建了一个新集群。

Rancher 给了我以下代码在节点上执行,这已经完成,没有报告错误:

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  rancher/rancher-agent:v2.5.7 --server https://192.168.0.180 --token (token) --ca-checksum (checksum) --etcd --controlplane --worker

根据 Rancher 设置说明,Rancher 现在应该配置并控制节点,但是没有任何反应,节点继续显示“等待向 Kubernetes 注册”。

我在 .180“docker exec -it (container-id) bash”上执行了 Rancher 容器并搜索了日志,但是在 /var/lib/cattle 目录中找到了旧版本的调试日志,为空。

更新 2021-06-23 无处可去,我删除了 Rancher 中现有的集群尝试,停止了节点上所有现有的 Docker 进程,并尝试创建一个新集群,这次分别使用一个节点用于 etcd、控制平面和工作器,而不是所有三个都做所有三个任务。

完全相同的事情发生了,Rancher 只是永远说“等待向 Kubernetes 注册”。查看 node-1 (181) 上的日志,使用 docker ps 查找 id,然后使用 docker logs 查看它们,我明白了:

root@knode-1:~# docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED              STATUS              PORTS     NAMES
3ca92e0ea581   rancher/rancher-agent:v2.5.7   "run.sh --server htt…"   About a minute ago   Up About a minute             epic_goldberg
root@knode-1:~# docker logs 3ca92e0ea581
INFO: Arguments: --server https://192.168.0.180 --token REDACTED --ca-checksum 151f030e78c10cf8e2dad63679f6d07c166d2da25b979407a606dc195d08855e --etcd
INFO: Environment: CATTLE_ADDRESS=192.168.0.181 CATTLE_INTERNAL_ADDRESS= CATTLE_NODE_NAME=knode-1 CATTLE_ROLE=,etcd CATTLE_SERVER=https://192.168.0.180 CATTLE_TOKEN=REDACTED
INFO: Using resolv.conf: nameserver 127.0.0.53 options edns0
WARN: Loopback address found in /etc/resolv.conf,please refer to the documentation how to configure your cluster to resolve DNS properly
INFO: https://192.168.0.180/ping is accessible
INFO: Value from https://192.168.0.180/v3/settings/cacerts is an x509 certificate
time="2021-06-23T09:46:36Z" level=info msg="Listening on /tmp/log.sock"
time="2021-06-23T09:46:36Z" level=info msg="Rancher agent version v2.5.7 is starting"
time="2021-06-23T09:46:36Z" level=info msg="Option customConfig=map[address:192.168.0.181 internalAddress: label:map[] roles:[etcd] taints:[]]"
time="2021-06-23T09:46:36Z" level=info msg="Option etcd=true"
time="2021-06-23T09:46:36Z" level=info msg="Option controlPlane=false"
time="2021-06-23T09:46:36Z" level=info msg="Option worker=false"
time="2021-06-23T09:46:36Z" level=info msg="Option requestedHostname=knode-1"
time="2021-06-23T09:46:36Z" level=info msg="Connecting to wss://192.168.0.180/v3/connect/register with token rbdbrk8r7ncbvb9ktw9w669tj7q9xppb9scwxp9wj8zj25nhfq24s9"
time="2021-06-23T09:46:36Z" level=info msg="Connecting to proxy" url="wss://192.168.0.180/v3/connect/register"
time="2021-06-23T09:46:36Z" level=info msg="Waiting for node to register. Either cluster is not ready for registering or etcd and controlplane node have to be registered first"
time="2021-06-23T09:46:38Z" level=info msg="Starting plan monitor,checking every 15 seconds"

显示的唯一错误似乎是 DNS 错误 - 我最初将节点的 resolv.conf 设置为使用 1.1.1.1 和 8.8.4.4,因此大概是 Docker 安装更改了它,但是在一系列域上测试 127.0.0.53并记录它正确解析了 DNS,所以我认为这不是问题。

帮助?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...