kubernetes - 由于“等待标头错误时超时”,Kubernetes 节点无法加入主节点
问题描述
我正在尝试在 Digital Ocean 中设置具有主节点和两个工作节点的 k8s 集群。
我的配置:我创建了三个液滴,如下所示:
- 主控:2cpu,3GB 内存
- 工作节点 1:1cpu,2GB 内存
- 工作节点 2:1cpu,2GB 内存
我能够成功设置主节点
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 139m v1.18.3
我无法将工人添加到主人。
我跑去加入的命令:
$ kubeadm join <PUBLIC IP>:6443 --token <token> --discovery-token-ca-cert-hash <hash>
执行上述命令时,令牌还有 23 小时的有效期。
我得到的错误:
W0528 14:13:09.920404 25129 join.go:346] [preflight] 警告:未设置控制平面标志时,将忽略 JoinControlPane.controlPlane 设置。
[预检] 运行预检错误执行阶段预检:无法验证 API 服务器的身份:获取https://PUBLIC_IP:6443/api/v1/namespaces/kube-public/configmaps/cluster-info?timeout =10s : net/http: 等待连接时请求被取消(等待标头时超出 Client.Timeout) 要查看此错误的堆栈跟踪,请使用 --v=5 或更高版本执行
我对这个问题的看法:
$ netstat -pnltu
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:40389 0.0.0.0:* LISTEN 25074/kubelet
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 25074/kubelet
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 25478/kube-proxy
tcp 0 0 127.0.0.1:9099 0.0.0.0:* LISTEN 29823/calico-node
tcp 0 0 127.0.0.1:10257 0.0.0.0:* LISTEN 24580/kube-controll
tcp 0 0 127.0.0.1:10259 0.0.0.0:* LISTEN 24742/kube-schedule
tcp6 0 0 :::10250 :::* LISTEN 25074/kubelet
tcp6 0 0 :::10251 :::* LISTEN 24742/kube-schedule
tcp6 0 0 :::6443 :::* LISTEN 24725/kube-apiserve
tcp6 0 0 :::10252 :::* LISTEN 24580/kube-controll
tcp6 0 0 :::10256 :::* LISTEN 25478/kube-proxy
是因为 API 服务正在侦听 IPV6 而不是 IPV4?
这是集群信息的输出:
$ kubectl cluster-info
Kubernetes master is running at https://<PUBLIC_IP>:6443
KubeDNS is running at https://<PUBLIC_IP>:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
非常感谢解决此问题的任何帮助。
解决方案
推荐阅读
- git - 我有两个不同的分支,有着不同的历史。如何从功能分支中获取更改并合并到两者?
- c# - C# 有没有办法为目录创建快捷方式,这样它就不必是用户特定的?
- ruby-on-rails - 如何制作一个将参数提交给 Rails 控制器的反应表单?
- delphi - 是否可以使用新的 Delphi 的 RTTI 库从字符串中检索 TypeInfo?
- mysql - Error No. 2058 Plugin authentication_windows_client 无法加载:找不到指定的模块
- alexa - 如何判断 Alexa 是否不发出任何声音?
- aws-api-gateway - Cognito 授权和 API 网关
- python-3.x - Python 等效于 MATLAB 中的结构数组
- javascript - OpenLayers 3 Bootstrap 手风琴不起作用
- java - 每次我想运行时,我都必须(项目>清理)。怎么不呢?