问题标签 [coredns]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2402 浏览

kubernetes - 如何更新正在运行的 Kubernetes Pod 中的卷?

我有一个已经在 Minikube (v0.23.0) 节点上运行的 Kubernetes pod。

一些上下文:它是通过启用插件创建的 coredns pod。我正在阅读这篇博文,试图为我的 Kubernetes 集群设置自定义 DNS 条目:https ://coredns.io/2017/05/08/custom-dns-entries-for-kubernetes/

我可以毫无问题地替换配置图;我更改了博客文章中的模板规范以满足我的需要并运行:

这似乎奏效了;我使用 kubectl 检查了 configmap,一切看起来都很好。

但是我不确定如何更新卷。我试着把这样的东西放在一个文件中:

然后我尝试应用它:

但这给出了这个错误信息:

我还尝试将 coredns pod 的内容转储到文件中,相应地更改卷部分,然后替换 pod,但收到以下消息:

如果没有删除 pod 并将其恢复,我应该如何更新 Pod 中的卷?甚至可能吗?

我想另一个首要问题是:更新/配置corednspod/插件的正确方法是什么?我似乎无法在任何地方找到指南。在博客文章中,它说以下内容:

要创建新区域,我们需要修改coredns.yaml我们一直用来在 pod 中创建附加文件的文件。

然而,这一定是在 Kubernetes 中手动设置 coredns 时产生的,现在它作为插件“正常工作”,我不知道如何配置它。

0 投票
0 回答
1411 浏览

kubernetes - Kubernetes 仪表板 - 尽管对 Heapster 的初始请求成功,但未提供指标客户端

我目前正在使用 Kubeadm 在裸机设置上设置 Kubernetes。集群中的每台机器都运行 Ubuntu 16.04、Kubernetes 1.9 stable、CoreDNS 和 WeaveNet。

但是,当我尝试将 Heapster 连接到 Kubernetes 仪表板时 - 没有传递任何指标。Kubernetes Dashboard 和 Heapster 的日志如下所示。我发现的所有其他人似乎都只是有查找错误,但我已经确认我的 DNS 正在使用容器中的 nslookup 工作。此外,我的日志显示对 Heapster 的初始请求已得到确认。

我的日志中是否有任何突出显示我的设置不正确的地方?

赫普斯特日志:

Kubernetes 仪表板日志:

0 投票
2 回答
1479 浏览

kubernetes - 如何配置 kubernetes 从托管在同一集群/内部的注册表中提取容器映像

我正在尝试让我的 kubernetes 集群从在其内部运行的容器注册表服务中提取。我有 kube dns 设置,我有一个注册表部署和服务正在运行。我可以通过节点上的主机命令解析服务内部名称。我已经--dns使用 kube dns 服务的地址向 docker daemon 添加了标志。我也让 kubelet 运行,并将--cluster-dns标志设置为相同的地址。然而,当我尝试使用这个注册表创建一个 pod 时,不知何故这就是我得到的。

Failed to pull image "kube-registry.kube-system.svc.cluster.local/myuser/myimage": rpc error: code = Unknown desc = Error response from daemon: Get https://kube-registry.kube-system.svc.cluster.local/v1/_ping: dial tcp: lookup kube-registry.kube-system.svc.cluster.local: no such host

不知何故,即使将 kube dns 地址明确提供给 dockerd 和 kubelet,由于名称解析,从注册表服务中提取图像也会失败。我错过了什么?

0 投票
1 回答
171 浏览

dns - 使 coredns 响应依赖于 k8s 集群中的客户端命名空间

如何使 coredns 响应来自 k8s 集群中不同命名空间的同一域查询的不同 IP 地址?

我希望它的行为如下:

0 投票
4 回答
3259 浏览

docker - Kubernetes V1.11.0 HA 集群 CoreDNS PODS 没有出现

我正在尝试在 Centos 7 服务器中创建 Kubernetes V1.11.0 HA 集群。我在我的主机上禁用了 IPV6。

https://kubernetes.io/docs/setup/independent/high-availability/

基于这些步骤添加了所有三个主服务器,coreDNS POD 没有出现,它在 /var/log/messages 文件中不断记录错误。

错误信息:

如何修复此错误消息并带来 coreDNS POD?

谢谢

0 投票
1 回答
2232 浏览

kubernetes - 如何在 kubernetes 1.10+ 中查看 coredns 的上游服务器?

我有以下配置图

