问题标签 [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.
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 不会返回:
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 的机制之外,还有更直接的方法吗?
dns - 在不写 RC 的情况下设置 SKYDNS_NAMESERVERS
我想kube-dns
在kube-system
命名空间中添加额外的名称服务器(此处提供的解决方案:https ://stackoverflow.com/a/34085756/2461761 ),但是以自动方式执行此操作。
所以我知道我可以通过https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns创建自己的 dns 插件并在系统的命名空间中启动它,但是,我试图提供一个简单的脚本让开发人员使用内置的 DNS 解析来启动他们自己的集群,并且不希望他们关心系统命名空间。
有没有办法修改/设置SKYDNS_NAMESERVERS
环境变量而不必复制复制控制器?
或者甚至通过命令设置它并重新启动kube-dns
部署的 pod?
先感谢您。
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 集群的外部?
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
有人可以帮助我吗?我做错了什么?
我将不胜感激任何帮助,我该如何解决它!
谢谢!
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 主节点进行授权。我什至尝试进行手动调用:
kubernetes - 禁用 https 并更改 SKyDNS 的端口
我目前有 SkyDNS 正在尝试通过 HTTPS 连接并使用 port 443
。
我希望它改用 HTTP 和端口 8080。
我的 YAML 文件是:
我知道这可能不是一个有利的设计,但有没有办法可以更改协议和端口?
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 地址?
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.1
、127.0.0.11
和 配置中指定的 skydns IP 172.40.0.2:53
:
但是 nginx 还不能解析 URL。
我应该在 nginx 配置的解析器字段中为 kubernetes 和 skydns 配置指定什么 IP?
请记住,我们没有 kube-dns。
谢谢你。