问题标签 [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 - 来自服务器的错误(BadRequest):容器 healthz 对 pod kube-dns-2425271678-cqm2n 无效
环境:
Kubernetes 版本(使用 kubectl 版本):v1.7.0
云提供商或硬件配置**:
操作系统(例如来自 /etc/os-release):CentOS 7
内核(例如 uname -a):Linux k8s-master 3.10.0-514.6 .2.el7.x86_64
安装工具:Kubeadm
其他: docker
版本:Docker 版本 1.12.6,
我的 RPM 版本: docker-
1.12.6-16.el7.centos.x86_64.rpm
kubectl-1.7.0-0.x86_64。 rpm
kubernetes-cni-0.5.1-0.x86_64.rpm
kubeadm-1.7.0-0.x86_64.rpm
kubelet-1.7.0-0.x86_64.rpm
这个命令来自官方文档,但似乎我的集群没有 healthz 容器,我错过了什么吗?
kubernetes - kube-dns 保留在“ContainerCreating”中
我手动安装了 k8s-1.6.6,并在裸机(ubuntu 16.04)上部署了 calico-2.3(使用 etcd-3.0.17 和 kube-apiserver)和 kube-dns。
没有 RBAC 就没有任何问题。
但是,在通过向 kube-apiserver 添加“--authorization-mode=RBAC”来应用 RBAC 之后。我无法应用状态仍为“ContainerCreating”的 kube-dns。
我检查了“kubectl describe pod kube-dns..”
我的 kubelet
我的 kube-apiserver
kubernetes - kube-system 命名空间和 kubedns 有什么限制吗?
我试图理解为什么我在带有 kube-system 和另一个命名空间的 Kubedns 上没有相同的行为。
例如,对于这种 pod:
如果我尝试使用 kube-system 命名空间上的这个 pod 访问 dns 服务,它会失败。但是,如果我使用另一个命名空间,它可以工作。
当然,我正在尝试将服务名称定位在与 pod 相同的命名空间中。
知道为什么它在 kube 系统上失败了吗?
kubernetes - kube-dns的srv记录的含义
出于某种原因,我需要在 kube-dns 中获取 srv 记录,以下是我得到的
主机devo-ui-37mmn是我的 pod 之一,查询字符串devo-ui.dev.svc.cluster.local是 kubernetes 中的服务,而 devo-ui-37mmn 是连接到该服务。
所以我认为记录3339386563373339.devo-ui.dev.svc.cluster.local。是同一个吊舱,但是数字数据“ 3339386563373339 ”是什么意思以及如何将数字转换为人类可读的数据,谢谢。
minikube - 如何从 minikube 解析 Kubernetes API?
我似乎无法从 minikube 机器中找到 Kubernetes API IP 地址,使用minikube ssh
.
同样的事情发生在 just 上kubernetes
。即使 kube-dns pod 似乎可以正常运行,也会发生这种情况:
cluster-info 中没有 KubeDNS 信息(但转储中没有任何主要内容):
kubectl 的版本:
和迷你库:
这发生在 OSX 上,并且都使用 xhyve 和 virtualbox 作为驱动程序。
minikube 问题跟踪器中有很多 minikube/dns 问题,但没有一个像这样。kubectl cluster-info
具有 kube-dns 工作的 minikube的输出应该是什么样的?怎么样nslookup
,不应该工作吗?
编辑。minikube似乎kubectl cluster-info
正在返回它应该返回的内容,但我什至无法从 kube-dns pod 内部解析 kubernetes:
哪个真的应该工作?
raspberry-pi - Kubernetes“没有可用于服务“kube-dns”的端点”
所以我有一个运行在 3 个运行 HypriotOS 的树莓派上的 3 节点 kubernetes 集群。自从启动和加入节点以来,我没有做任何事情,除了安装 weave。但是,当我输入时kubectl cluster-info
,我会看到两个选项,
当我卷曲第二个网址时,我得到以下响应:
这是有关我的集群状态的更多信息。
我无法弄清楚这里发生了什么,因为除了按照此处的说明进行操作外,我什么也没做。这个问题在多个版本的 kubernetes 以及多个网络覆盖(包括 flannel)之间一直存在。所以它开始让我认为这是 rpi 本身的一些问题。
nginx - Nginx 不反映代理服务器
在 kubernetes 上尝试使用 nginx 来访问在不同端口上运行的服务。
最初,当所有服务部署完毕并最后部署 nginx 时,我看到一切正常。
如果任何服务更新/重新启动,nginx 将无法访问该特定服务。
并且只有当我通过重启 nginx 时才能访问该服务
无论如何让 nginx 检测/轮询以反映服务重新启动(使用 DNS 的服务发现)
kubernetes - Zookeeper:主机名解析失败
我在 OpenShift/Kubernetes 环境中运行 Zookeeper。StatefulSet
为了可靠地持久化配置数据,我已经设置了 zookeeper 。
我在我zoo.cfg
的主机名中配置了三台服务器,但在启动时,主机名解析失败。我验证了主机名确实可以在集群中使用 nslookup 解析。
动物园.cfg:
我的 OpenShift / Kubernetes 配置的相关部分:
但是, OpenShift 日志显示UnknownHostException
s:
可能是什么原因?我验证了主机名(例如zookeeper-2.zookeeper-headless
)可从其他 pod 通过nslookup
.
amazon-ec2 - 出站连接间歇性无法响应
我在进行诸如 RPC 调用之类的出站连接时遇到间歇性响应失败,它由我的应用程序 (Java) 记录,如下所示:
org.apache.http.NoHttpResponseException: RPC_SERVER.com:443 failed to respond !
出站连接流
Kubernetes Node -> ELB for internal NGINX -> internal NGINX ->[Upstream To]-> ELB RPC server -> RPC server instance
通常的 EC2 (AWS) 上不会出现此问题。
我可以通过这样做在我的本地主机上重现
- 在端口 9200 中运行作为客户端的主应用程序
- 在 9205 端口运行 RPC 服务器
- 客户端将使用端口 9202 与服务器建立连接
- 运行
$ socat TCP4-LISTEN:9202,reuseaddr TCP4:localhost:9205
它将侦听端口 9202,然后将其转发到 9205(RPC 服务器) - 使用在 iptables 上添加规则
$ sudo iptables -A INPUT -p tcp --dport 9202 -j DROP
- 触发 RPC 调用,它将返回与我之前描述的相同的错误消息
假设
由 kubernetes 上的 NAT 引起,据我所知,NAT 正在使用conntrack
,conntrack
如果 TCP 连接空闲一段时间会中断,客户端会假设连接仍然建立,尽管它不是。(CMIIW)
我也尝试过扩展kube-dns
到 10 个副本,但问题仍然存在。
节点规范
使用 calico 作为网络插件
$ sysctl -a | grep conntrack
Kubelet 配置
Kubectl 版本
Kube 代理日志
$ lsb_release -s -d
Ubuntu 16.04.3 LTS
dns - 启用了 kube-dns 插件,但没有可用的 kube-dns pod
我通过一些故障排除发现 kube-dns 在我的 minikube 集群中没有按预期工作。当我执行minikube addons list
命令时,我可以看到 kube-dns 插件已启用,并且还有一个 kube-dns 服务正在运行,但没有运行 kube-dns pod。
我尝试使用该kube-dns-controller.yaml
文件手动创建/部署,但我也收到验证该文件的错误:
关于我应该看什么来解决这个问题的任何想法?谢谢!
注意:我使用的是 minikube 版本 v0.19.1 和 kubernetes v1.5.2。