但我看不出它是从哪里获取上游 dns 服务器的。我最初使用 kube-dns 部署了这个 k8s 集群,但在 1.11 出来时更新为 coredns。我的上游服务器设置为 192.168.1.18,但我现在需要更改它。我检查了每个主机的 /etc/resolv.conf,那里没有列出 192.168.1.18,从这个 configmap 中,我也看不到它......但是如果我在 192.168.1.18 上停止 DNS,pod 就会停止对外解决。这个 IP 地址存储在哪里?

0 投票
0 回答
136 浏览

kubernetes - ARM Kubernetes V1.11.2 HA 集群 CoreDNS 不创建 Pod

为了更多地了解云技术,我正在尝试使用 6 个 Raspberry Pi 3 创建一个 Kubernetes 高可用性集群。目标是 3 个堆叠的 master 和 3 个 worker。

我已按照以下说明操作:https ://kubernetes.io/docs/setup/independent/high-availability/但每当我包含以下内容时:

在 kubeadm-config.yaml 中,我最终处于未部署 CoreDNS 服务的情况:

部署已安装,但由于某种原因,当我使用 controlPlaneEndpoint 指令时它没有被激活。

就好像它甚至没有尝试过一样。

如果我从 kubeadm-conf.yaml 中排除 controlPlaneEndpoint 指令,则它的部署正确,但是我无法添加其他 master 而不会出现 kube-controller-manager 和 kube-scheduler 的错误

在安装 CNI 插件之前,我希望 CoreDNS 变为“待处理”。

这让我发疯了。感觉离工作太近了!

欢迎任何指点。

谢谢,

//弗雷德里克

0 投票
1 回答
191 浏览

ssl - SSL 终止后本地 kubernetes 后端服务地址的 HTTPS 端点

我有一个位于负载均衡器后面的 k8s 集群。对 myapisite.com 的请求通过 LB 并由 k8s 路由到正确的部署,从 k8s 负载均衡器入口获取 SSL 证书,然后路由到服务入口,如下所示:

所以我的 myapisite.com 正确解析了 HTTPS。

我的问题是,在保持上述设置的同时(如果可能),我需要能够在 HTTPS 上访问同一命名空间内的本地服务端点,即从另一个 pod 我应该能够 curl 或 wget 没有以下内容证书错误:

https:\\myapisite.namespace.svc.cluster.local

即使我对在 pod 级别之前不终止 SSL 感兴趣,也不能在证书上为 .local 地址创建 SAN 条目,因此该解决方案不可行。

我是否缺少一些简单的方法来使所有本地 DNS 在 k8s 中受信任?或者这里有一些其他的解决方案,希望不是轮子的重新发明?我正在使用带有 CoreDNS 的 kubernetes 1.11 版。

谢谢,如果这是一个愚蠢的问题,请提前道歉。

0 投票
6 回答
30998 浏览

docker - CoreDNS 无法在 Kubernetes 集群中运行

我正在尝试设置 Kubernetes 集群,但无法运行 CoreDNS。我运行了以下命令来启动集群:

要检查 POD kubectl get pods --all-namespaces,我得到

所以CoreDNS不断崩溃。我能找到的唯一错误消息来自 /var/log/syslog

并从kubectl logs coredns-68fb79bcf6-6s5bp -n kube-system

我发现的一些解决方案是发布

并修改/etc/resolv.conf为指向实际的 DNS,而不是 localhost,我也尝试过。

该问题在https://kubernetes.io/docs/setup/independent/troubleshooting-kubeadm/#pods-in-runco ​​ntainererror-crashloopbackoff-or-error-state 中进行了描述,我尝试了许多不同的 Pod 网络但没有帮助。

我跑sudo kubeadm reset && rm -rf ~/.kube/ && sudo kubeadm init了好几次。

我正在运行 Ubuntu 16.04、Kubernetes 1.12 和 Docker 17.03。有任何想法吗?

0 投票
3 回答
486 浏览

dns - 从服务和 pod 的主机名中删除命名空间 (fqdn)

我正在为每个生命周期部署单独的 Kubernetes 集群,即一个用于开发的集群和一个用于生产的单独集群,并且将使用命名空间仅用于基于任务的应用程序的逻辑隔离,例如数据命名空间中的所有数据库、Web 命名空间中的 UI 应用程序等。

由于这种设计,服务或 pod 的 FQDN 中不需要命名空间,因为每个服务和部署都是唯一的。谁能建议我如何从主机名中删除命名空间,例如,如果默认命名空间中有一个名为 my-service 的服务,我想使用“my-service.svc.cluster.local”而不是“my -service.default.svc.cluster.local"

我正在运行 kubernetes 1.10 并使用 coreDNS。