小编Sha*_*kel的帖子

Alpine 在 Kubernetes 中是否有已知的 DNS 问题?

最近,在尝试解决“大”DNS 查询(当答案大于 512M 时)时,我们在 EKS 上遇到了一些基于 Alpine 图像(节点:12.18.1-alpine)的微服务的 DNS 问题。

所以我尝试运行这个脚本来测试 DNS 解析:

var dns = require('dns');
var w3 = dns.lookup('hugedns.test.dziemba.net', function (err, addresses, family) {
  console.log(addresses);
});
Run Code Online (Sandbox Code Playgroud)

每个图像有 2 个不同的场景

  1. 节点:12.18.1-高山
  • 在我的笔记本电脑上运行图像 - 成功解决
  • 在 EKS 1.16 上运行映像 - 无法解决
  1. 节点:12.18.1-slim
  • 在我的笔记本电脑上运行图像 - 成功解决
  • 在 EKS 1.16 上运行镜像 - 成功解决

从我看到的情况来看,Alpine 正在使用 musl(它不支持 DNS 来使用 TCP?)库而不是 glibc,因为 DNS 协议使用的是 UDP,并且仅在查询大于 512M 时才尝试回退到 TCP。所以我的理论是这是根本原因,但由于它对我有用并且在 EKS 上失败让我想知道问题在哪里可以传递......

有什么想法吗?

EKS v1.16 coredns:v1.6.6

BTW,这是我的第一篇文章,如果需要任何信息,请告诉我

dns tcp docker kubernetes alpine-linux

9
推荐指数
1
解决办法
3237
查看次数

标签 统计

alpine-linux ×1

dns ×1

docker ×1

kubernetes ×1

tcp ×1