У меня есть несколько виртуальных машин (работающих как веб-сервер) за группа экземпляров на моем GCloud.
Как обычно техобслуживание обновил(apt dist-upgrade
) мой "vm-source-image", создал новый шаблон и добавить в мою группу.
Новые участники, использующие этот шаблон, никогда не получают реальных рабочих запросов от балансировщика нагрузки и он запущен и работает но безработные.
Временный патч
Я делаю только частичное обновление (т. безопасности) к:
sudo автоматическое обновление -d
Вот список оставшихся пакетов, которые создают проблему:
# подходящий список --upgradable
cloud-init/bionic-updates 21.3-1-g6803368d-0ubuntu1~18.04.4 все [можно обновить с: 21.2-3-g899bfaa9-0ubuntu2~18.04.1]
dnsmasq-base/bionic-updates 2.79-1ubuntu0.5 amd64 [можно обновить с: 2.79-1ubuntu0.4]
gce-compute-image-packages/bionic-updates 20210629.00-0ubuntu1~18.04.0 все [можно обновить с: 20201222.00-0ubuntu2~18.04.0]
google-compute-engine/bionic-updates 20210629.00-0ubuntu1~18.04.0 все [можно обновить с: 20201222.00-0ubuntu2~18.04.0]
google-compute-engine-oslogin/bionic-updates 20210728.00-0ubuntu1~18.04.0 amd64 [можно обновить с: 20210429.00-0ubuntu1~18.04.0]
google-guest-agent/bionic-updates 20210629.00-0ubuntu1~18.04.1 amd64 [можно обновить с: 20210414.00-0ubuntu1~18.04.0]
libgnutls30/bionic-updates 3.5.18-1ubuntu1.5 amd64 [можно обновить с: 3.5.18-1ubuntu1.4]
libnetplan0/bionic-updates 0.99-0ubuntu3~18.04.5 amd64 [можно обновить с: 0.99-0ubuntu3~18.04.4]
libpcre2-8-0/bionic 10.39-1+ubuntu18.04.1+deb.sury.org+1 amd64 [можно обновить с: 10.36-2+ubuntu18.04.1+deb.sury.org+2]
netplan.io/bionic-updates 0.99-0ubuntu3~18.04.5 amd64 [можно обновить с: 0.99-0ubuntu3~18.04.4]
nplan/bionic-updates 0.99-0ubuntu3~18.04.5 все [можно обновить с: 0.99-0ubuntu3~18.04.4]
snapd/bionic-updates 2.51.1+18.04 amd64 [можно обновить с: 2.49.2+18.04]
ubuntu-advantage-tools/bionic-updates 27.3~18.04.1 amd64 [можно обновить с: 27.2.2~18.04.1]
РЕАЛЬНОЕ РЕШЕНИЕ
Поскольку у меня нет «настраиваемого» пакета на машине, а причина этой проблемы связана с обновлением системы, я не вижу решения, кроме как указать на проблему в этом посте.
Я, конечно, слежу за новыми обновлениями, надеясь, что новая версия этих пакетов решит проблему, но, возможно, лучших вариантов нет?
Больше информации
- Группа является серверной частью «внутреннего балансировщика нагрузки TCP».
- Внешний IP-адрес балансировщика нагрузки: 10.0.0.116
- Старый (и рабочий) IP-адрес участника: 10.0.0.48 (видны логи)
- IP-адрес нового (и неработающего) участника: 10.0.0.54 (видны логи)
- Балансировщик нагрузки имеет простую проверку работоспособности HTTP, известную как HTTPHC1.
- Группа экземпляров имеет еще одну простую проверку работоспособности HTTP, известную как HTTPHC2.
Сравнение журнала доступа старого (и рабочего) участника с новым:
Журнал старого члена ВМ
35.191.1.148 "/" - - - [04/ноября/2021:10:34:59 +0000] 10.0.0.48 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.144 "/" - - - [04/ноября/2021:10:35:00 +0000] 10.0.0.48 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.154 "/" - - - [04/ноября/2021:10:35:00 +0000] 10.0.0.48 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.147 "/" - - - [04/ноября/2021:10:35:01 +0000] 10.0.0.48 "GET /?id=HTTPHC1 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.145 "/" - - - [04/ноября/2021:10:35:01 +0000] 10.0.0.48 "GET /?id=HTTPHC1 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.151 "/" - - - [04/ноября/2021:10:35:02 +0000] 10.0.0.48 "GET /?id=HTTPHC1 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.153 "/" - - - [04/ноября/2021:10:35:02 +0000] 10.0.0.48 "GET /?id=HTTPHC1 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
Журнал нового члена ВМ
35.191.1.152 "/" - - - [04/ноября/2021:10:31:01 +0000] 10.0.0.54 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.154 "/" - - - [04/ноября/2021:10:31:02 +0000] 10.0.0.54 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
35.191.1.148 "/" - - - [04/ноября/2021:10:31:02 +0000] 10.0.0.54 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"
Разница показывает отсутствие журналов HTTPHC1.
Таким образом, новый новый не отвечает на проверку работоспособности балансировщика нагрузки (HTTPHC1) и не получает запросы, и в этом проблема.
Другие неисправности
Новая машина также недоступна через браузер-окно-SSH.
ДОБАВИТЬ tcpdump
Между HTTPHC1 санитарный врач и безработный член:
# tcpdump -n хост 35.191.1.151
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на ens4, тип линка EN10MB (Ethernet), размер захвата 262144 байт
11:30:35.109469 IP 35.191.1.151.61838 > 10.0.0.116.80: Флаги [S], win 65535, параметры [mss 1420,sackOK,TS ecr 0,nop,wscale 8], длина 0
11:30:36.119470 IP 35.191.1.151.61838 > 10.0.0.116.80: Флаги [S], win 65535, параметры [mss 1420,sackOK,TS ecr 0,nop,wscale 8], длина 0
11:30:38.167436 IP 35.191.1.151.61838 > 10.0.0.116.80: Флаги [S], win 65535, параметры [mss 1420,sackOK,TS ecr 0,nop,wscale 8], длина 0
11:30:40.110784 IP 35.191.1.151.59900 > 10.0.0.116.80: Флаги [S], win 65535, параметры [mss 1420,sackOK,TS ecr 0,nop,wscale 8], длина 0
11:30:41.111176 IP 35.191.1.151.59900 > 10.0.0.116.80: Флаги [S], win 65535, параметры [mss 1420,sackOK,TS ecr 0,nop,wscale 8], длина 0
11:30:43.159164 IP 35.191.1.151.59900 > 10.0.0.116.80: Флаги [S], win 65535, параметры [mss 1420,sackOK,TS ecr 0,nop,wscale 8], длина 0
11:30:45.112162 IP 35.191.1.151.36064 > 10.0.0.116.80: Флаги [S], win 65535, параметры [mss 1420,sackOK,TS ecr 0,nop,wscale 8], длина 0
Обратите внимание, что пункт назначения — внешний IP-адрес балансировщика нагрузки: 10.0.0.116 и, конечно же, это только пакеты синхронизации.
Между HTTPHC2 санитарный врач и безработный член:
# tcpdump -n хост 35.191.1.148
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на ens4, тип линка EN10MB (Ethernet), размер захвата 262144 байт
10:46:12.475724 IP 35.191.1.148.64638 > 10.0.0.54.80: Флаги [S], win 65535, параметры [mss 1420,sackOK,TS ecr 0,nop,wscale 8], длина 0
10:46:12.475788 IP 10.0.0.54.80 > 35.191.1.148.64638: флаги [S.], win 64768, параметры [mss 1420,sackOK,TS,nop,wscale 7], длина 0
10:46:12.476239 IP 35.191.1.148.64638 > 10.0.0.54.80: Флаги [.], ack 1, win 256, опции [nop,nop,TS], длина 0
10:46:12.476239 IP 35.191.1.148.64638 > 10.0.0.54.80: Флаги [P.], seq 1:117, ack 1, win 256, опции [nop,nop,TS], длина 116: HTTP: GET /?id=HTTPHC2 HTTP/1.1
10:46:12.476301 IP 10.0.0.54.80 > 35.191.1.148.64638: Флаги [.], ack 117, win 506, опции [nop,nop,TS], длина 0
10:46:12.476546 IP 10.0.0.54.80 > 35.191.1.148.64638: Флаги [P.], seq 1:867, ack 117, win 506, параметры [nop,nop,TS], длина 866: HTTP: HTTP /1.1 200 ОК
10:46:12.476659 IP 35.191.1.148.64638 > 10.0.0.54.80: Флаги [.], ack 867, win 267, опции [nop,nop,TS], длина 0
10:46:12.476679 IP 35.191.1.148.64638 > 10.0.0.54.80: флаги [F.], seq 117, ack 867, win 267, опции [nop,nop,TS], длина 0
10:46:12.476707 IP 10.0.0.54.80 > 35.191.1.148.64638: флаги [F.], seq 867, ack 118, win 506, параметры [nop,nop,TS], длина 0
10:46:12.476879 IP 35.191.1.148.64638 > 10.0.0.54.80: Флаги [.], ack 868, win 267, опции [nop,nop,TS], длина 0
Здесь все в порядке.
ДОБАВИТЬ 2021-11-16
После некоторых исследований я обнаружил отсутствующий псевдоним IP в местный таблице, неудивительно, что это IP-адрес внешнего балансировщика нагрузки, видимый как хост DST в tcpdump
!
Вот рабочая машина:
# ip route show dev ens4 table local
локальный 10.0.0.48 прото-область ядра host src 10.0.0.48
локальный хост области 10.0.0.116 proto 66
# uname -r
5.4.0-1056-gcp
А вот и полностью обновленная машина:
# ip route show dev ens4 table local
локальный 10.0.0.54 прото-область ядра host src 10.0.0.54
# uname -r
5.4.0-1057-гкп
ДОБАВИТЬ 20.11.2021
Теперь это стало известной проблемой: [Облачная сеть] Возможная проблема с сервисом: расследование
Балансировщики нагрузки Google Cloud Global TCP Proxy могут не работать
трафик через правила переадресации, настроенные с IP-адресами в 34.111.0.0/17
спектр. Постоянное исправление для диапазона IP-адресов находится в процессе