如何解决启用防火墙时无法访问 k8s-dashboard
我有一个带有 3 个节点(2 个工作器)的单主 kubeadm 集群设置。 在启用防火墙之前,我可以通过本地计算机上的 kubectl 代理访问 kubernetes-dashboard。 我的防火墙(ufw)配置是: 主节点
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
6443/tcp ALLOW Anywhere
2379:2380/tcp ALLOW Anywhere
10250/tcp ALLOW Anywhere
10251/tcp ALLOW Anywhere
10252/tcp ALLOW Anywhere
10255/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
8443/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
6443/tcp (v6) ALLOW Anywhere (v6)
2379:2380/tcp (v6) ALLOW Anywhere (v6)
10250/tcp (v6) ALLOW Anywhere (v6)
10251/tcp (v6) ALLOW Anywhere (v6)
10252/tcp (v6) ALLOW Anywhere (v6)
10255/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
8443/tcp (v6) ALLOW Anywhere (v6)
工作节点
Status: active
To Action From
-- ------ ----
10250/tcp ALLOW Anywhere
10255/tcp ALLOW Anywhere
30000:32767/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
10250/tcp (v6) ALLOW Anywhere (v6)
10255/tcp (v6) ALLOW Anywhere (v6)
30000:32767/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
是否有我忘记允许的端口?或者它可能来自其他东西?
谢谢!
解决方法
为了访问仪表板,您需要让 Kubernetes Service
公开仪表板。假设您已使用说明 here 安装它,您可以修补服务以将端口公开为 NodePort
。
kubectl patch service/kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}' --type=merge
然后运行此命令将返回 NodePort 编号:
kubectl get service/kubernetes-dashboard -o jsonpath='{.spec.ports[0].nodePort}'
然后更新您的防火墙以在您的一个或所有工作人员上打开该端口。
然后在任何工作线程上访问该端口:https://[WorkerIP]:[NodePort]
仪表板在哪里运行?如果在节点上,则在节点上也打开 443。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。