Балансировщик нагрузки помечает новый экземпляр члена группы как «неработоспособный» (Ubuntu)после dist-upgrade

. ВМ (работают как веб-сервер)за группой экземпляров в моем GCloud.

Как обычно, я обновил(apt dist-upgrade)свой "vm-source-image", создал новый шаблон и добавил его в свою группу.

Новые участники, использующие этот шаблон, никогда не получают реальных рабочих запросов от балансировщика нагрузки-и он запущен и работает , но безработный .

Временный патч

Делаю только частичное обновление (безопасности)by:

sudo unattended-upgrade -d

Вот список оставшихся пакетов, создающих проблему:

# apt list --upgradable

cloud-init/bionic-updates 21.3-1-g6803368d-0ubuntu1~18.04.4 all [upgradable from: 21.2-3-g899bfaa9-0ubuntu2~18.04.1]
dnsmasq-base/bionic-updates 2.79-1ubuntu0.5 amd64 [upgradable from: 2.79-1ubuntu0.4]
gce-compute-image-packages/bionic-updates 20210629.00-0ubuntu1~18.04.0 all [upgradable from: 20201222.00-0ubuntu2~18.04.0]
google-compute-engine/bionic-updates 20210629.00-0ubuntu1~18.04.0 all [upgradable from: 20201222.00-0ubuntu2~18.04.0]
google-compute-engine-oslogin/bionic-updates 20210728.00-0ubuntu1~18.04.0 amd64 [upgradable from: 20210429.00-0ubuntu1~18.04.0]
google-guest-agent/bionic-updates 20210629.00-0ubuntu1~18.04.1 amd64 [upgradable from: 20210414.00-0ubuntu1~18.04.0]
libgnutls30/bionic-updates 3.5.18-1ubuntu1.5 amd64 [upgradable from: 3.5.18-1ubuntu1.4]
libnetplan0/bionic-updates 0.99-0ubuntu3~18.04.5 amd64 [upgradable from: 0.99-0ubuntu3~18.04.4]
libpcre2-8-0/bionic 10.39-1+ubuntu18.04.1+deb.sury.org+1 amd64 [upgradable from: 10.36-2+ubuntu18.04.1+deb.sury.org+2]
netplan.io/bionic-updates 0.99-0ubuntu3~18.04.5 amd64 [upgradable from: 0.99-0ubuntu3~18.04.4]
nplan/bionic-updates 0.99-0ubuntu3~18.04.5 all [upgradable from: 0.99-0ubuntu3~18.04.4]
snapd/bionic-updates 2.51.1+18.04 amd64 [upgradable from: 2.49.2+18.04]
ubuntu-advantage-tools/bionic-updates 27.3~18.04.1 amd64 [upgradable from: 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/Nov/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/Nov/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/Nov/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/Nov/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/Nov/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/Nov/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/Nov/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/Nov/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/Nov/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/Nov/2021:10:31:02 +0000] 10.0.0.54 "GET /?id=HTTPHC2 HTTP/1.1" 200 612 "-" "GoogleHC/1.0"

Разница показывает отсутствие журналы HTTPHC1 .

Таким образом, новый новый не отвечает на проверку работоспособности балансировщика нагрузки-(HTTPHC1)и не получает запросы, вот в чем проблема.

Другие неисправности Новая машина также недоступна для браузера-окна-SSHenter image description here

ДОБАВИТЬ tcpdump

Между HTTPHC1 Health-checker и unemployed member:

# tcpdump -n host 35.191.1.151
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
11:30:35.109469 IP 35.191.1.151.61838 > 10.0.0.116.80: Flags [S], win 65535, options [mss 1420,sackOK,TS  ecr 0,nop,wscale 8], length 0
11:30:36.119470 IP 35.191.1.151.61838 > 10.0.0.116.80: Flags [S], win 65535, options [mss 1420,sackOK,TS  ecr 0,nop,wscale 8], length 0
11:30:38.167436 IP 35.191.1.151.61838 > 10.0.0.116.80: Flags [S], win 65535, options [mss 1420,sackOK,TS  ecr 0,nop,wscale 8], length 0
11:30:40.110784 IP 35.191.1.151.59900 > 10.0.0.116.80: Flags [S], win 65535, options [mss 1420,sackOK,TS  ecr 0,nop,wscale 8], length 0
11:30:41.111176 IP 35.191.1.151.59900 > 10.0.0.116.80: Flags [S], win 65535, options [mss 1420,sackOK,TS ecr 0,nop,wscale 8], length 0
11:30:43.159164 IP 35.191.1.151.59900 > 10.0.0.116.80: Flags [S], win 65535, options [mss 1420,sackOK,TS ecr 0,nop,wscale 8], length 0
11:30:45.112162 IP 35.191.1.151.36064 > 10.0.0.116.80: Flags [S], win 65535, options [mss 1420,sackOK,TS  ecr 0,nop,wscale 8], length 0

