问题标签 [kube-dns]

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 回答
521 浏览

load-balancing - kubernetes 集群内服务通信

我有一个复合服务 Sc,它消耗 2 个原子服务 Sa 和 Sb,其中所有三个服务都在 Kubernetes 集群中运行。什么是更好的模式

1) 将 Sa,Sb 创建为无头服务,并让 Sc 通过外部负载均衡器(如 NGINX+)与它们集成(使用 DNS 解析器来维护更新的后端 pod)

2)用clusterIP创建Sa,Sb,让Sc通过集群DNS(skyDNS插件)访问/解析它们。这将在内部利用基于 IP 表的负载平衡到 pod。

注意:我的 k8s 集群在自定义解决方案(本地虚拟机)上运行我们有许多复合服务,它们消耗 1 到多个原子服务(如上面的示例)。

编辑:在少数情况下,我还需要向外部网络公开服务,例如 Sb 需要从 Sc 和外部访问。在这种情况下,将 Sb 创建为无头服务会更有意义,否则 DNS 解析器将始终仅返回 clusterIP 地址,并且所有外部请求也将被路由到 clusterIP 地址。我的挑战是两种情况(内部与内部)相互冲突

示例:nginx-service(具有 clusterIP)和 nginx-headless-service(无头)

0 投票
2 回答
1143 浏览

docker - Kube-DNS 不起作用

我通过 docker - multinode 设置 k8s

DNS 正常启动

当我启动留言簿时,我注意到 dns 日志

但是 dns 查找不起作用

留言板信息报告

留言簿环境页面

我也尝试在 dns pod 中解决

为什么 kube-dns 不起作用?

0 投票
3 回答
331 浏览

kubernetes - 如何使用不是特定于 Kubernetes API 的主机的 IP 地址来设置 Kubernetes DNS?

我很难弄清楚如何获得 Kubernetes DNS(skydns,现在称为 kube-dns),以便 kube-dns 容器/pod 知道如何使用无论如何都可以工作的 IP 地址或主机连接到 API 服务器如果一个主节点出现故障,并且另一个 API 服务器在具有不同 IP 地址的主机上启动?

我曾尝试使用实际的 Kubernetes 服务,但它在端口 443 上运行,并且 kube-dns(以及以前的 kube2sky)无法连接到它。

除了拥有删除和重新创建 kube-dns pod 的机制之外,还有更直接的方法吗?

0 投票
2 回答
2192 浏览

kubernetes - kube-dns 和 weave-net 没有启动

我按照http://kubernetes.io/docs/getting-started-guides/kubeadm/上的说明在 Raspberry Pi 3 上的 Ubuntu 16 上部署 Kubernetes 1.4 。主人启动,仆从加入没问题,但是当我添加编织时,kubedns 不会启动。这是豆荚:

事件日志不显示任何内容。获取 kube-dns 的日志也没有得到任何东西。

我可以做些什么来调试?

0 投票
1 回答
109 浏览

dns - 在不写 RC 的情况下设置 SKYDNS_NAMESERVERS

