K8s coredns 和 flannel 名称服务器超出限制[关闭]

2024-07-04

我一直在尝试在单个节点中设置 k8s,一切都安装得很好。但是当我检查 kube-system pod 的状态时,

CNI -> 法兰绒吊舱有crashed,原因 -> 超出了名称服务器限制,省略了一些名称服务器,应用的名称服务器行是: x.x.x.x x.x.x.x x.x.x.x

CoreDNSPod 状态为容器创建.

在我的办公室中,当前服务器已配置为具有静态 IP,当我检查时/etc/resolv.conf

这是输出

# Generated by NetworkManager
search ORGDOMAIN.BIZ
nameserver 192.168.1.12
nameserver 192.168.2.137
nameserver 192.168.2.136
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 192.168.1.10
nameserver 192.168.1.11

我无法找到根本原因,我应该注意什么?


简而言之,您的条目太多/etc/resolv.conf.

这是一个已知问题 https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/#known-issues:

某些 Linux 发行版(例如 Ubuntu)默认使用本地 DNS 解析器(systemd-resolved)。 Systemd 解析的移动和替换/etc/resolv.conf使用存根文件,在解析上游服务器中的名称时可能会导致致命的转发循环。这可以通过使用 kubelet 手动修复--resolv-conf标志指向正确的resolv.conf (With systemd-resolved, 这是/run/systemd/resolve/resolv.conf). kubeadm (>= 1.11) 自动检测systemd-resolved,并相应地调整 kubelet 标志。

Also

