Ich habe mir Server Spec angesehen und es steht klar:
Anmerkung: Serverspec-Testsuiten sollen auf einem einzelnen Computer (oder Docker-Container) ausgeführt werden. Mit anderen Worten, Sie sollten nicht versuchen, einen einzelnen rspec-Befehl auszugeben, der Tests für mehrere Computer oder Container sammelt und ausführt. Sie müssen für jeden einen rspec-Befehl ausgeben.
So kann ich Tests pro Server durchführen, was in einigen Fällen gut ist. Das Problem ist jedoch das folgende: Meine Microservice-Architektur verfügt über einen Auto-Discovery-Dienst, sodass einige Dienste nach der Abfrage bekannt sind. Gibt es ein Projekt, um dies auszudrücken? Ich weiß, dass ich mit Rubin (oder Python, wenn ich Testinfra oder andere wähle) herumarbeiten kann .
Etwas, das in Consul mit Serverspezifikation oder ähnlichem integriert ist, wird großartig sein. 2014 haben die Leute danach gesucht. Kennt jemand ein Projekt, das dieses Problem angegangen ist?
quelle
Antworten:
Wenn es nichts gibt, was den Konsul leicht verspotten könnte, haben Sie darüber nachgedacht, einen Konsulendienst zusammen mit Ihren anderen Mikrodiensten aufzubauen? Consul kann in Docker ausgeführt werden. Dies sollte daher recht einfach sein, wenn Sie Docker-Compose verwenden und Ihre Apps so konfiguriert werden können, dass sie auf einen anderen Consul-Endpunkt verweisen.
Sobald Ihr Docker-Compose so konfiguriert ist, dass alle für Ihren Test erforderlichen Infrastrukturen / Mikrodienste hochgefahren werden, können Sie alle Ihnen vertrauten Tools zum Testen Ihrer Mikrodienste verwenden, z. B. Selen.
quelle
Ich mag SaltStack, weil das Konfigurationsmanagement Knotentests bereitstellt, wenn Sie dies in den Status pro Knoten wünschen, und die Ergebnisse im Auftragsstatus zusammengeführt und in den Retourern vollständig berücksichtigt werden.
Mit SaltStack-Status können Sie auch Ereignisse bei Erfolgen oder Misserfolgen generieren und Knoten können beliebige Endpunktdaten (dh welchen IP-Port, den sie abhören) ankündigen (Minen), die für die Konfigurationsstatus anderer Knoten verfügbar sind.
Die Kombination der beiden bringt Ihnen das, was Sie wahrscheinlich von Consul wollen.
quelle