我想kube-dnskube-system命名空间中添加额外的名称服务器(此处提供的解决方案:https ://stackoverflow.com/a/34085756/2461761 ),但是以自动方式执行此操作。

所以我知道我可以通过https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns创建自己的 dns 插件并在系统的命名空间中启动它,但是,我试图提供一个简单的脚本让开发人员使用内置的 DNS 解析来启动他们自己的集群,并且不希望他们关心系统命名空间。

有没有办法修改/设置SKYDNS_NAMESERVERS环境变量而不必复制复制控制器?

或者甚至通过命令设置它并重新启动kube-dns部署的 pod?

先感谢您。

0 投票
2 回答
3860 浏览

vagrant - 如何使用 kubeadm 和 Weave 让 kube-dns 在 Vagrant 集群中工作

我使用 Vagrant 部署了一些 VM 来测试 kubernetes:
master:4 个 CPU,4GB RAM
node-1:4 个 CPU,8GB RAM
基本映像:Centos/7。
网络:桥接。
主机操作系统:Centos 7.2

按照kubeadm 入门指南使用 kubeadm 部署 kubernetes 。将节点添加到集群并安装 Weave Net 后,很遗憾,我无法启动并运行 kube-dns,因为它处于 ContainerCreating 状态:

我认为这个问题在某种程度上与位于节点 1 上的 CrashloopBackoff 状态的 weave-net pod 有关:

列出在 node-1 上运行的容器给出

第一个容器的日志显示一些连接错误:

我缺乏 Kubernetes 和容器网络方面的经验来进一步解决这些问题,因此非常感谢一些提示。观察:所有 pod/nodes 都将其 IP 报告为 10.0.2.15,这是本地 Vagrant NAT 地址,而不是 VM 的实际 IP 地址。

0 投票
1 回答
12704 浏览

docker - kubernetes安装和kube-dns:打开/run/flannel/subnet.env:没有那个文件或目录

概述

kubeadm init和网络设置后kube-dns无法启动 (SetupNetworkError) :

Kubernetes 版本

环境

适用于 Mac 的 VMWare Fusion

操作系统

内核(例如 uname -a)

问题是什么

我期望发生的事情

kube-dns 运行

如何重现它

0 投票
1 回答
2117 浏览

amazon-web-services - 为 Kubernetes 本地 DNS 创建特定的 A 记录条目

我有一个在 AWS 中运行的 Kubernetes v1.4 集群,具有自动缩放节点。我还有一个 Mongo Replica Set 集群,其中包含仅 SSL 连接(FQDN 公用名)和公共 DNS 条目:

  • node1.mongo.example.com -> 1.1.1.1
  • node2.mongo.example.com -> 1.1.1.2
  • node3.mongo.example.com -> 1.1.1.3

Kubernetes 节点是允许访问 mongo 集群的安全组的一部分,但只能通过它们的私有 IP。

当查询公共 FQDN 时,有没有办法在 Kubernetes DNS 中使用私有 IP 创建 A 记录?

我尝试的第一件事是在启动时更新 /etc/hosts 的脚本和 ConfigMap 组合(参考。它是向 kube-dns 添加任意记录的一种方法吗?),但这是有问题的,因为其他 Kubernetes 服务也可能更新主机在不同的时间归档。

我还尝试了 Services & Enpoints 配置:

但这失败了,因为服务名称不能是 FQDN ...

0 投票
1 回答
100 浏览

kubernetes - kube-dns pod 和 service 仍然运行了一段时间然后突然死掉了

我尝试基于 ansible repo 设置一个 kubernetes dns 插件: https ://github.com/kubernetes/contrib/tree/master/ansible/roles/kubernetes-addons

运行 playbook 后,我既找不到 dns pod 也找不到服务。!!在做了一些讲座之后,(https://github.com/kubernetes/contrib/issues/886#issuecomment-216741889)看来我需要手动运行 rc.yml 和 svc.yml 。这就是我所做的。

不幸的是,dns pod 和服务仍然运行了一段时间,然后突然终止。

我试图在 pod 关闭之前检查一些日志:

etcd 日志

天空DNS日志

健康日志

kube2sky 日志

做错了什么??

0 投票
1 回答
392 浏览

kubernetes - kube-apiserver 是启动集群插件还是 kubelet?

我有一个 5 节点 kubernetes 集群,其中 3 个 HA 主机运行良好。不幸的是,据我所知,DNS 不工作或不作为服务存在。

api-server、controller-manager 和 scheduler 都在 pod 中运行,并且使用 quay 上的 hyperkube 1.4.6 映像正常工作。我在 /etc/kubernetes/addons 中的https://coreos.com/kubernetes/docs/latest/deploy-addons.html之后为 dns 服务创建了清单,但它们似乎没有效果。在这一点上,我的印象是 DNS 是内置在 kubernetes 中的,但我很难弄清楚它内置在什么组件中或如何启动它。

是否apiserver读取/etc/kubernetes/addons或 的内容kubelet?我想知道是否需要/etc/kubernetes/addonssapiserver pod.