Kubernetes不能从没有FQDN的其他名称空间解析Pod

问题描述 投票:0回答:2

假设我们有两个命名空间namespace-anamespace-b

Pod pod-nameDeployment中运行,并通过Service上的service-name在内部显示为ClusterIP namespace-a。 Kubernetes 1.17群集具有群集域名cluster-domaincluster-domain不是默认的cluster.local

batman上的另一个Pod namespace-b尝试解析pod-name的IP地址。

  1. batman中的以下作品:ping/telnet pod-name.service-name.namespace-a.svc.cluster-domain
  2. 以下无效batman开始工作:ping/telnet pod-name.service-name.namespace-a.svc

但是,如果batmannamespace-a上运行:3.以下[[does从batman开始工作:ping/telnet pod-name.service-name.namespace-a.svc

这与DNS配置有关吗?这是应该如何工作的吗?我找不到有关此问题的任何具体材料。
kubernetes service dns pod
2个回答
0
投票
如果要使用cluster.domain而不是默认的cluster.local,则需要在kubelet中使用标志--cluster-domain=cluster.domain配置本地域>

此外,您还需要修改CoreDNS Corefile的ConfigMap来更改默认值

apiVersion: v1 kind: ConfigMap metadata: name: coredns namespace: kube-system data: Corefile: | .:53 { errors health { lameduck 5s } ready kubernetes cluster.domain in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa ttl 30 } prometheus :9153 forward . /etc/resolv.conf cache 30 loop reload loadbalance }

要验证您是否检查了Pod中的/etc/resolve.conf文件

search default.svc.cluster.domain svc.cluster.domain cluster.domain google.internal c.gce_project_id.internal nameserver 10.0.0.10 options ndots:5


0
投票
据我所知,这是应该如何工作的。
© www.soinside.com 2019 - 2024. All rights reserved.