
contentful/coredns-nodecacheCoredns-nodecache 是基于 GitHub 仓库 构建的 Docker 镜像,实现了 Kubernetes 节点本地 DNS 缓存服务器功能。它将原 Kubernetes Node-local dns 附加组件中的 node-cache(CoreDNS 的包装器)重构为 CoreDNS 插件,旨在在 Kubernetes 集群的所有节点上运行 DNS 缓存服务,提升集群内 DNS 解析性能和可靠性。
基于 CoreDNS Plugin API 实现:仅依赖 CoreDNS 插件 API,确保版本间向后兼容,便于集成和使用最新版本的 CoreDNS(解决 kubernetes/dns #306 中版本兼容问题)。
集中化配置管理:所有配置通过 CoreDNS 配置文件(Corefile)完成,无需将配置拆分到 Corefile 和命令行参数,简化配置维护流程。
多配置块支持:可在多个 CoreDNS 配置块中使用,每个配置块需配合 bind 指令指定监听地址,coredns-nodecache 会自动为每个块将 bind 地址添加到虚拟网络接口,并为该地址和端口创建 iptables 规则。
适用于 Kubernetes 集群环境,需在所有节点部署本地 DNS 缓存以:
Docker Hub 镜像地址:contentful/coredns-nodecache
通过在 CoreDNS 配置文件(Corefile)的配置块中添加 nodecache 指令启用插件。每个配置块需配合 bind 指令指定监听地址,nodecache 会自动处理虚拟接口和 iptables 规则配置。
以下是包含两个 nodecache 配置块的 Corefile 示例:
.:5300 { bind 168.255.10.20 # 指定监听地址 nodecache # 启用 nodecache 插件 forward . 1.1.1.1:53 { # 转发 DNS 查询到上游 DNS 服务器 force_tcp # 强制使用 TCP 协议 } } .:5301 { bind 168.255.10.25 # 另一个监听地址 nodecache # 启用 nodecache 插件 forward . 1.1.1.1:53 { force_tcp } }
配置说明:
168.255.10.20,启用 nodecache 并转发查询到上游 DNS 服务器 1.1.1.1:53;168.255.10.25,同样启用 nodecache 并转发查询到相同上游服务器;nodecache 会自动为两个配置块的 bind 地址创建虚拟接口,并为 168.255.10.20:5300 和 168.255.10.25:5301 创建 iptables 规则。在 Kubernetes 集群中部署时,需:
nodecache 配置的 Corefile 挂载到 coredns-nodecache 容器中;CAP_NET_ADMIN 等 capabilities),以创建虚拟接口和配置 iptables 规则;contentful/coredns-nodecache,并调整 Corefile 配置。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务