Verwendung von Kubernetes YAML-Dateien

Verwendung von Kubernetes YAML-Dateien

01 Einführung in YAML-Dateien

Wenn K8S einen Pod startet, wird es dazu eine YAML-Datei verwenden. Heute schauen wir uns das am häufigsten verwendete Format von YAML-Dateien an.

Die Syntax von YAML ist der von JSON sehr ähnlich. Beide sind in Form von Schlüssel-Wert organisiert. Es kann gängige Datentypen wie Listen und Diktate darstellen. Sein Suffix ist im Allgemeinen „.yml“. Es hat die folgenden Eigenschaften:

1. Groß- und Kleinschreibung beachten

2. Verwenden Sie Einrückungen, um fortschreitende Beziehungen anzuzeigen

3. Tabulatoren sind für Einrückungen nicht erlaubt, nur Leerzeichen sind erlaubt

4. Die Anzahl der Leerzeichen für die Einrückung ist nicht wichtig, solange die Elemente auf derselben Ebene linksbündig ausgerichtet sind, was der Python-Syntax ähnelt

5. Verwenden Sie "#", um Kommentare anzuzeigen

6. Die Schlüssel-Wert-Struktur ist von {} umgeben und die Listenstruktur ist von [] umgeben.

YAML---Schlüssel-Wert-Typ

a. Verwenden Sie zum Ausdrücken das Schlüssel:Wert-Format. Zwischen dem Schlüssel und dem Wert muss ein Leerzeichen stehen, sonst wird ein Fehler gemeldet.

b. Wenn eine hierarchische Beziehung besteht, kann sie auf die folgenden zwei Arten ausgedrückt werden:

Schlüssel: {Schlüssel1: Wert1, Schlüssel2: Wert1}

Oder Taste:
    Schlüssel1:Wert1
    Schlüssel2:Wert2

c. Stellt ein Schlüssel-Wert-Format dar, wobei der Wert ein Dict ist

Websites:
  YAML: yaml.org
   Ruby: ruby-lang.org
   Python: python.org
   Perl: use.perl.org

Ausgedrückt im JSON-Format:
  Webseiten:
    YAML: „yaml.org“,
    Ruby: „ruby-lang.org“,
    Python: „python.org“,
    Perl: „use.perl.org“
   }

YAML---Listentyp

Beginnend mit - gibt ein Array wie folgt an:

- A
- B
- C

Dargestellt als Array: [A,B,C]

Hier ist ein etwas komplexeres Beispiel:

Studierende:
    -
        ID: 1
        Name: Zhangsan
        Alter: 12
    -
        ID: 2
        Name: Lisi
        Alter: 15

Dargestellt als Array:
Schüler: [{id: 1,name: zhangsan,alter: 12},{id: 2,name: lisi,alter: 15}]

Die Elemente im Array sind auch ein Diktat der Schlüssel-Wert-Struktur.

Vergleich zwischen einem JSON und einem YAML:

Dateiknoten im YAML-Format:
  - Name: jobE
    Typ: Befehl
    Konfiguration:
      Befehl: echo "Dies ist Job E"
    hängt davon ab:
       -JobD

  - Name: jobD
    Typ: Befehl
    Konfiguration:
      Befehl: echo "Dies ist Job D"
    hängt davon ab:
      -JobA
      -jobB
      -jobC


Ausgedrückt im JSON-Format:
{
    "Knoten":[
        {
            "Name": "JobE",
            "Typ":"Befehl",
            "Konfiguration": {
                "Befehl": "echo \"Dies ist Job E\""
            },
            "hängt davon ab":[
                "JobD"
            ]
        },
        {
            "Name": "JobD",
            "Typ":"Befehl",
            "Konfiguration": {
                "Befehl": "echo \"Dies ist Job D\""
            },
            "hängt davon ab":[
                "JobA",
                "JobB",
                "jobC"
            ]
        }
    ]
}

02 Die Beziehung zwischen Master, Node und Pod in K8S

Master-Architekturdiagramm:

In:

Der API-Server bietet eine HTTP-REST-Schnittstelle, die der einzige Einstiegspunkt zum Hinzufügen, Löschen, Ändern und Überprüfen aller Ressourcen in k8s und auch der Einstiegspunkt für die Clustersteuerung ist.

