Studieren Sie Docker erneut aus Sicht des Systembetriebs

Systembetriebselement

Betriebselemente, diesmal jedoch nicht enthalten

Grundlagen, die Docker unterdrücken sollte

Zunächst werde ich zwei Punkte schreiben, die hier unterdrückt werden sollten.

Erstellen eines Docker-Images

Erstellen Sie ein sogenanntes Docker-Image. Grundsätzlich ist alles in Code namens DockerFile geschrieben. Nach der Installation werden keine Änderungen vorgenommen, wie bei einem normalen Betriebssystem-Setup. Alle sind im Code beschrieben.

"Um genau zu sein, können Sie auch beim Starten des Containers Korrekturen vornehmen. In vielen Fällen werden Sie Änderungen vornehmen. Zunächst wird dies jedoch oben kurz erläutert."

Containererstellung und -betrieb

Basierend auf DockerImage wird DockerContena gestartet und die Anwendung ausgeführt. Der laufende Container ist im Grunde der gleiche wie bei normalem Linux.

`Tatsächlich hat das Betriebssystem auf der Containerseite Einschränkungen in Bezug auf Kernel-Beziehungen und Hardware-Beziehungen, da es nur so herumspielt, dass es wie ein anderes Betriebssystem aussieht, aber nicht mit diesem Thema zusammenhängt, sodass ich Arbeit sparen werde. .. Der Einfachheit halber läuft das Basisbetriebssystem! !! Ich werde fortfahren als. ``

Sie können sich mit Telnet oder ssh bei einem laufenden Container anmelden und Befehle eingeben oder Programme in der Befehlszeile ausführen. Beim Erstellen eines Images wird das Basisbetriebssystem Linux ausgeführt, da immer das sogenannte Basisbetriebssystem ausgewählt wird.

`Sie können die Netzwerkeinstellungen und Laufwerkshalterungen anpassen, wenn der Container gestartet wird. ``

Behälter stoppen

Wenn der Vorgang abgeschlossen ist, stoppen Sie den Container. Normalerweise werden in diesem Fall alle Daten im Container einschließlich Protokollen usw. gelöscht.

`Um genau zu sein, können Sie das Dateisystem beim Erstellen eines Containers mounten. Dies ist ein Bild der Verwendung eines Netzwerklaufwerks unter Windows. Bei dieser Bereitstellung bleiben die Daten auch dann an der Bereitstellungsquelle, wenn der Container gestoppt wird. ``

Jedes Problem und wie man damit aus Sicht des Systembetriebs umgeht

Bibliotheksverwaltung

Wenn Sie die Bibliothek für einen Container freigeben, verschwinden alle Dateien, wenn der Container gestoppt wird. Beim nächsten Mal wird 0 aus dem Status von DckerImage gestartet.

Es gibt die folgenden Typen

  1. Erstellen Sie das Image für jede Version neu und installieren Sie das Programm erneut.
  2. Hängen Sie beim Starten des Containers den Dateibereich mit dem neuesten Programm ein und starten Sie ihn.
  3. Geben Sie das neueste Programm für den Container frei, nachdem Sie den Container gestartet haben

Ich habe mehrere Vorschläge aufgelistet, aber da die beiden unteren Vorschläge aus operativer Sicht nicht viel Verdienst haben, werde ich 1 annehmen. `Da 2 praktisch ist, wenn Docker in der Entwicklungsphase einzeln verwendet wird, wird 2 von Einzelpersonen übernommen. ``

Es besteht jedoch Raum für Überlegungen, ob die Freigabe von der Entwicklungsumgebung in die Produktionsumgebung in Bildeinheiten oder einzelnen Programmeinheiten erfolgt.

  1. Erstellen Sie ein Image in der Entwicklungsumgebung und geben Sie das gesamte Image für die Produktionsumgebung frei
  2. Verschieben Sie nur das Programm aus der Entwicklungsumgebung in die Produktionsumgebung und erstellen Sie ein Image auf der Seite der Produktionsumgebung

Welches ist besser? .. .. .. ..

Überwachung

Da es sich beim Start um ein normales Linux handelt, kann es auf die gleiche Weise wie On-Pres überwacht werden. Das Verkaufsargument ist jedoch, dass mehrere Container gestartet werden können. Daher muss überlegt werden, wie einzelne Container zum Zeitpunkt des Starts von n + identifiziert und überwacht werden können. Wenn Sie immer die Anzahl der Stiefel festlegen, verringert sich der Vorteil des Containers, Sie können ihn jedoch weiterhin wie zuvor überwachen.

Beim Starten einer Containervariablen mit n + wird der einzelne Container durch Verknüpfung mit dem Überwachungsmanager mit einem selbst gemeldeten Namen identifiziert. Es ist erforderlich, eine Namensregel für die Art des selbst gemeldeten Namens zu entwerfen.

Überwachung von Leben und Tod