Обратите внимание, что пунктом назначения является load-интерфейсный IP-адрес балансировщика:10.0.0.116 и Конечно, это только пакеты синхронизации.

Между HTTPHC2 Health-checker и безработным участником:

# tcpdump -n host 35.191.1.148
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
10:46:12.475724 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [S], win 65535, options [mss 1420,sackOK,TS ecr 0,nop,wscale 8], length 0
10:46:12.475788 IP 10.0.0.54.80 > 35.191.1.148.64638: Flags [S.], win 64768, options [mss 1420,sackOK,TS,nop,wscale 7], length 0
10:46:12.476239 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [.], ack 1, win 256, options [nop,nop,TS], length 0
10:46:12.476239 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [P.], seq 1:117, ack 1, win 256, options [nop,nop,TS], length 116: HTTP: GET /?id=HTTPHC2 HTTP/1.1
10:46:12.476301 IP 10.0.0.54.80 > 35.191.1.148.64638: Flags [.], ack 117, win 506, options [nop,nop,TS], length 0
10:46:12.476546 IP 10.0.0.54.80 > 35.191.1.148.64638: Flags [P.], seq 1:867, ack 117, win 506, options [nop,nop,TS], length 866: HTTP: HTTP/1.1 200 OK
10:46:12.476659 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [.], ack 867, win 267, options [nop,nop,TS], length 0
10:46:12.476679 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [F.], seq 117, ack 867, win 267, options [nop,nop,TS], length 0
10:46:12.476707 IP 10.0.0.54.80 > 35.191.1.148.64638: Flags [F.], seq 867, ack 118, win 506, options [nop,nop,TS], length 0
10:46:12.476879 IP 35.191.1.148.64638 > 10.0.0.54.80: Flags [.], ack 868, win 267, options [nop,nop,TS], length 0

Здесь все нормально.

ADD 2021-11-16

После некоторых исследований я обнаружил отсутствующий псевдоним IP в локальной таблице, и неудивительно, что это внешний-загрузочный-IP-адрес балансировщика, видимый как хост DST в tcpdump!

Вот рабочая машина:

# ip route show dev ens4 table local
local 10.0.0.48 proto kernel scope host src 10.0.0.48 
local 10.0.0.116 proto 66 scope host 
# uname -r
5.4.0-1056-gcp

А вот полностью обновленная машина:

# ip route show dev ens4 table local
local 10.0.0.54 proto kernel scope host src 10.0.0.54
# uname -r
5.4.0-1057-gcp

ADD 2021-11-20

Теперь это стало известной проблемой:[Облачная сеть] Потенциальная служба Проблема:Исследование

Google Cloud Global TCP Proxy Load Balancers может быть не в состоянии обслуживать трафик через правила переадресации, настроенные с IP-адресами в 34.111.0.0/17 диапазон. Выполняется постоянное исправление для диапазона IP-адресов

1
задан 4 November 2021 в 10:17
2 ответа

После тестирования cloud-initявляется основной причиной.

Согласно этому комментарию , disable_network_activation: trueследует установить, чтобы избежать конфликта с google-guest-agentслужба.

Решение заключается в добавлении параметра в cloud-initconfig.

cat > /etc/cloud/cloud.cfg.d/99-disable-network-activation.cfg <<EOF
# Disable network activation to prevent \`cloud-init\` from making network
# changes that conflict with \`google-guest-agent\`.
# See: https://github.com/canonical/cloud-init/pull/1048

disable_network_activation: true
EOF

Этот файл существует в официальном образе ubuntu-1804-bionic-v20211103.

После добавления этого файла google-guest-agentработает нормально.

3
ответ дан 19 November 2021 в 07:46

У меня есть машина под управлением Ubuntu 18.04.5, столкнулся с той же проблемой после запуска apt dist-upgrade, а также обновитьgoogle-guest-agent 20210629.00-0ubuntu1~18.04.1(с:20210414.00-0ubuntu1~18.04.0).

Обнаружение, что google-guest-agentне работает после обновления. Когда я выполняю /usr/bin/google_guest_agentвручную, проблема решается.

До сих пор не знаю, почему google-guest-agentне запускается автоматически.

0
ответ дан 16 November 2021 в 08:40

Теги

Похожие вопросы