Der Scheduler ist der Prozess, der für die Ressourcenplanung verantwortlich ist;

Controller Manager ist das Automatisierungskontrollzentrum für alle Ressourcenobjekte;

Etcd bietet Datenspeicherdienste für Ressourcenobjekte

K8S verwendet die Bereitstellungsmethode von Masterknoten und Knotenknoten, um den gesamten Cluster zu verwalten. Die Beziehung zwischen Masterknoten, Knotenknoten und Pod wird durch das offizielle Strukturdiagramm besser beschrieben:

Wie Sie sehen, gibt es einen direkten Kommunikationsinteraktionsprozess zwischen dem Master und dem Knoten, und der Pod wird auf dem Knoten bereitgestellt. Einfach ausgedrückt ist es:

Master ist ein Server mit einer festen IP-Adresse

Node ist ein Server mit einer festen IP-Adresse

Ein Pod ist ein Prozess auf einem Knoten und verfügt über eine virtuelle IP-Adresse, die mit der IP-Adresse des Knotens identisch sein kann, aber nicht muss.

Wie wir wissen, kann ein Pod mehrere Container haben. Wenn wir weitere Container hinzufügen, sieht es folgendermaßen aus:

Die Aufrufbeziehung zwischen ihnen ist einfach:

Wenn ein Pod erstellt wird, werden seine Informationen in den Etcd-Speicher des Masters gestellt. Anschließend werden die Informationen zum Erstellen des Pods von K8S an einen Knoten gesendet und gebunden. Anschließend wird der Kubelet-Prozess auf dem Knoten, auf dem sich der Pod befindet, in eine Gruppe verwandter Docker-Container instanziiert und gestartet.

Oben finden Sie detaillierte Informationen zur Verwendung von Kubernetes-YAML-Dateien. Weitere Informationen zu Kubernetes-YAML-Dateien finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • So stellen Sie eine Single-Node-Redis-Datenbank in einer Kubernetes-Umgebung bereit
  • Detaillierte Erläuterung der Verwendung der Cloud-native-Technologie Kubernetes Scheduling Unit Pod
  • Detailliertes Tutorial zur Verwendung des Client-Go-Tools zum Aufrufen der Kubernetes-API-Schnittstelle (Version v1.17)
  • Einführung in Kubernetes Probes

<<:  Zukunftsweisendes Allround-Webdesign: Progressive Enhancement

>>:  Zusammenfassung der Unterschiede zwischen Vues Überwachung, Berechnung und Methoden

Artikel empfehlen

Implementierung des Tomcat-Bereitstellungsprojekts und Integration mit IDEA

Inhaltsverzeichnis 3 Möglichkeiten zum Bereitstel...

javascript:void(0) Bedeutung und Anwendungsbeispiele

Einführung in das Schlüsselwort void Zunächst ein...

js realisiert die Funktion zum Klicken zum Wechseln der Karte

In diesem Artikelbeispiel wird der spezifische Co...

Das Frontend erstellt und ändert CAD-Grafikdetails über JavaScript

Inhaltsverzeichnis 1. Aktuelle Situation 2. CAD-G...

Verwendung des Vuex-Namespace

Inhaltsverzeichnis Da Vuex einen einzelnen Zustan...

jQuery-Plugin zur Implementierung des Dashboards

Das jQuery-Plug-In implementiert das Dashboard zu...

jQuery implementiert alle Warenkorbfunktionen

Inhaltsverzeichnis 1. Alles auswählen 2. Erhöhen ...

Implementierung der MySQL-Datensortierung (aufsteigend und absteigend)

Datensortierung aufsteigend, absteigend 1. Sortie...

1 Minute Vue implementiert Rechtsklickmenü

Inhaltsverzeichnis Rendern Installieren Code-Impl...

HTML-Tabelle_Powernode Java Academy

Um eine Tabelle in HTML zu zeichnen, verwenden Si...

So wechseln Sie in Linux effizient zwischen Verzeichnissen

Wenn es um den Verzeichniswechsel unter Linux geh...