【问题标题】:ibm-cloud-private DNS or Internet issues from inside the pods来自 Pod 内部的 ibm-cloud-private DNS 或 Internet 问题
【发布时间】:2018-06-21 15:10:00
【问题描述】:

我一直在试验一个 ICP 实例 (ICP 2.1.0.2):1 个主节点和 2 个工作节点。

我注意到我的 ICP Kubernetes 集群中的 pod 没有出站 Internet 连接(或存在 DNS 查找问题)

例如,如果我在集群中启动了一个busybox pod,并尝试执行“nslookup github.com”或“ping google.com”......它失败了......

kubectl run curl --image=radial/busyboxplus:curl -i --tty

root@curl-545bbf5f9c-gssbg:/ ]$ nslookup github.com
Server:    10.0.0.10
Address 1: 10.0.0.10

nslookup: can't resolve 'github.com'

我检查并看到“kube-dns”(服务、pod、daemonset.extensions、daemonset.apps)似乎正在运行。

当我登录(例如 SSH)到 ICP 主节点和工作节点机器时,我能够成功 ping 这些外部站点。

关于如何解决此问题的任何建议?谢谢!

【问题讨论】:

    标签: ibm-cloud-private


    【解决方案1】:

    我们遇到了一种相反的问题 - 我们可以在 Internet 或其他域上查找任何内容,但不能在部署集群的域中查找。

    结果是关于 config.yaml 中 cluster_domain 和 cluster_CA_domain 含义的模糊文档。但作为一个优势,我们必须了解更多关于这些以及配置 kube-dns 的知识。

    基本上 cluster_domain 应该是集群的私有虚拟域,kube-dns 将对其具有权威性。它应该使用主机的 resolve.conf 名称服务器作为上游服务器的任何其他内容。如果您怀疑您的 DNS 服务器没有被用于公共 DNS,那么您可以更新 kube-dns configMap 以指定它应该使用的上游服务器。

    https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/

    这是假设您当然正确配置了cluster_domain,cluster_CA_domain。

    它们应该看起来像

    cluster_domain = mycluster.icp  <----- could be "Mickey-mouse" for all it matters
    cluster_CA_domain = icp.mycompany.com <----- the endpoint that portal/registry/api etc are accessible to users on
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多