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

docker - 如何同时运行 2 个 SkyDns/Skydock 环境?

参考:https ://github.com/crosbymichael/skydock https://github.com/crosbymichael/skydns

首先,我启动了这两个实例。

此设置按预期工作。

现在我想生成另一个生产环境。这一次我只用 env 制作了另一个 skydock 容器,如下所示。

查询 api 不显示生产 skydoc。

现在我想知道如何设置skydock的生产版本。

我必须在单独的 docker-host 中运行吗?如果我在同一个 docker 主机中启动,新容器将在哪个 DNS url 条目中可用?当我启动新容器以在生产环境中可用时,我是否必须传递一些标志/变量?

0 投票
1 回答
214 浏览

go - Golang 无法更改导入模块的名称

我正试图让SkyDNSv1起死回生,并从我的 fork 构建它(这里是Dockerfile)。SkyDNS 是一个非常好的和简单的快速服务发现工具,但它很长时间没有更新。

构建过程中存在错误,它是由第三方库引起的。我无法弄清楚为什么会这样:

但是如果你查看导致这个错误的文件,你会注意到 Golang 对influxdb/client. 我认为编译器不会像应该那样client替换导入的名称:influxClient

可能我只是错过了一个明显的错误。任何帮助将不胜感激。

0 投票
1 回答
197 浏览

docker - 如何从另一个容器通过 172.17.42.1:53:53/udp (docker0) 的暴露端口访问容器 (SkyDns)?Docker 1.7.1、Centos 7

我正在尝试在一个 docker 主机中为多个容器设置 SkyDNS/SkyDock。所以每个容器都应该使用 172.17.42.1 (/etc/resolv.conf) 的 dns。

我遵循了README.md 中的设置部分:

和测试通过

它不工作。我可以从“redis-cli”容器主机 172.17.42.1 ping,但无法访问 172.17.42.1:53/udp。

有什么建议么?

0 投票
0 回答
1919 浏览

