微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

启用防火墙时无法访问 k8s-dashboard

如何解决启用防火墙时无法访问 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 举报,一经查实,本站将立刻删除。