问题标签 [skydns]

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

node.js - Node.JS 不查询本地 DNS

我刚刚在本地安装了 SkyDNS,但我没有从节点的 dns 查找中解析 IP 地址。我的 resolv.conf 只有一个条目:

nameserver 127.0.0.1

挖掘的结果:

当我尝试使用 Node 的 dns 查找解决时:

使用resolve4而不是lookup它可以工作,但是为什么lookup不能从本地dns解析这个地址呢?

0 投票
1 回答
1485 浏览

dns - Kubernetes DNS 在 Kubernetes 1.2 中失败

我正在尝试在 Centos 7 上的 Kubernetes 1.2 中设置 DNS 支持。根据文档,有两种方法可以做到这一点。第一个适用于“支持的 kubernetes 集群设置”并涉及设置环境变量:

我将这些设置添加到 /etc/kubernetes/config 并重新启动,但没有任何效果,所以要么我没有受支持的 kubernetes 集群设置(那是什么?),要么需要其他一些东西来设置它的环境。

第二种方法需要更多的手动设置。它向 kubelet 添加了两个标志,我通过更新 /etc/kubernetes/kubelet 来设置它们以包括:

并使用 重新启动 kubelet systemctl restart kubelet。然后有必要启动一个复制控制器和一个服务。上面引用的文档页面为此提供了几个模板文件,需要进行一些编辑,都用于本地更改(我的 Kubernetes API 服务器侦听主机名的实际 IP 地址而不是 127.0.0.1,因此有必要添加一个 -- kube-master-url 设置)并删除一些 Salt 依赖项。当我这样做时,复制控制器成功启动了四个容器,但 kube2sky 容器在完成初始化大约一分钟后终止:

我已经确定终止是由 healthz 容器在报告后完成的:

除此之外,所有其他日志看起来都正常。但是,有一个异常情况:在创建复制控制器时必须指定 --validate=false,否则该命令会收到以下消息:

这可能有关系吗?这些论点直接来自 Kubernetes 文档。如果没有,需要什么来运行它?

这是我使用的skydns-rc.yaml:

和skydns-svc.yaml:

0 投票
1 回答
6826 浏览

dns - kubernetes skydns 转发请求失败

我正在创建一个由 1 个主 2 个节点 kubernetes 组成的集群。我正在尝试根据以下内容创建skydns:

但是,skydns 吐出以下内容:

再看下去,我才明白什么是192.168.122.1?它是kvm上的虚拟交换机。为什么 skydns 试图访问我的虚拟交换机或虚拟机的 dns 服务器?

0 投票
1 回答
580 浏览

kubernetes - skydns 无法解析 kubernetes 集群中的 dns

我正在按照此模板http://kubernetes.io/docs/getting-started-guides/docker-multinode/skydns.yaml.in为 kubernetes 设置 skydns 。但它无法解析dns。在寻找解决方案后,还在 kube2sky 参数中添加了 -kube_master_url 但仍然是同样的问题。这是skydns日志:

任何指针?Kube2sky 日志:

0 投票
0 回答
3398 浏览

docker - 如何手动安装 kubernetes dns 插件(skydns、kube2sky 麻烦)

我按照https://coreos.com/kubernetes/docs/latest/deploy-addons.html上的说明通过创建 kubedns rc 和服务来手动安装 KubeDNS。

yaml如下:

然而,在创建资源检查状态返回后:

我已将其缩小为 etcd 错误:

我不知道为什么这不起作用,并且我无法执行到容器中以手动创建文件夹,因为它不会保持运行。

更新:

用过的:

Do not have permission to write to emptyDir绕过 etcd 错误,但我仍然无法启动 dns 服务,下面是 kube-dns pod 中容器的相关日志

skydns 的日志:

kube2sky 的日志:

healthz的日志:

etcd 的日志:

更新:

能够通过在上述 dns-addon.yml 中的 env 变量中对 master 进行硬编码来领先一步

现在我得到:

更新 好的,我能够使用 fqdn 即 http:// :8080 而不是 :8080 来完成这项工作。

我可以使用busybox pod并运行:

这可行,但是我注意到一些奇怪的行为,只要我从 pod 运行 dns 就可以运行:

我收到上述错误,但是在 kube dns 已调度到的节点上运行相同的命令它可以工作:

从集群中的另一个节点进行测试,我得到与主节点相同的错误:

什么可能是错的?

0 投票
1 回答
2546 浏览

dns - SkyDNS MissingClusterDNS in pods

I installed kubernetes 1.2.4 on 3 REHEL7 servers (no internet access, everything is pushed by ansible).

EDIT: See the end of the question

I've got everything working great excepting the kube-dns example given in documentation. I made several tests, several configuraiton, recreate the entire pods... And I always have this "MissingClusterDNS" error:

As you can see, kube-dns is running:

And kubelete has got correct options

Proof:

But, the DNS pod as a not running container:

And the log is explicit:

If you need more information:

If someone can help me to understand the problem...

