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 ...
随机推荐
- ul li data-* 数据的读取
<ul class="questions"> <li> <div class="question">1.您的年龄是?< ...
- org.springframework.beans.factory.BeanCreationException 解决异常错误
一月 18, 2017 10:18:51 上午 org.apache.coyote.http11.Http11Protocol initINFO: Initializing Coyote HTTP/1 ...
- Docker 部署应用过程记录
Kibana直接部署到centos中,老是没有任何征兆退出,今天将他移动到docker中部署,以下是部署的过程,做个记录防止忘记 1.安装Docker # yum install docker 2.启 ...
- 常用且难记的一些css
1.多行文字超出隐藏,自动追加 ... 移动端兼容更好,pc下只能兼容 Safari.Opera 以及 Chrome 等部分浏览器,挺常用. (注:为什么要同时加这几个css不在这里详细叙述,详见) ...
- C语言权威指南和书单 - 初学者
注:点击标题免费下载电子书 1. C Primer Plus (5th Edition) 2. A Book on C C Programming: A Modern Approach (2nd Ed ...
- 聊一聊 redux 异步流之 redux-saga
让我惊讶的是,redux-saga 的作者竟然是一名金融出身的在一家房地产公司工作的员工(让我想到了阮老师...),但是他对写代码有着非常浓厚的热忱,喜欢学习和挑战新的事物,并探索新的想法.恩,牛逼的 ...
- 遇到短信轰炸,别人换ip调你的短信接口怎么办
前端开发者很容易暴露自己的请求地址和参数,我们都知道,一个h5页面,按 F12 是可以看到页面的源码的,所以经常很多人会利用这一点恶意调取别人的接口. 我们公司出现了好多次短信接口被大量调用,导致一天 ...
- git 恢复本地误删文件
git status git reset HEAD 路径(git status 会显示的路径) git checkout 路径
- Centos6.5下使用LAMP搭建discuz论坛(编译安装 PS :自学中 写的不好请见谅)
wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.27.tar.gz 下载Apache软件包 wget http://downloads.my ...
- 将连接数据库的JDBC提成BaseDao
package com.shangke; import java.io.FileReader;import java.io.IOException;import java.io.InputStream ...