我正在尝试在Digital Ocean中设置具有主节点和两个工作节点的k8s集群。
我的配置: 我创建了三个小滴,如下所示:
我能够成功设置主节点
$ 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>
在执行上述命令时,令牌还有23h的有效期。
我得到的错误:
W0528 14:13:09.920404 25129 join.go:346] [预检]警告:未设置控制面板标志时,JoinControlPane.controlPlane设置将被忽略。
[preflight]运行飞行前检查 错误执行阶段预检:无法验证API服务器的身份:Get 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侦听吗?
这是cluster-info的输出:
$ 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
非常感谢您提供解决此问题的帮助。