update at 2024-04-11 10:12:56
parent
369ccb7e7e
commit
e3c1f418a7
|
@ -14,4 +14,4 @@ net.ipv4.neigh.default.gc_thresh2 = 90000
|
||||||
net.ipv4.neigh.default.gc_thresh3 = 100000
|
net.ipv4.neigh.default.gc_thresh3 = 100000
|
||||||
```
|
```
|
||||||
|
|
||||||
并给 node 打下 label,修改 pod spec,加下 nodeSelector 或者 nodeAffnity,让 pod 只调度到这部分改过内核参数的节点,更多请参考本书 [节点排障: ARP 表爆满](../../node/arp-cache-overflow.md)
|
并给 node 打下 label,修改 pod spec,加下 nodeSelector 或者 nodeAffnity,让 pod 只调度到这部分改过内核参数的节点,更多请参考本书 [节点排障: ARP 表爆满](../../troubleshooting/node/arp-cache-overflow.md)
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
## 抓包
|
## 抓包
|
||||||
|
|
||||||
* [使用 nsenter 进入 netns](../../skill/enter-netns-with-nsenter.md),然后使用节点上的 tcpdump 抓 pod 中的包,发现是有的 DNS 请求没有收到响应,超时 5 秒后,再次发送 DNS 请求才成功收到响应。
|
* [使用 nsenter 进入 netns](../../troubleshooting/skill/enter-netns-with-nsenter.md),然后使用节点上的 tcpdump 抓 pod 中的包,发现是有的 DNS 请求没有收到响应,超时 5 秒后,再次发送 DNS 请求才成功收到响应。
|
||||||
* 在 kube-dns pod 抓包,发现是有 DNS 请求没有到达 kube-dns pod,在中途被丢弃了。
|
* 在 kube-dns pod 抓包,发现是有 DNS 请求没有到达 kube-dns pod,在中途被丢弃了。
|
||||||
|
|
||||||
为什么是 5 秒? `man resolv.conf` 可以看到 glibc 的 resolver 的缺省超时时间是 5s:
|
为什么是 5 秒? `man resolv.conf` 可以看到 glibc 的 resolver 的缺省超时时间是 5s:
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
## 解决方案
|
## 解决方案
|
||||||
|
|
||||||
通常不推荐在容器内修改 `/etc/hosts`,应该采用更云原生的做法,参考 [自定义域名解析](../../../best-practices/dns/customize-dns-resolution)。
|
通常不推荐在容器内修改 `/etc/hosts`,应该采用更云原生的做法,参考 [自定义域名解析](../../best-practices/dns/customize-dns-resolution)。
|
||||||
|
|
||||||
### 使用 HostAliases
|
### 使用 HostAliases
|
||||||
|
|
||||||
|
|
|
@ -78,4 +78,4 @@ $ ip a
|
||||||
valid_lft forever preferred_lft forever
|
valid_lft forever preferred_lft forever
|
||||||
```
|
```
|
||||||
|
|
||||||
如果要抓包也可以利用节点上的 tcpdump 工具抓包。
|
如果要抓包也可以利用节点上的 tcpdump 工具抓包。
|
||||||
|
|
Loading…
Reference in New Issue