Kubernetes 让KubeDNS工作的问题

Kubernetes 让KubeDNS工作的问题,kubernetes,kube-dns,fedora-25,Kubernetes,Kube Dns,Fedora 25,所以我不知道如何进行故障排除,但我已经做了一整天,到处寻找 我没法让库贝德吊舱工作。我正在部署安装在裸机上的Fedora 25。我目前在集群中只有一个盒子,kubelet在主机上运行。我不是在容器中运行kubelet或其他Kubernetes服务 当我尝试在kubernetes.default服务(nslookup kubernetes.default.svc.cluster.local 127.0.0.1和nslookup kubernetes.default.svc.cluster.loca

所以我不知道如何进行故障排除,但我已经做了一整天,到处寻找

我没法让库贝德吊舱工作。我正在部署安装在裸机上的Fedora 25。我目前在集群中只有一个盒子,kubelet在主机上运行。我不是在容器中运行kubelet或其他Kubernetes服务

当我尝试在kubernetes.default服务(
nslookup kubernetes.default.svc.cluster.local 127.0.0.1
nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053
)上的kubedns容器内运行DNS查找时,它失败

我最终在kube apiserver日志中发现了如下消息,这些消息在我尝试查找时按时间排列:

kube apiserver[20876]:E0315 01:09:16.134237 20876代理。go:193]将数据从客户端代理到后端时出错:写入tcp 192.168.1.203:33074->192.168.1.203:10250:写入:断管

我使用的服务和replicationcontroller配置来自,其中
clusterIP
设置明显更改以匹配我的环境


我真的不确定在故障排除方面还有什么地方可以看,所以非常感谢您的帮助。我将发布任何有用的配置,但我认为猜测这些配置是什么并不是毫无用处的。

我通过一些尝试和错误解决了这个问题

在遵循Fedora的裸机节点设置指南之后,问题在于我没有为kube apiserver配置TLS

这些选项都是必需的(很久以前就修好了,我不记得遗漏了哪些选项):

  • --服务帐户密钥文件
  • --tls证书文件
  • --tls私钥文件
  • --客户端ca文件

您使用的是什么吊舱网络?你能连接到所有的吊舱吗?我用法兰绒做我的网络。我在这里浏览了指南——在设置它时,对我自己的命名约定进行了调整,并将主节点和一个节点放在同一个框中。通过ping检查,我没有与其他pod的连接。经过两天的故障排除,我唯一的想法来自以下日志消息:
kube-apiserver[27115]:I0315 18:40:06.628204 27115日志。go:41]http:TLS握手错误来自172.16.40.7:47094:远程错误:TLS:bad-certificate,kube dns无法通过kube apiserver进行身份验证。但是,我找不到任何关于如何向kube dns提供令牌、密码或其他任何东西以向kube-apiserver进行身份验证的文档。由于您似乎正在使用https,您可能需要尝试在容器中装载kubeconfig文件,然后将其作为参数传递给kubedns命令。这修复了我的SSL错误,尽管我的kubedns is版本比链接页面中的版本更新。此kubeconfig应包含API服务器url/ip和一些凭据。