k8s nodeport下访问请求未被分发到所有node的排错(转)
原文 https://www.myf5.net/post/2343.htm
现象:
从内部某个pod的容器里直接访问service的cluster地址,请求可以被正常转发到各个node上的pod里
但是从外部网络,访问nodeport发布的服务,则发现请求不能被转发到其他node上
排错发现,请求没有被转发到其他node的物理接口,说明问题出在接受请求的那台node本身上
查看iptables filter表发现,转发数据包匹配一条docker创建的规则导致丢弃
Chain INPUT (policy ACCEPT 525 packets, 70924 bytes)
num pkts bytes target prot opt in out source destination
1 258K 33M KUBE-FIREWALL all -- * * 0.0.0.0/0 0.0.0.0/0
2 259K 33M KUBE-SERVICES all -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes service portals */
Chain FORWARD (policy DROP 1 packets, 64 bytes)
num pkts bytes target prot opt in out source destination
1 1657 205K DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
2 1657 205K DOCKER-ISOLATION all -- * * 0.0.0.0/0 0.0.0.0/0
3 790 132K ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
4 35 2224 DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
5 818 70064 ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
6 0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
7 35 2224 ACCEPT all -- !docker0 docker0 0.0.0.0/0 0.0.0.0/0
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[root@docker3 ~]# iptables -nL -v --line-number
Chain INPUT (policy ACCEPT 525 packets, 70924 bytes)
num pkts bytes target prot opt in out source destination
1 258K 33M KUBE-FIREWALL all -- * * 0.0.0.0/0 0.0.0.0/0
2 259K 33M KUBE-SERVICES all -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes service portals */
Chain FORWARD (policy DROP 1 packets, 64 bytes)
num pkts bytes target prot opt in out source destination
1 1657 205K DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
2 1657 205K DOCKER-ISOLATION all -- * * 0.0.0.0/0 0.0.0.0/0
3 790 132K ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
4 35 2224 DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
5 818 70064 ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
6 0 0 ACCEPT all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
7 35 2224 ACCEPT all -- !docker0 docker0 0.0.0.0/0 0.0.0.0/0
|
forward链中的 第1,2规则都导致丢弃
强制增加iptables -I FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT 规则后,问题解决
但重启会失效,持久化的一个方法见此文最后 http://www.cnadn.net/post/2304.htm
ps:笔者在网上找了一堆资料,基本没有提及过nodeport转发不通的问题,因为目前所有的iptables规则都是k8s安装完后自动生成,没有做过任何修改, 从A机器访问kube-proxy的nodeport能转发到B机器的 targetport, 但是从外网访问A机器的kube-proxy的nodeport就无法转发出去,集群网络是通的,但就是无法转发,后面看到此文加上iptables -I FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT 果然可行
k8s nodeport下访问请求未被分发到所有node的排错(转)的更多相关文章
- k8s Nodeport方式下service访问,iptables处理逻辑(转)
原文 https://www.myf5.net/post/2330.htm k8s Nodeport方式下service访问,iptables处理逻辑 2017年07月11日 0条评论 976次阅读 ...
- win7下IIS错误:"无法访问请求的页面,因为该页的相关配置数据无效"的解决方法(转)
今天新装win7,然后在IIS下布署了一个网站,布署完成后运行,提示如下错误:HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效 ...
- 【原创】K8S环境下研发如何本地调试?kt-connect使用详解
K8S环境下研发如何本地调试?kt-connect使用详解 背景 注:背景有点啰嗦,讲讲一路走来研发本地调试的变化,嫌烦的可以直接跳过,不影响阅读. 2019年 我在的公司当时是个什么情况,只有两个J ...
- 遭遇“HTTP 错误 500.19 无法访问请求的页面,因为该页的相关配置数据无效。”
windows 2008下IIS7 安装ASP.NET 遇到如下错误: HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. ...
- SharePoint 2013 开启访问请求
1.通常,我们进入SharePoint 2013站点,如果没权限会提示该站点未被共享,而没有切换账号或者申请访问,实在是很流氓:其实,SharePoint为我们提供了访问请求页面,但是可能需要手动开启 ...
- win7 web开发遇到的问题-由于权限不足而无法读取配置文件,无法访问请求的页面
错误一: HTTP Error 500.19 - Internal Server Error配置错误: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的 (ov ...
- HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。
HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. 详细错误信息模块 IIS Web Core 通知 BeginReques ...
- IE10-IE11在NET4.0下出现“__doPostBack未定义”解决方案
IE10在NET4.0下出现"__doPostBack未定义"的办法 参考文章: http://blogs.msdn.com/b/scott_hanselman/archive/2 ...
- iis发布网站问题-由于权限不足而无法读取配置文件,无法访问请求的页面
错误一: HTTP Error 500.19 - Internal Server Error 配置错误: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的 (o ...
随机推荐
- TP5 数据库迁移工具 migrate 教程
第一步: 安装compose,不赘述,安装详情可百度或查看https://pkg.phpcomposer.com/#how-to-install-composer 第二步: 通过 composer ...
- 201771010141 周强《面向对象设计 java》第十五周实验总结
理论部分 ◼ JAR文件◼ 应用程序首选项存储◼ Java Web Start JAR文件: 1.Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar文件后,GUI界面程序就 ...
- [LeetCode&Python] Problem 594. Longest Harmonious Subsequence
We define a harmonious array is an array where the difference between its maximum value and its mini ...
- log4net使用中loginfo.IsInfoEnabled=false问题解决方法
引用了其他项目中的日志组件,调试时发现IsInfoEnabled属性一直为false 找了很多的解决办法,都不行 program.cs里面也不用添加 log4net.Config.XmlConfigu ...
- LeetCode 852. Peak Index in a Mountain Array C++ 解题报告
852. Peak Index in a Mountain Array -- Easy 方法一:二分查找 int peakIndexInMountainArray(vector<int>& ...
- 最新版的Chrome如何设置网页编码
在最新的V55版本中已经没有了编码选项,没有了这个可能会导致一些特殊编码网页出现乱码问题.那么如何找回这个Chrome的编码功能?可以通过下载chrome扩展:Set Character Encodi ...
- HTML复习 2019-2-11
HTML复习 2019-2-11 <!doctype html> <html> <!-- 常见问题答疑 Question 1:HTML标签可以大写吗? 大小写都可以,比如 ...
- 学习笔记CB014:TensorFlow seq2seq模型步步进阶
神经网络.<Make Your Own Neural Network>,用非常通俗易懂描述讲解人工神经网络原理用代码实现,试验效果非常好. 循环神经网络和LSTM.Christopher ...
- 学习笔记CB006:依存句法、LTP、n元语法模型、N-最短路径分词法、由字构词分词法、图论、概率论
依存句法分析,法国语言学家L.Tesniere1959年提出.句法,句子规则,句子成分组织规则.依存句法,成分间依赖关系.依赖,没有A,B存在错误.语义,句子含义. 依存句法强调介词.助词划分作用,语 ...
- (转)volatile 的理解
对于(volatile unsigned char *)0x20我们再分析一下,它是由两部分组成: 1) (unsigned char *)0x20,0x20只是个值,前面加(unsigned cha ...