Как мне перечислить VIP-адреса Docker?
Я могу перечислить все IP-адреса контейнера внутри оверлейной сети Docker, используя:
~# docker network inspect <network_id>
Я пытаюсь устранить неполадку распознавателя в некотором стое роя Docker. Кажется, что разрешение выполняется с неправильным IP-адресом, но я хочу проверить, разрешен ли он в первую очередь для VIP. Я говорю о сети между контейнерами, а не о входной сети.
В своем квесте я нашел этот комментарий к Docker. Что говорит об этом:
С точки зрения отладки, инструмент, который нужно использовать:
- ТСРйитр
- ipvsadm -> балансировка нагрузки выполняется с помощью ipvs
Но я не могу найти какой ipvsadm
варианты, чтобы использовать, чтобы распечатать VIP, используемые в моей сети докера.
1 ответ
Вы можете найти VIP для службы с проверкой самой службы (я обычно использую jq
отформатировать вывод json):
docker service inspect --format '{{json .Endpoint.VirtualIPs}}' ${service_name} \
| jq .
Чтобы перебрать все ваши сервисы, вы можете сделать небольшой сценарий:
for service in $(docker service ls -q); do
docker service inspect --format \
'{{.Spec.Name}}: {{range .Endpoint.VirtualIPs}}{{.Addr}} {{end}}' \
${service}
done