问题标签 [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.
node.js - Node.JS 不查询本地 DNS
我刚刚在本地安装了 SkyDNS,但我没有从节点的 dns 查找中解析 IP 地址。我的 resolv.conf 只有一个条目:
nameserver 127.0.0.1
挖掘的结果:
当我尝试使用 Node 的 dns 查找解决时:
使用resolve4而不是lookup它可以工作,但是为什么lookup不能从本地dns解析这个地址呢?
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:
dns - kubernetes skydns 转发请求失败
我正在创建一个由 1 个主 2 个节点 kubernetes 组成的集群。我正在尝试根据以下内容创建skydns:
但是,skydns 吐出以下内容:
再看下去,我才明白什么是192.168.122.1?它是kvm上的虚拟交换机。为什么 skydns 试图访问我的虚拟交换机或虚拟机的 dns 服务器?
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 日志:
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 已调度到的节点上运行相同的命令它可以工作:
从集群中的另一个节点进行测试,我得到与主节点相同的错误:
什么可能是错的?
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
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
编辑:我强制 pod 中的 kube-master-url 让 kube2sky 联系主人。<nil>
”是个问题,不是吗?
也要注意这一点:
所以我对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”
@布伦丹伯恩斯:
dns - 如何在谷歌容器引擎中启用 dns 插件?
我想为我的容器引擎集群启用 dns 插件。
如此处所述.. http://kubernetes.io/docs/user-guide/services/#dns
我如何真正启用这个集群范围,以便我可以自动发现我的服务,而不是每次重新启动服务时手动指定 IP 地址。
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 时看到的。
日志:
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?)