Ich habe Threads wie diesen und andere gelesen, und es scheint, dass es bisher keine einfache Möglichkeit gibt, ein Discourse-Image in etwas wie ECS, GKE oder eine beliebige andere Container-Orchestrierung zu integrieren und es problemlos zum Laufen zu bringen…
Ich verwende Terraform, um ein Elasticache-Cluster, eine RDS-Instanz und ein ECS-Cluster zu verwalten. Ich möchte einfach nur sagen können: „Hier ist mein Discourse-Image, und hier sind die Umgebungsvariablen für die Verbindung zu Postgres, Redis, SMTP usw.“
Gibt es so etwas im Jahr 2020? Es scheint, als hätte man in all den bisherigen Diskussionen zu diesem Thema keine befriedigende Lösung gefunden, und wir stecken immer noch bei den benutzerdefinierten Skripten von Discourse fest, die den Container-Konventionen widersprechen und die Kompatibilität mit der idiomatischen Art, wie Menschen Container nutzen, beeinträchtigen…
Das ist eine falsche Annahme. All diese Elemente gehören zu Discourse und müssen von Discourse innerhalb seines Containers gesteuert werden, um eine erfolgreiche Einrichtung zu gewährleisten.
Wenn Sie in komplexe Szenarien mit mehreren Containern einsteigen, ist das nur für große Kunden mit viel Budget erforderlich. In diesem Fall verweise ich Sie auf unseren Enterprise-Hosting-Service.
Warum erfordert das dann dieses seltsame Bootstrap-Skript, das Container startet und als Orchestrierungssystem fungiert?
Warum kann das Discourse-Image nicht einfach Umgebungsvariablen entgegennehmen und im Entry Point alle diese Ressourcen ansprechen, die benötigten Tabellen erstellen usw.? Andere Dienste/Webanwendungen, die auf externe Persistenzschichten angewiesen sind, wurden erfolgreich auf diese Weise containerisiert. Man packt sie einfach in einen ECS, EKS oder ähnliches, teilt ihnen mit, wo sie die Datenbank finden usw., und alles funktioniert einwandfrei. Ist das mit Discourse möglich?
Genau weil wir das Gegenteil sind – eine gemeinnützige Organisation ohne riesiges Budget –, wollen wir die Kosten so niedrig wie möglich halten, indem wir alle unsere Enterprise-Anwendungen auf einen einzigen AWS ECS-Host legen. Das setzt jedoch voraus, dass die einzelnen Anwendungen sauber containerisiert sind und als ECS-Aufgabendefinitionen definiert werden können, also als in sich geschlossene Docker-Images.
Nun, so ziemlich – da Discourse problemlos auf einem VPS für 5 $/Monat als einfaches Docker-Installationsimage läuft, bin ich mir nicht sicher, ob sich das Herauspressen von ein paar Cent aus diesem Betrag – bei massiver Erhöhung der Installationshürden und der laufenden Wartungskomplexität – wirklich lohnt? Bleib einfach!
Wie im obigen Link beschrieben, können Sie Container erstellen und mit Kubernetes starten. Ich habe GKE-Bereitstellungen für einige Kunden durchgeführt, die darauf bestanden, weil sie an die Plattform gebunden waren.
Wenn Ihr Ziel Kosteneinsparungen sind, ist ein monatliches Budget von 5 bis 10 USD der richtige Weg.
Unsere Tools sind für den mit Abstand häufigsten Nutzer optimiert: kleine Gruppen ohne spezialisierte IT-Abteilung zur Verwaltung der Container-Orchestrierung.
Die notwendigen Komponenten sind jedoch verfügbar, falls ihr „Full Cloud