2016-08-19 1 views
0

Ich versuche derzeit, eine grundlegende Aufgabenwarteschlange und Frontend mit Sellerie, Rabbitmq und Blume auf Kubernetes (und Minikubes) zu implementieren. Ich folge dem Beispiel hier:Sellerie wird keine Verbindung zu Rabbitmq Broker für Kubernetes

https://github.com/kubernetes/kubernetes/tree/release-1.3/examples/celery-rabbitmq

ich alles bekommen kann nach den Anweisungen zu arbeiten; Wenn ich jedoch docker build auf der Dockerfile in ./celery-app-add ausführen, schieben Sie das Bild zu meinem eigenen Repository und ersetzen endocode/celery-app-add durch <mine>/celery-app-add, ich kann nicht erhalten das Beispiel zu laufen. Ich gehe davon aus, dass die Dockerfile in der Quellcodeverwaltung falsch ist, denn wenn ich das endocode/celery-app-add Bild ziehen und Bash im Bild ausführen, lädt es als root Benutzer (im Gegensatz zu user mit <mine>/celery-app-addDockerfile).

Nachdem alle Container Booten und Dienstleistungen, kann ich folgendes in den Protokollen finden Sie unter:

2016-08-18T21:05:44.846591547Z AttributeError: 'ChannelPromise' object has no attribute '__value__'

Die Sellerie-Protokolle zeigen:

2016-08-19T01:38:49.933659218Z [2016-08-19 01:38:49,933: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@rabbit:5672//: [Errno -2] Name or service not known.

Wenn ich RABBITMQ_SERVICE_SERVICE_HOST echo innerhalb des Containers erscheint es als derselbe Host, der in rabbitmq-service nach dem Ausführen von kubectl get services angezeigt wird.

Ich bin nicht wirklich sicher, wohin ich von hier aus gehen soll. Irgendwelche Vorschläge werden geschätzt. Außerdem fügte ich USER root (wird nicht in der Produktion laufen, mach dir keine Sorgen) zu meinem Dockerfile und lief noch in die gleichen Probleme oben. docker history endocode/celery-app-add war auch nicht sehr hilfreich.

+0

Es scheint, dass, wenn ich versuche, den Sellerie Arbeiter zu laufen, die Config-Anwendung nicht gelesen wird und der Arbeiter versucht, eine Verbindung zu 'amqp: // guest: ** @ rabbit: 5672 //:' anstelle der korrekter Broker Service Host. – super

Antwort

0

Stellt sich heraus, das Problem basiert auf diesem Sellerie issue. Sellerie bevorzugt CELERY_BROKER_URL über alles, was in der App-Konfiguration eingestellt werden kann. Um dies zu beheben, habe ich CELERY_BROKER_URL im Dockerfile deaktiviert und es nahm meine Konfiguration richtig auf.

+0

Ich bekomme den gleichen Fehler. Aber es konnte nicht behoben werden, nachdem 'CELERY_BROKER_URL' verwendet wurde. Irgendwelche Gedanken? – PythonEnthusiast

+0

Auch ich habe den geteilten Link überprüft. Ich gebe es auch nicht explizit weiter. Wie kann ich es debuggen? – PythonEnthusiast

Verwandte Themen