Итак, я создал кластер GKE с поддержкой VPC. Диапазон адресов моего модуля 10.17.0.0/16
и диапазон адресов моей службы 10.16.1.0/24
.
Из модуля в моем кластере я не могу разрешить имена google.internal DNS. Похоже, это связано с тем, что я не могу подключиться к подсети службы из подсети модуля:
root@mypod-0:/# ifconfig|grep eth0 -A 1
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.17.2.40 netmask 255.255.255.0 broadcast 0.0.0.0
root@mypod-0:/# head -n 1 /etc/resolv.conf
nameserver 10.16.1.10
root@mypod-0:/# ping -c 1 -W 1 10.16.1.10
PING 10.16.1.10 (10.16.1.10) 56(84) bytes of data.
--- 10.16.1.10 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
root@mypod-0:/#
У меня есть правило брандмауэра, разрешающее всем из 10.0.0.0/8
. Что мне здесь не хватает?
Вы должны следовать правилам DNS, указанным ниже:
https://support.dnsimple.com/articles/differences-between-a-cname-alias-url/
https://www.linode.com/docs/networking/dns/dns-records-an-introduction/
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
Это говорит о том, что если имя службы DNS - 10.16.1.0/24, тогда модули должны иметь IP 10.16.1.1, 10.16.1.2 …….
Вы используете IP-адреса 10.17.0.0/16. Он не будет работать.