Linux libc 不可能被卡住(从 2005 年开始就看到这个错误 https://bugzilla.redhat.com/show_bug.cgi?id=168253) 限制为 3 个 DNSnameserver记录和6个DNSsearch记录。 Kubernetes需要消耗1nameserver记录和3search记录。这意味着如果本地安装已使用 3nameservers 或使用超过 3 个searches,其中一些设置将会丢失。作为部分解决方法,节点可以运行dnsmasq这将提供更多nameserver条目,但不多search条目。您还可以使用 kubelet 的--resolv-conf flag.

如果您使用 Alpine 3.3 或更早版本作为基础映像,由于 Alpine 的已知问题,DNS 可能无法正常工作。查看here https://github.com/kubernetes/kubernetes/issues/30215了解更多信息。

您可能可以在 Kubernetes 代码中更改它,但我不确定其功能。因为它是出于目的而设置为该值的。

可以找到代码here https://github.com/kubernetes/kubernetes/blob/c970a46bc1bcc100bbbfabd5c12bd4c5d87f8aea/pkg/apis/core/validation/validation.go#L2944-L2953

const (
    // Limits on various DNS parameters. These are derived from
    // restrictions in Linux libc name resolution handling.
    // Max number of DNS name servers.
    MaxDNSNameservers = 3
    // Max number of domains in search path.
    MaxDNSSearchPaths = 6
    // Max number of characters in search path.
    MaxDNSSearchListChars = 256
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

K8s coredns 和 flannel 名称服务器超出限制[关闭] 的相关文章

随机推荐

  • 如何解决 CMake 错误“无法找到 MPI”

    我正在尝试在 48小时 全新的 ubuntu 20 04 3 安装上运行 CMakeLists txt 文件 我在运行时不断收到以下错误cmake Could NOT find MPI CXX missing MPI CXX WORKS C
  • 带有主机工具链的 buildroot 环境

    为了运行测试用例等 我想为主机系统编译我们的 buildroot 环境的一部分 usr bin gcc 等 我尝试在 usr 中指定 external toolchain 但失败了 有没有人设法做这样的事情 buildroot 手册说这是不
  • 同时在不同层中使用多个 CAKeyframeAnimation

    现在有人知道如何使用 CAKeyframeAnimation 同时对多个图层进行动画处理吗 每个层都有自己的 CAKeyframeAnimation 对象 看看下面的代码 我有一个接收对象 创建 CAKeyframeAnimation 并将
  • 使用 setuptools 从私有 Gitlab 包存储库安装 Python 包

    我为我的雇主创建了一个私人套餐 由于我被禁止将其上传到 PyPI 它是专有的 因此我将其上传到我们私人 Gitlab 中心上的项目的包索引中 我可以手动安装它 pip install my package extra index url h
  • 使页脚正确粘贴到页面底部[重复]

    这个问题在这里已经有答案了 我试图让我的页脚 只是一个带有一行文本的div 位于屏幕底部 如果内容没有一直到达底部 或者位于内容的底部 如果内容需要滚动条 如果内容不需要滚动条 它可以完美工作 但是当内容太长时 页脚仍然位于同一位置 位于内
  • 但很难用 jq 解析 JSON

    我正在慢慢掌握 jq 的工作原理 但距离掌握它还很远 现在我处于一种情况 我已经设法得到了我想要的东西 但没有按照我想要的方式显示它 我确信这很简单 但我错过了 这是我要解析的 JSON 示例 sites site id 123456 st
  • 如何在 JObject 中添加或更新 JProperty 值

    我目前正在使用以下扩展方法来执行此任务 但似乎应该有一些现有的包含方法或扩展来执行此任务 或至少是其中的一个子集 如果里面没有任何东西Json NET那么推荐的流程是什么 或者我如何更改下面的代码以更接近推荐的流程 public stati
  • 如何将嵌入的 YouTube 视频的帧(通过 iframe)写入画布?

    我希望能够从 YouTube 视频中的各个点 不仅仅是缩略图 提取帧 并对它们进行一些处理 我可以使用 iframe API 将视频嵌入到我的网站中 但我正在努力寻找一种将其捕获到画布上的方法 如果我被迫捕获整个屏幕 也可以 如果我必须更改
  • 如何限制匿名子类的创建(Java)

    抱歉 我之前没有正确表述这个问题 我尝试实现工厂模式 一个更好的例子 它是一个带有 create 函数的抽象类 Human 根据创建时传递的参数 它决定是返回其子类 Man 的实例还是返回 Woman 子类的实例 因此 您可以使用以下命令调
  • JavaScript。如果数组包含重复数字,Array .sort() 方法会为 Chrome 和 Firefox 返回不同的结果

    我有包含随机数的数组 当我试图通过排序这个数组时 sort 方法 如果数组包含重复的数字 结果会不同 下面的代码在 Chrome 和 Firefox 中的工作方式有所不同 1 2 3 4 5 6 7 8 9 2 15 3 4 5 1 2 3
  • 删除 iOS 中的后台位置警报?

    我正在编写一个跟踪用户位置的导航应用程序 为了继续显示有关路线的通知 当手机锁定 接听电话等时 我还需要在应用程序处于后台时继续跟踪位置 Capabilities gt Background Modes gt Location update
  • 给出文档名称的 UID

    我想知道在我的 firestore 数据库中保存用户首选项的最佳实践是什么 我会尝试用一个例子来解释 Case 1 我的 用户 集合中有这种文档 名称是由 Firebase 随机生成的 有 3 个字段 user uid 细绳 nicknam
  • Kubernetes - 所有 Pod 的共享环境变量

    我们必须设置 https proxy 和 http proxy 以便从集群实例访问互联网 https proxy 和 http proxy 环境变量应导出到所有 pod 以便应用程序可以访问外部站点 我们正在使用 helm 图表 因此我们可
  • Azure 移动应用程序 node.js 后端 Android 客户端 - 50 行限制

    我一直在尝试获取 Azure 移动应用程序返回的超过 50 行结果 但到目前为止没有成功 我已经尝试过以下方法 A Top 100 Skip 100 gt 这个解决方案在我的上下文中对我来说没有用 b 有人建议我尝试将 app js 中的
  • IOS - React Native - 未处理的 JS 异常:SyntaxError

    每当我创建新的 React Native 项目时 我都会遇到问题 显示红色屏幕 并在 xcode 控制台中收到以下错误消息 嗨 我有同样的问题 在这里找到了解决方案 https github com facebook react nativ
  • 如何调节日志指令随时间产生的打印输出量?

    如何将程序日志打印输出限制为 Y 秒内最多 X 个打印输出 使用 java util logging 进行服务器端编程 我的代码有很多信息 警告和错误语句 例如 s logger logp Level WARNING myClassName
  • Excel 使用 VBA 函数计算公式时会出现错误,除非重新输入

    我在工作表中设置了一个简单的 if 语句 其中 if 条件是 VBA 用户定义的函数 Function CellIsFormula ByRef rng CellIsFormula rng 1 HasFormula End Function
  • 将超过 550000 行的巨大 CSV 文件导入 Access

    我有一个包含 550 000 多行的 CSV 文件 我需要将此数据导入 Access 但当我尝试时 它会抛出文件太大 1 7GB 的错误 您能推荐一种将此文件导入 Access 的方法吗 尝试链接而不是导入 2003 年的 获取外部数据 g
  • react-native run-android 将旧版本的代码构建到设备上

    这种情况在生产和开发版本中都会发生 我可以连接到开发服务器 重新加载 然后构建新代码并在设备上运行 我尝试过的一步一步 修改代码 重新捆绑 react native bundle platform android dev false ent
  • K8s coredns 和 flannel 名称服务器超出限制[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我一直在尝试在单个节点中设置 k8s 一切都安装得很好 但是当我检查 kube system pod 的状态时 CNI gt 法兰绒吊