kubernetes - 名称或服务未知 [tcp://redis-slave:6379]

使用 Kube-Sky 插件运行 Guestbook Kubernetes 应用程序。在留言簿应用程序页面上,我在 JavaScript 控制台中收到此错误:

以下是我可以在我的设置中找到的与 DNS 相关的所有更改(与提供的模板相比):

0 投票
1 回答
2242 浏览

dns - Kubernetes 多集群服务发现

涉及 如何从同一项目中的另一个 Kubernetes 集群调用 Kubernetes 集群公开的服务

自从 Kubernetes 自 7 月以来发生了很大变化,再次询问。

语境:

我正在开发具有多个服务于不同目的的集群的基础架构,例如:

  • 集群 A 运行服务/应用程序,为消费创建数据
  • 集群 B 运行服务/应用程序,使用集群 A 中的应用程序创建的数据
  • Cluster C 运行 Redis、Memcache 等数据服务。

所有集群都在default命名空间中。

问题:

在 Kubernetes 中,每个集群都有自己的 kubernetes(在default命名空间中)和 kube-dns(在kube-system命名空间中)具有不同 IP 的服务。

这种设置发生的情况是,上面集群 A 和 B 中的服务无法发现(在服务发现术语中),比如说集群 C 中的 Redis。所以nslookup redis.default.svc.cluster.local集群 A/B 中的一个服务中的 a 会返回** server can't find redis.default.svc.cluster.local: NXDOMAIN. 注意:这适用于集群 C。

我已经阅读了尽可能多的关于 kube-dns 的文档,并且几乎都假设一个集群设置。

集群信息:

以下是/etc/resolv.conf两个不同的集群,它们显示了没有共同 kube-dns 祖先的 DNS 名称服务器:

集群 A:

集群 C:

两个集群都在kube-system命名空间中使用它们各自的 IP 运行这些服务:

这个设置的理想修复/更新是什么,可以在 GCE 环境中的所有 Kubernetes 集群中发现共享服务?

0 投票
2 回答
2014 浏览

docker - SkyDNS 不适用于 Kubernetes 1.1.2

我在 CoreOS alpha (877.1.0) 上成功安装了 Kubernetes 1.1.2 将服务文件作为链接https://gist.github.com/thanhson1085/5a005e92245cb2288dee

之后,我想为我的 Kubernetes 即服务发现运行 SkyDNS AddOn。我遵循了这个指南:https ://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns

但它不起作用:

如果我查找全局域,它会起作用:

日志:

kube2sky 日志:

以下是我的安装信息:

查看 Kubelet 服务状态:

请帮我修复它。在这种情况下,我可以使用 Consul 来放置 SkyDNS 吗?

0 投票
1 回答
4323 浏览

docker - Kubernetes:spec.clusterIP:无效值?

是否提示,什么在kubernetes中链接了这条消息:

那时DNS_SERVICE_IP = 10.3.0.10,和SERVICE_IP_RANGE = 10.3.0.0/16

我的IP地址:

0 投票
1 回答
1349 浏览

docker - Kubernetes 子域上的访问服务

我有以下设置:

  • 私有 OpenStack 云- o̲n̲l̲y̲ Web UI (Horizo​​n) 可访问
    (API 受到限制,但也许我可以访问)
  • 我使用CoreOS设置了一个节点和三个节点
  • 资源是标准化的(作为 OpenStack 的默认设置)
  • 我遵循了GitHub 上的 CoreOS 入门指南(即我使用默认的 YAML 来提供云配置)

当我阅读诸如 Web UI (kube-ui) 之类的扩展时,可以将其添加为附加组件 - 我已添加(仅 kube-ui)。

现在,如果我运行诸如 simple-nginx 之类的测试,我会得到以下输出:

创建豆荚:

创建服务:

获取服务信息:

我可以从节点的每个(!)外部 IP 访问我的服务。

我现在的问题如下:

如何使用子域访问任何已启动的服务以太网,因此如何设置此配置(例如,我有 domain.com 作为示例)或者它是否可以打印在我必须访问我的服务的节点 IP 上(尽管我有只有两个副本(?!))?

为了更容易理解地描述我的想法,我的意思是:

  • 给定域:domain.com(指向主控)
  • 启动服务simple-nginx
  • 可以使用simple-nginx.domain.com访问服务
0 投票
1 回答
198 浏览

docker - 守护程序集中的 SkyDNS 和本地 DNS 解析

我们正在考虑在每个带有守护程序集或静态 pod(通过 Kubernetes 清单)的 Kubernetes 主机上运行 SkyDNS。我们想让每个容器都使用本地 SkyDNS,故意绕过 Kubernetes 集群 IP / kube-proxy 路由。实现此目的的一种方法是将 DNS 端口 53 从 SkyDNS pod 映射到每个主机,并强制每个容器在主机上解析。可能是通过在 systemd 单元中使用 --cluster-dns 以某种方式将 docker 网桥 IP 传递给 kubelet。

是否有更好的选择来实现相同的目标?

谢谢,安德烈

0 投票
5 回答
16849 浏览

kubernetes - 无法从 pod 内部 ping ClusterIP,并且 DNS 不适用于 google.com 等外部域

我已经在 Bare-metal/Ubuntu 上安装了 Kubernetes。我6b649d7f9f2b09ca8b0dd8c0d3e14dcb255432d1在 git 中提交。我用cd kubernetes/cluster; KUBERNETES_PROVIDER=ubuntu ./kube-up.sh后面跟着cd kubernetes/cluster/ubuntu; ./deployAddons.sh来启动集群。一切都很顺利,集群起来了。

/ubuntu/config-default.sh的如下:

然后,我使用以下 yml 文件创建了一个 pod:

以及使用以下 yml 的服务:

然后,我使用docker exec -it [CONTAINER_ID] bash. 主要有两个问题:

  1. 我无法 ping google.com 之类的外部域,但我可以 ping 8.8.8.8 之类的外部 IP。所以容器可以访问互联网。
  2. 内部服务解析为更正内部 ClusterIP,但我无法从容器内部 ping 该 IP。

主机/etc/resolve.conf文件如下:

容器的/etc/resolve.conf文件如下:

关于第一个问题,我认为它可能与 SkyDNS 名称服务器配置错误或我必须做但我不知道的自定义配置有关。

但是,我不知道为什么容器无法 ping ClusterIP。

任何解决方法?