Мне интересно, в чем причина использования плагина rabbit_peer_discovery_k8s, если значение values.yaml по умолчанию равно 1 реплике (ваш файл манифеста не переопределяет этот параметр)?
Я пытался воспроизвести вашу проблему с указанными вами значениями переопределения (dev-server.yaml), как описано в вашей проблеме github # 10811, но мне это не удалось. Вот мои наблюдения:
- Если установить диаграмму RabbitMQ с вашими пользовательскими значениями, мой модуль
rabbitmq-dev-default-0
застревает в состоянии CrashLoopBackOff.
Для меня это довольно трудно устранить, поскольку контейнеры изображений rabbitmq для bitnami, используемые в этой таблице rabbitmq Helm, поставляются с учетной записью без полномочий root.
- С другой стороны, если диаграмма rabbitmq установлена в моем кластере Kubernetes (v1.13.2) в простейшем виде:
helm install stable / rabbitmq
Я наблюдаю подобную проблему тогда. Я имею в виду, что сервер rabbitmq переживает симулированный перезапуск виртуальной машины всех узлов кластера (включая главный), но я не могу подключиться к нему извне:
После перезагрузки виртуальной машины, я получаю следующую ошибку от моего python mqclient:
socket.gaierror: [Errno -2] Name or service not known
Несколько замечаний здесь:
Да, я сделал переадресацию портов в соответствии с инструкциями для команды "helm status":
Датчик готовности работает нормально:
curl -sS -f --user user:<my_pwd> 127.0.0.1:15672/api/healthchecks/node
{"status":"ok"}
Соединение rabbitmqctl с rabbitmq-сервером изнутри контейнера тоже работает нормально:
kubectl exec rabbitmq-dev-default-0 -- rabbitmqctl list_queues
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name messages
hello 11
С того момента, как я использовал kubectl port-forward для pod вместо службы, соединение с сервером rabbitmq восстанавливается:
kubectl port-forward --namespace default pod/rabbitmq-dev-default-0 5672:5672
$ python send.py
[x] Sent 'Hello World!'