问题标签 [kube-dns]
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.
kubernetes - Kubernetes 上的服务发现
dns - 使用自定义 kube-dns 配置映射时,Pod 似乎没有接收上游 dns 或存根域
我在 kube-system NS 中设置了一个名为 kube-dns 的配置映射,其中包含一些自定义上游 DNS 条目(其中 3 个),但是当我的容器/pod 没有在其 resolv.conf 文件中继承这些自定义 DNS 条目时我通过一个简单的部署来安排它们。
我在 kube-dns pod 中的日志似乎没有指向配置映射的名称(它看起来像一个空字符串)。这可能是问题吗?
添加自定义配置映射后,我确实删除了 kube-dns pod,并允许现有的 kube-dns 部署重新创建 pod(有 2 x 组 kube-dns pod 被终止并重新创建) .
我使用本指南来设置我的配置映射(我是一篇关于 1.6 引入的功能的博客文章):
https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#configmap-options
http://blog.kubernetes.io/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes.html
这是我的配置图:
我是否需要在其他地方指定 kube-dns 的部署引用配置映射的名称?在 pod 日志中,我可以看到配置映射名称的标志似乎是一个空字符串。
我在删除旧 pod 后查看的新 kubedns pod 的日志说(注意第 5 行是我看到空字符串引用的地方):
我正在对此进行测试的 pod 设置为使用 ClusterFirst DNS 类型,这是文档所说我需要它才能工作的内容。
任何关于在哪里寻找问题的建议或指示都将受到欢迎。
docker - Kubernetes kube-dns 在 crashloop 中暂停容器,错误添加网络:Statfs 失败\“/proc/54226/ns/net\”:
我有一个 Kubernetes onebox 部署,其中包含以下(容器化)组件,所有组件都运行为--net=host
,kubelet 作为特权 Docker 容器运行,并将 kubernetes 标志--allow-privileged
设置为 true。
最重要的是,我启用了插件管理器kubectl create -f https://github.com/kubernetes/kubernetes/blob/master/test/kubemark/resources/manifests/kube-addon-manager.yaml
,并将 calico 2.6.1 和 kube-dns 1.14.5 的默认 yaml 清单安装到/etc/kubernetes/addons/
. calico pod 按预期提供了两个节点(install-cni 和 calico-node)。
但是,kube-dns 卡在 ContainerCreating 或 ContainerCannotRun 中,在尝试启动 Kubernetes 暂停容器时出现以下错误:
我看到 \pause 容器不断出现,只是在一秒钟后退出,并带有一个无害的错误消息(这个是旧的,我停止了集群,所以它不会继续产生更多的容器):
/proc/54226
我的主机上不存在该目录,我认为这就是 CNI 抱怨的原因。但是 Calico 的暂停容器很好,运行相同的图像,所以必须要么只在 kube-dns 的情况下无法写入,要么在 Calico 的情况下不尝试写入。我在 Openshift 上发现了一些与 SELinux 相关的类似错误的引用,但我运行的是一个裸机 Ubuntu 14.04 VM,甚至没有安装 SELinux。
我的 CNI conf 也很简单,由 install-cni calico 容器生成:
有没有人碰到类似的东西?
azure - 无法进入 Kubernetes pod。来自服务器的错误:错误拨号后端:拨号 tcp:在 168.63.129.16:53 上查找(节点主机名):没有这样的主机
我们在 Azure 公共云中使用 ACS 引擎部署了一个 K8S 集群。我们能够创建部署和服务,但是当我们使用“ kubectl exec -ti (pod name) (command) ”进入 pod 时,我们收到以下错误,
来自服务器的错误:错误拨号后端:拨号 tcp:在 168.63.129.16:53 上查找(节点主机名):没有这样的主机
我查看了整个互联网并尽我所能来解决这个问题,但到目前为止还没有运气。操作系统是 Ubuntu,168.63.129.16 是 Azure 用于 DNS 的公共 IP。(请参阅下面的链接)
https://blogs.msdn.microsoft.com/mast/2015/05/18/what-is-the-ip-address-168-63-129-16/
我已经将主机条目添加到/etc/hosts和条目到主/节点服务器的resolv.conf和 nslookup 解决相同的问题。我还通过向 kubelet 添加--resolv-conf标志进行了测试,但仍然失败。我希望这个社区的人可以帮助我们解决这个问题。
ip - 无法连接作为无头服务创建的 Kubernetes 端点 IP
创建了一个无头服务:
myapp-service-headless.yaml
将其创建到 Kubernetes 集群后,检查其服务状态:
尝试连接172.17.0.11:8000
or 172.17.0.9:8000
,挂起,没有结果。
这里使用kube-dns
:myapp-service-headless.default.svc.cluster.local
在应用程序中。现在它在 pod 的容器中。
那么如何通过 API 从其他应用程序连接到这些应用程序呢?可以使用哪个IP?
dns - Kubernetes 上的多代理 Kafka 如何设置 KAFKA_ADVERTISED_HOST_NAME
我当前具有 3 个 Kafka 代理的 Kafka 部署文件如下所示:
这将创建 3 个 Kafka 代理作为有状态集,并使用具有 FQDN(完全限定域名)的 Kubedns 服务连接到 Zookeeper 集群,例如:
Broker ID 是根据 pod 名称生成的:
结果:
但是,为了使用 Kafka 代理的 Kubedns 名称:
我需要能够KAFKA_ADVERTISED_HOST_NAME
根据 pod 的名称将变量设置为上述 FQDN 值。
目前我将变量设置为 pod 的名称:
结果:
但不知何故,我需要附加 DNS 名称的其余部分。
有没有办法直接设置 DNS 值?
像这样的东西:
dns - 如何解决busybox和kube-dns之间无法访问的udp端口
如何解决此问题?
我有一个 Kubernetes 的手动设置,它用作集群内部 DNS,coredns。已经部署了一个 busybox pod 来对kubernetes.default进行 nslookup 。
查找失败并显示消息nslookup: can't resolve 'kubernetes.default。为了更深入地了解查找过程中发生的情况,我使用 tcpdump 从我的 busybox pod 中检查了网络流量。这表明我的 pod 可以成功连接到 coredns pod,但 coredns pod 将无法连接回来:
集群基础设施
Busybox IP
EndPoints IP 查看 DNS IP 和端口
kubernetes - 带有 weave 的 kube-dns 无法查找服务
我在我的 Fedora 机器上用一个 vagrant 节点创建了一个 kubeadm (Kubernetes 1.8) 集群。集群运行良好,但我在测试 dns 时遇到了一个奇怪的问题:
在 mynamespace 命名空间中运行的服务的默认命名空间中,busybox pod 中的 nslookup 工作正常,但似乎当我尝试对同一自定义命名空间(mynamespace)中的服务进行 nslookup 时,dns 首先无法解析,但随后解析. 我在这里想念什么?
任何帮助将不胜感激。
minikube - 如何配置 kubernetes kub-dns 访问外网?
我通过 windows minikube 尝试了示例。
在 minikube ssh,我可以 ping google.com。
但在容器内,我无法 ping yahoo.com,我该怎么办?
请需要帮助。
问候。
kubernetes - 通过域名连接mongo服务
我从 *.yaml 创建部署和服务。在容器中,我通过nslookup
or找到 ns 记录dig
,但无法通过服务名称或服务 IP 连接到 db。
任何人都可以告诉我,我做错了什么?
环境:
Minikube 版本:
操作系统(例如来自 /etc/os-release):
虚拟机驱动程序(例如cat ~/.minikube/machines/minikube/config.json | grep DriverName
):
ISO 版本(例如cat ~/.minikube/machines/minikube/config.json | grep -i ISO
或minikube ssh cat /etc/VERSION
):
DNS 日志
边车
dnsmasq
库本
发生了什么:不能ping
或traceroute
通过服务名称或 IP 服务。
您期望发生的事情:
ping
通过服务名称到服务。
如何重现它(尽可能最小和精确):
默认命名空间
kube 系统
解析.conf
nslookup 测试
ping 测试
跟踪路由测试(好的)
测试 nslookup
测试ping
测试跟踪路由(坏)
跟踪路由 IP(坏)
来自节点的 iptables
mongo-deployment.yaml
mongo-service.yaml
mongo-volume0-persistentvolume.yaml
mongo-claim0-persistentvolumeclaim.yaml
但是,如果我通过 ssh 隧道连接到容器 mongo,它可以工作:
我的操作系统信息:
例如 up mongo 连接到minikube和Kernel 4.9.13 ...
=====
更新日期 2017/12/22
现在创建两个带有 mongo 的 pod into (mongo
和mongo2
)。从mongo2
实例我可以通过 dns 名称mongo.default.svc.cluster.local:27017
连接,而不是通过服务 IP 连接。但是从mongo
实例中我无法通过mongo2.default.svc.cluster.local
.
附加到mongo2
pod 并连接到 db mongo
pod。