Тайм-аут обслуживания с отслеживанием состояния, если в кластере Kubernetes не работают узлы - PullRequest
0 голосов
/ 17 июня 2020

Я оцениваю решение DataBase для своего кластера kubernetes, поэтому я установил percona-xtradb-cluster: 5.7.19 с тремя репликами StatefulSet на Bare Metal Server (CentOS) с Kubernetes 1.17.3

Для анализа сбоя Ситуация, когда я выключаю один узел, и тем временем мои тестовые модули (MYSQL Клиент) считывают данные через каждые 5 секунд из кластера БД. Я заметил, что у пары клиентских запросов истекло время ожидания, но в основном он работает нормально (99% работает).

если я опущу еще 1 узел, то из 10 запросов 5 или 6 получают тайм-аут, говоря «ERROR 2003 (HY000) Cant connect to MySQL Server on 'pxc' (110)»

  1. Я попытался, добавив PodDisruptionBudget с minAvailable: 1
  2. Я попытался создать NodePort, и на самом деле это также демонстрирует прерывистое поведение, это означает, что если я напрямую попробую указать указанный c узел, он когда-нибудь перестанет работать.

Похоже, это связано с StatefulSet как службой не удается идентифицировать отказавшую реплику, я пробовал использовать службу, службу Headless и NodePort.

Подскажите, пожалуйста, какая служба может помочь в этом отношении? Как сообщество использует StatefulSet в производстве?

Я искал net, но не нашел удовлетворительного ответа.

PS: это очень редкая ситуация, но это может случиться, что из трех узлов 2 упали.

...