Не удается пропинговать один сервис другому сервису в кластере Kubernetes? - PullRequest
0 голосов
/ 16 ноября 2018

Я создал локальный кластер Ubuntu Kubernetes с 1 главным и 2 подчиненными узлами.

Я развернул 2 приложения в 2 модулях и создал службу для обоих модулей, все работает нормально.Я вошел в модуль pod, набрав следующую команду:

$ kubectl exec -it firstpod /bin/bash
# apt-get update

Невозможно выполнить обновление, и я получаю сообщение об ошибке:

Err http://security.debian.org jessie/updates InRelease

Err http://deb.debian.org jessie InRelease

Err http://deb.debian.org jessie-updates InRelease

Err http://security.debian.org jessie/updates Release.gpg   Temporary failure resolving 'security.debian.org' Err http://deb.debian.org jessie-backports InRelease

Err http://deb.debian.org jessie Release.gpg   Temporary failure resolving 'deb.debian.org' Err http://deb.debian.org jessie-updates Release.gpg   Temporary failure resolving 'deb.debian.org' Err http://deb.debian.org jessie-backports Release.gpg   Temporary failure resolving 'deb.debian.org' Reading package lists... Done W: Failed to fetch http://deb.debian.org/debian/dists/jessie/InRelease

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease

W: Failed to fetch http://security.debian.org/dists/jessie/updates/InRelease

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-backports/InRelease

W: Failed to fetch http://security.debian.org/dists/jessie/updates/Release.gpg  Temporary failure resolving 'security.debian.org'

W: Failed to fetch http://deb.debian.org/debian/dists/jessie/Release.gpg  Temporary failure resolving 'deb.debian.org'

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/Release.gpg  Temporary failure resolving 'deb.debian.org'

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-backports/Release.gpg  Temporary failure resolving 'deb.debian.org'

W: Some index files failed to download. They have been ignored, or old ones used instead.

Я пытаюсь пропинговать свой второй сервис pod:

# ping secondservice (This is the service name of secondpod)
PING secondservice.default.svc.cluster.local (10.100.190.196): 56 data bytes
unable to ping.

Как я могу пропинговать / вызывать второй сервис с первого узла?

1 Ответ

0 голосов
/ 16 ноября 2018

Я вижу два (не связанных) вопроса.Я собираюсь сосредоточиться на втором, так как первое мне непонятно (что за вопрос?).

Итак, вы удивляетесь, почему не работает следующее:

# ping secondservice 

Это не ошибка или неожиданность (на самом деле, я писал об этом здесь ).Вкратце: полное доменное имя secondservice.default.svc.cluster.local разрешается с помощью подключаемого модуля DNS к виртуальному IP-адресу ( VIP ), сама суть этого VIP заключается в том, что он является виртуальным, то есть не подключенным к сетевому интерфейсу.Это просто куча правил iptables.Следовательно, пинг на основе ICMP не имеет ничего против, так как это не «реальный» IP.Вы можете curl сервис, хотя.Предполагая, что служба работает на порту 9876, должно работать следующее:

# curl secondservice:9876
...