Skip to content

Systemanforderungen

Ein Container, und eine kurze Liste dessen, was er braucht

Was der Container braucht, bevor ihn jemand ausrollt: die Laufzeit in ihm, der eine Port, den er veröffentlicht, das Volume, das er behalten muss, und der Host, den wir ihm empfehlen.

Die Laufzeit im Image

Zwei Sprachlaufzeiten in einem Container, und die zweite hat einen konkreten Grund, keine Vorliebe.

Die Laufzeitanforderungen des TabTotal-Containers, mit der Datei, aus der jede gelesen wurde
Was es istWarum, und wo Sie es prüfen
Basis-Imagepython:3.13-slimDieselbe Basis in beiden Build-Stufen. Was kompiliert wird, ist das, was läuft. Dockerfile:13
Python3.13 oder neuerIn der kontinuierlichen Integration auf 3.13 getestet. pyproject.toml:9, .github/workflows/tests.yml:91
.NET8.0 RuntimeNur die Runtime, nicht das SDK. Migrate umhüllt Tableaus eigenes .NET Migration SDK. Die Runtime reist damit im Image mit. Dockerfile:101
Läuft alsuid 10001, Benutzer ttcRoot wird einmal genutzt, um ein eingehängtes Volume zu übernehmen, und vor dem Start der Anwendung abgelegt. Dockerfile:188
Prozessorarchitekturamd64Ein arm64-Build lädt auf einem x86-Host sauber und startet dann nicht. Die Architektur sollte vor einer Bereitstellung geprüft werden, nicht danach.

Ein einziger Listener erreicht das Netzwerk

Die governten Anwendungen antworten auf Loopback im Container. Das Gateway erreicht sie, und sonst nichts.

Alle 14 governten Anwendungen binden sich im Container an die lokale Schnittstelle und werden nie veröffentlicht. Ein Port trägt jede Anfrage hinein, und das Gateway leitet jede an die Anwendung weiter, der sie gehört, und hält dabei eine einzige Tableau-Sitzung für Sie.

Das ist eine Eigenschaft, die Sie prüfen können, statt ein Versprechen, das Sie hinnehmen müssen. Listen Sie die veröffentlichten Ports des laufenden Containers auf, und Sie finden einen, was auch immer in dieser Version darin läuft.

Ports, und was davor sitzt

Der Container liefert unverschlüsselten Verkehr und hält nie ein Zertifikat. Die Transportsicherheit bleibt dort, wo Sie sie bereits betreiben.

Die Netzwerkanforderungen des Containers, mit der Datei, aus der jede gelesen wurde
Was es istWarum, und wo Sie es prüfen
Veröffentlichter Port8865 standardmässigGesetzt über die Umgebungsvariable PORT. Eine Bereitstellung hinter einem Proxy mappt ihn meist, statt ihn zu ändern. Dockerfile:236
Anwendungsports8851 bis 8869, auf LoopbackJede governte Anwendung bindet im Container an 127.0.0.1 und wird nie veröffentlicht. Das Gateway erreicht sie, das Netzwerk nicht.
Eingehende Regeln80 und 443 für die Welt, administrativer Zugriff von Ihren eigenen AdressenDer Anwendungsport selbst bleibt unveröffentlicht.
TransportsicherheitVor dem Container terminiertDer Container liefert immer reines HTTP und hält nie ein Zertifikat. Ihr Load Balancer oder Reverse Proxy besitzt die Transportsicherheit, wo sie für alles andere, was Sie betreiben, ohnehin liegt.
Weitergeleitete HeaderNur vertraut, wenn Sie es sagenDas Header-Vertrauen ist standardmässig aus. Ein direkt erreichbarer Container ignoriert eine weitergeleitete Adresse.

Was bestehen bleiben muss

Ein Volume hält alles, was ein Neubau nicht verlieren darf. Diese Seite nennt, was darin liegt, denn die Anweisung, einen Pfad zu sichern, sagt Ihnen nicht, was Sie verlieren würden.

Der dauerhafte Speicher, den der Container braucht, und was jedes Volume enthält
Was es istWertWarum, und wo Sie es prüfen
Daten-Volume/app/dataDas Benutzerverzeichnis, der Änderungs-Ledger, das administrative Audit-Log, die Profile der semantischen Schicht und die verschlüsselten Verbindungsdatensätze. Dockerfile:215
Artefakt-Volume/app/artifactsWohin Offboard die Deliverables schreibt, nach denen ein Audit fragt.
Volume-GrösseInnerhalb der Empfehlung von 500 GBDie Speicher sind JSON- und JSON-Lines-Dateien, keine Datenbank, und Observability-Logs rotieren bei 5 MB und behalten fünf Dateien.
EigentumBei jedem Start korrigiertDer Einstiegspunkt übernimmt das Volume, bevor er die Rechte ablegt. Ein von einer früheren Version angelegtes Volume bleibt lesbar und wird nie still geleert.
Geheimnisnahe DateienMit 0600 geschrieben, atomarEin Teilschreibvorgang lässt die vorherige Datei intakt, nicht eine abgeschnittene.

Was wir Ihnen empfehlen, ihm zu geben

Ein Container auf einem Docker-Host, mit Luft zum Arbeiten. Das sind die Werte, gegen die Boreon Ihnen zu provisionieren empfiehlt.

Der empfohlene Host für einen TabTotal-Container
Was es istWertWas darauf wirkt
HostEin Docker-HostEin eigenständiger Container auf jedem Docker-Host, den Sie bereits betreiben. Kein Orchestrator ist erforderlich.
Arbeitsspeicher8 GB RAMZwei Sprachlaufzeiten und ein Headless-Browser teilen sich einen Container.
Verfügbarer Speicherplatz500 GBDeckt das Image, die persistenten Volumes und Platz für die Artefakte ab, nach denen ein Audit fragt.

Wie sich eine Installation meldet

Fragen Sie den Container, und er antwortet mit der Version, die er ausführt; eine bessere Quelle für diese Zahl als jede Seite, diese eingeschlossen.

Endpunkt

GET /health. Antwortet mit einem Status, dem Produktnamen und der laufenden Version. Eine Bereitstellung lässt sich bestätigen, statt angenommen zu werden.

Intervall

Alle 30 Sekunden

Timeout

4 Sekunden

Schonfrist beim Start

60 Sekunden. Das Gateway wartet, bis jede governte Anwendung antwortet, bevor es sich bereit meldet. Ein Kaltstart ist langsamer als ein Neustart.

Wiederholungen

5