问题标签 [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 回答
1357 浏览

dns - Kubernetes 无头服务 A Record round robin

我正在尝试创建两个 kubernetes 服务,一个是具有集群 IP 的负载均衡器,另一个是无头(无集群 IP),而是返回 pod ip 地址的 A 记录循环集合(因为它应该根据http://kubernetes.io/docs/user-guide/services/#headless-services做)。

我需要这样做,因为我需要一个动态的 pod ip 集合来进行自动集群和服务发现。

我的服务如下所示:

使用这两项服务,我得到以下信息:

集群 IP 的 DNS(来自另一个 pod)有效:

但是,“无头”服务的 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 投票
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 投票
1 回答
863 浏览

kubernetes - 如何防止 kube-dns 将请求转发到 8.8.8.8:53

如何防止 kube-dns 将请求转发到 Google 的名称服务器(8.8.8.8:53 和 8.8.4.4:53)?我只想启动 pod 仅供内部使用,这意味着 pod 中的容器根本不应该连接到外部。当 Zookeeper 客户端使用主机名(例如 zkCli.sh -server zk-1.zk-headless)连接到 Zookeeper 服务器时,客户端需要 10 秒才能将其状态从 [Connecting] 更改为 [Connected]。我怀疑 kube-dns 的原因是,使用 pod 的 IP 地址,客户端会立即连接。当我查看 kube-dns 的日志时,发现以下两行:

客户端开始连接服务器的时间大约是 07:25:30。

我在私有集群上运行 Kubernetes,内部服务器通过 http_proxy/https_proxy 与 Internet 通信,这意味着我无法连接到 8.8.8.8 进行名称解析,AFAIK。

我从https://github.com/skynetservices/skydns找到以下内容:

  • 名为SKYDNS_NAMESERVERS的环境变量的默认值为“ 8.8.8.8:53,8.8.4.4:53”
  • 我可以通过将no_rec设置为true来实现我的目的

我一直在使用 kubeadm 启动 Kubernetes,但找不到修改环境变量和设置 skydns 属性值的方法。

如何防止 kube-dns 将请求转发到由 kubeadm 部署的内部 Kubernetes 集群的外部?

0 投票
0 回答
827 浏览

dns - Openshift 1.4.1 和 DNS 解析

我是第一次安装 Openshift,需要一些帮助。我使用二进制文件安装并且它可以工作,除非我想进行构建并且它失败并出现正常的 DNS 解析错误(只是一个测试):

  • 操作系统:CentOS 7 更新,全新安装,使用网络而不是 NetworkManager
  • Openshift:起源,版本 1.4.1

  • 从构建记录

Cloning "https://github.com/openshift/cakephp-ex.git" ... error: build error: fatal: unable to access 'https://github.com/openshift/cakephp-ex.git/': Could not resolve host: github.com; Unknown error

  • 来自 ocadm 诊断的日志

`

`

  • 在主机上使用 dns 和解析进行一些测试:

`

`

  • 码头工人配置 ExecStart=/usr/bin/dockerd --dns 172.30.0.21 --storage-driver=overlay --insecure-registry 172.30.0.0/16

有人可以帮助我吗?我做错了什么?

我将不胜感激任何帮助,我该如何解决它!

谢谢!

0 投票
1 回答
237 浏览

dns - 无法在 Kubernetes 集群中设置服务 DNS

Kubernetes 版本 --> 1.5.2

我第一次为 Kubernetes 服务设置 DNS,我遇到了 SkyDNS。因此,按照文档,我的skydns-svc.yaml文件是:

我的skydns-rc.yaml文件是:

同样在我的奴才上,我更新了/etc/systemd/system/multi-user.target.wants/kubelet.service文件并在该部分下添加了以下ExecStart内容:

完成所有这些并成功提出rc& svc

这就是我从配置的角度得到的全部。现在为了测试我的设置,我下载了busybox并测试了一个nslookup

有什么我错过的吗?

编辑 ::

通过日志,我看到了一些可以解释为什么这不起作用的东西:

好像kubedns是无法对 K8S 主节点进行授权。我什至尝试进行手动调用:

0 投票
1 回答
62 浏览

kubernetes - 禁用 https 并更改 SKyDNS 的端口

我目前有 SkyDNS 正在尝试通过 HTTPS 连接并使用 port 443

我希望它改用 HTTP 和端口 8080。

我的 YAML 文件是:

我知道这可能不是一个有利的设计,但有没有办法可以更改协议和端口?

0 投票
1 回答
777 浏览

dns - 领事 DNS 和 Kubernetes

我正在运行在我的 Kubernetes 1.8.x 集群外部的 Consul 注册的服务器。Consul 在我的 Kube 集群(由 Helm 配置)中运行,并与外部 Consul 集群对等。Kube-dns 配置为使用内部 Consul pod 作为“stubDomains”,具有以下 ConfigMap:

当一切都按预期工作时,kube-dns 会解析外部 consul 域名。问题是当 Consul pod 崩溃并使用新 IP 地址重新启动时。

有没有办法从 Consul pod 崩溃中恢复,而无需手动更改 kube-dns ConfigMap 中列出的 IP 地址?

0 投票
1 回答
578 浏览

nginx - 用于 Kubernetes 的 Nginx 解析器与 skydns

我找不到让 nginx pod 解析另一个 kubernetes 服务 URL 的方法。

我没有使用 kube-dns,我们只使用 kube2sky 并且我们还不打算实现 kube-dns,所以我需要在这种情况下进行修复。

例如,我希望 nginx 解析服务 URL app.mynamespace.svc.skydns.local,但如果我对该 URL 运行 ping,它会成功解析。

我的 nginx 配置部分是:

我需要在变量中指定目标上游,因为即使目标不可用,我也希望 nginx 启动,如果我没有在变量中指定启动时 nginx 崩溃,因为上游需要可用且可解析。

我认为的问题是解析器值,我尝试使用127.0.0.1127.0.0.11和 配置中指定的 skydns IP 172.40.0.2:53

但是 nginx 还不能解析 URL。

我应该在 nginx 配置的解析器字段中为 kubernetes 和 skydns 配置指定什么 IP?

请记住,我们没有 kube-dns。

谢谢你。