K8S - 解决NodePort 只能用Pod 所在的node 的ip 访问

21 篇文章 0 订阅
用户在部署Kubernetes集群并配置NginxDeployment为NodePort类型后,发现只能从特定节点访问,因为其他节点由于防火墙设置限制了UDP流量。解决方法是在GCPVPC网络中开放UDP端口。
摘要由CSDN通过智能技术生成

问题:

我刚安装完k8s, 1个master 两个node

192.168.0.3 k8s-master
192.168.0.6 k8s-node0
192.168.0.44 k8s-node1

然后用下面两句命令安装了1个nginx
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort

nginx 这个pod 安装在了k8s-node1 中

但是我只能在k8s 上用k8s-node1 来访问这个nginx 服务, 例如

root@k8s-master:~/k8s-install# curl http://192.168.0.44:30763

Welcome to nginx!

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

但是用k8s-master 和 k8s-node0的ip都是不能访问的
curl http://192.168.0.3:30763 --timeout
curl http://192.168.0.6:30763 --timeout





原因:

K8S 的 NodePort需要UDP 流量
而我的nodes其实都是GCP上的VM, 在防火墙里只开放了tcp的端口





解决方法:

在对应的vpc network里开放udp 端口
问题解决

在这里插入图片描述

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nvd11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值