Note I'm using https://github.com/kubernetes/kubernetes/tree/release-1.2/cluster/addons/dns rc and svc where I only changed:

  • clusterIp to a valid ip in my kubernetes ip range
  • cluster domain: kubernetes.local
  • cluster dns: 172.16.0.99

EDIT: The problem for the 3/4 kube-dns working comes from certificates. So I can confirm that SkyDNS is working now.

Using cluster-api-tester:

But others problems appear.

  • now "Using kubernetes API nil" instead of the good version
  • the busybox example from kubernetes documentation still won't resolv kubernetes.local

I will more investigate. But I resolved the skydns starting issue. Thanks

0 投票
2 回答
7348 浏览

dns - Kubernetes Kubelet 说 DNS 没有设置 MissingClusterDNS (SkyDNS)

我在 3 minons/master(1 个 master/minion,2 个 minions)上安装了 Kubernetes 1.2.4 并安装了 SkyDNS 插件。修复 SSL 证书问题后,我知道 SkyDNS 可以正常工作。但是kubeletes还是说我没有设置cluster-dns和cluster-domain。

(见底部的编辑)

但是你可以看到--cluster-dns=192.168.0.10 --cluster-domain=cluster.local

启动这个 pod:

我懂了:

我在启动此 pod 之前重新启动了 kubelete 服务,但我没有其他 pod 正在运行。

如果我使用“--dns”选项启动 docker 容器:

这绝对是正常的(我已经隐藏了我的客户端 dns)

但是 pod 说的是别的东西:

我试图为 docker 守护进程设置“--dns”选项,但错误是一样的。

查看该日志:

和:

“使用 kubernetes API <nil>”是个问题,不是吗? 编辑:我强制 pod 中的 kube-master-url 让 kube2sky 联系主人。

也要注意这一点:

所以我对skydns没有任何问题。

我确定问题来自 kubelet,我尝试删除 /var/lib/kubelet 并重新启动整个集群。我也尝试在安装 dns 之前和之后重新启动 kubelete 服务。我更改了 docker 配置,之后删除了“--dns”选项,我得到了相同的行为:Docker + dns 没问题,Kubelet 给出了一个 MissingClusterDNS 错误,说 kubelet 没有配置集群 dns。

所以请...帮助(再一次:))


编辑: - 现在 kube2sky 不会抱怨<nil>api 版本强制 kube2sky 选项 - 我可以强制 nslookup 使用我的天空 DNS:

但是“MissingClusterDNS”错误仍然存​​在于创建 pod 时,好像 kubelet 没有启动选项“--cluster-dns”和“--cluster-domain”

@布伦丹伯恩斯:

0 投票
1 回答
150 浏览

dns - 如何在谷歌容器引擎中启用 dns 插件?

我想为我的容器引擎集群启用 dns 插件。

如此处所述.. http://kubernetes.io/docs/user-guide/services/#dns

我如何真正启用这个集群范围,以便我可以自动发现我的服务,而不是每次重新启动服务时手动指定 IP 地址。

0 投票
1 回答
1532 浏览

kubernetes - DNS 插件 Kubernetes CentOS 7 集群

我一直在努力让 DNS 插件在 CentOS 7.2 集群上运行。我使用此处的说明安装了集群:http: //severalnines.com/blog/installing-kubernetes-cluster-minions-centos7-manage-pods-services

在此配置中,master 正在运行:etcd、kube-scheduler、kube-apiserver 和 kube-controller-manager。节点正在运行:docker、kubelet 和 kube-proxy 和 flanneld。集群在此配置中运行良好。豆荚,服务都在工作。下一步是尝试启用 DNS。

注意: 此集群不使用证书进行身份验证。

有几个关于如何做到这一点的“指南”,但它们似乎都不适用于这种类型的集群。

首先,请您帮我解决一些困惑。dns 插件容器在哪里运行?

  • 他们必须在Master上运行吗?
  • 它们可以像集群上的任何其他 pod 一样部署吗?

这是我到目前为止所尝试的:

Kubernetes 版本:从 yum 安装香草。

在下面的 sky-dns.yaml 文件中,我已将模板变量替换为 1 个副本集,将 DNS_DOMAIN 设置为“cluster.local”。根据 StackOverflow 上的一些建议,我向“/kube-dns”容器“--kube-master-url= http://10.2.1.245:8080 ”添加了一个命令行。

SkyDNS-rc.yaml(指向 kube-dns v18)

在每个节点(主节点和 3 个小节点)上,我更新了 /etc/kubernetes/conf 文件,在末尾添加了 DSN 部分(为完整起见,发布了完整文件)。

如果我使用上面的复制控制器,是否需要添加这些?

/etc/kubernetes/conf

这是我在部署 KubeDNS 时看到的。

日志:

0 投票
2 回答
1087 浏览

kubernetes - kube-dns does not work

I've created cluster(Centos 7) and deploy rc with kube-dns. Cluster works fine but kube-dns prints error in log.

apiserver: ### # kubernetes system config # # The following values are used to configure the kube-apiserver #

master config file:

Does anybody know what happen?)