Es gibt die folgenden Typen

  1. Legen Sie einen Agenten in jeden Container und lassen Sie den Agenten verschiedene Informationen zur Überwachung ausgeben
  2. Viele Containerverwaltungssoftware ist verfügbar. Überwachen Sie sie daher

In einer Umgebung, die parallel zur On-Premise-Umgebung unterstützt werden muss, werden anscheinend beide oben genannten Funktionen in Kombination unterstützt. Wenn es nur 1 ist, können die für den Container spezifischen Informationen nicht abgerufen werden, und wenn es nur 2 ist, besteht möglicherweise ein Mangel an den vorhandenen Informationen zur lokalen Erfassung.

Leistungsüberwachung

Es gibt die folgenden Typen

  1. Legen Sie einen Agenten in jeden Container und lassen Sie den Agenten verschiedene Informationen zur Überwachung ausgeben
  2. Viele Containerverwaltungssoftware ist verfügbar. Überwachen Sie sie daher

In einer Umgebung, die parallel zur On-Premise-Umgebung unterstützt werden muss, werden anscheinend beide oben genannten Funktionen in Kombination unterstützt. Wenn es nur 1 ist, können die für den Behälter spezifischen Informationen nicht erhalten werden, und wenn es nur 2 ist, kann es zu einem Überschuss oder Mangel an vorhandenen Informationen zur Abdruckerfassung kommen.

Im Gegensatz zur Überwachung von Leben und Tod müssen Protokolle gespeichert werden. Wenn der Container gestoppt wird, gehen also alle Daten verloren Es ist wichtig, Daten nach außen zu senden und zu speichern.

Sicherheitsüberwachung

Die normale Sicherheit ähnelt dem Linux-Betriebssystem, insbesondere hier Beschreibt das Betriebssystem-Sicherheitsprotokoll (Anmelde- / Abmeldeprotokoll).

Die Grundlagen sind die gleichen wie bis zu diesem Punkt. Da es sich beim Start um normales Linux handelt, können Sie das Protokoll auf die gleiche Weise wie bei on-pre überprüfen. Wenn der Container gestoppt wird, gehen alle Daten verloren. Daher ist es wichtig, die Daten nach außen zu senden und zu speichern.

Wenn jedoch bis jetzt eine verdächtige Sicherheitsverletzung vorliegt, Überprüfen Sie anhand des grundlegenden Sicherheitsprotokolls verschiedene Protokolle im Betriebssystem Ich denke, dass ich umfassend untersucht habe, aber im Falle eines Containers explizit außerhalb des Containers Wenn Sie die Protokolle nicht aufbewahren, verschwinden alle.

Backup-Management

Das Image entspricht der Sicherungsdatei.

Danach habe ich zusätzlich zur Bilddatei selbst die Bilddatei erstellt. Außerdem werden der Quellcode von DockerFile und die beim Starten des Containers verwendeten Dateien (docker-compose.yml usw.) gesichert.

Jobbetrieb

Da es sich beim Start um normales Linux handelt, melden Sie sich wie zuvor an Operationen wie die Jobausführung sind möglich.

Aber in welchen Behälter passt es? Wir brauchen einen Mechanismus, der den Startstatus und die Identifizierung des Containers unterstützt, damit wir feststellen können.

Diese liegen innerhalb des Bereichs, der von der Containerverwaltungssoftware unterstützt wird, aber es scheint schwierig zu sein. Der Entwickler der einzelnen App sagt xxx Job meiner System-App, Vor dem Betriebspersonal befinden sich unzählige Container, und es ist schwierig festzustellen, welchen der App-Mitarbeiter sagt. Außerdem weiß die für die Anwendung verantwortliche Person nicht, wie die anderen Container als sie selbst funktionieren.

Das? Wie lösen Sie das? ?? ?? Ein oder zwei Entwicklungsteams sind in Ordnung, aber mit Hunderten von Systemen, die von Dutzenden von Entwicklungsteams erstellt wurden, Was ist, wenn die Anzahl der Container in der Größenordnung von Tausenden liegt? ?? Wenn die Namensregeln beim Starten des Containers nicht korrekt sind, ist es schwierig, sie zu identifizieren. .. .. .. Eine frühzeitige Erkennung von Verstößen ist ebenfalls erforderlich. .. .. .. ..

Dinge, die über das Design bestätigt werden müssen

Recommended Posts

Studieren Sie Docker erneut aus Sicht des Systembetriebs
Erstellen Sie eine WAS-Ausführungsumgebung aus Docker
Betrachtung der Code-Benennung aus literarischer Sicht
Docker-Betriebsnotiz
So erhalten Sie einen Heapdump aus einem Docker-Container
Bereitstellen von einem lokalen Docker-Image auf Heroku
[Hinweis] Erstellen Sie mit Docker eine Java-Umgebung von Grund auf neu
[Java] Dateisystembetrieb
Holen Sie sich ganz einfach Ganzzahlen aus den Systemeigenschaften in Java
Schauen Sie sich Kotlin aus einer effektiven Java-Perspektive an