Wie installiere ich Kubernetes unter Ubuntu 18?

Erfahren Sie, wie Sie Kubernetes unter Ubuntu installieren.


Kubernetes ist ein von Google entwickeltes Open-Source-Tool für die Orchestrierung von Containern. In diesem Artikel erfahren Sie, wie Sie Kubernetes mit einem Masterknoten und einem Worker-Knoten einrichten. Stellen Sie sicher, dass Docker sowohl auf dem Master- als auch auf dem Worker-Knoten installiert ist.

Umgebungsdetails und Setup

Für die Demonstration habe ich 2 Ubuntu-Systeme, eines ist der Master-Knoten und das andere ist der Worker-Knoten. Die Konfiguration beider Server ist wie folgt.

  • 2 CPUs
  • Master – 4 GB RAM / Worker – 2 GB RAM
  • 10 GB Festplatte

Verwenden Sie den Befehl hostnamectl, um den Hostnamen auf beiden Systemen festzulegen.

Auf dem Master-Knoten:

[E-Mail geschützt]: ~ $ sudo hostnamectl set-hostname kubernetes-master

Auf dem Arbeiterknoten:

[E-Mail geschützt]: ~ $ sudo hostnamectl set-hostname kubernetes-worker

Nachfolgend sind die Details beider Knoten aufgeführt.

Hauptknoten

  • Hostname: kubernetes-master
  • IP-Adresse: 192.168.0.107

Arbeiterknoten

  • Hostname: kubernetes-worker
  • IP-Adresse: 192.168.0.108

Bearbeiten Sie die Hosts-Datei auf beiden Systemen.

[E-Mail geschützt]: ~ $ sudo gedit / etc / hosts

192.168.0.107 kubernetes-master
192.168.0.109 kubernetes-worker

Bevor Sie mit der Installation von Kubernetes beginnen, führen Sie den folgenden Befehl sowohl auf dem Master- als auch auf dem Worker-Knoten aus, um zu überprüfen, ob Docker aktiv ist.

[E-Mail geschützt]: ~ $ sudo service docker status
[sudo] Passwort für Geekflare:
● docker.service – Docker Application Container Engine
Geladen: geladen (/lib/systemd/system/docker.service; aktiviert; Hersteller-Voreinstellung: aktiviert)
Aktiv: aktiv (läuft) seit Sa 2019-11-23 15:39:36 EST; Vor 3 Wochen 0 Tagen
Dokumente: https://docs.docker.com
Haupt-PID: 8840 (Dockerd)
Aufgaben: 17
Speicher: 42,3 Millionen
CGroup: /system.slice/docker.service
40─8840 / usr / bin / dockerd -H fd: // –containerd = / run / Containerd / containerd.sock

23. November 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.091941184-05: 00" level = Warnung msg ="Ihr Kernel unterstützt cgrou nicht
23. November 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.093149218-05: 00" level = info msg ="Container laden: starten."
23. November 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.957842188-05: 00" level = info msg ="Die Standardbrücke (docker0) ist zugewiesen
23. November 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.078753190-05: 00" level = info msg ="Container laden: fertig."
23. November 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.664727326-05: 00" level = info msg ="Docker-Daemon" commit = 481bc77 graphdr
23. November 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.817929464-05: 00" level = error msg ="Cluster mit Fehler beendet: Fehler whi
23. November 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.820439024-05: 00" level = error msg ="Schwarmkomponente konnte nicht gestartet werden
23. November 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.820821712-05: 00" level = info msg ="Daemon hat die Initialisierung abgeschlossen"
23. November 15:39:36 geekflare systemd [1]: Docker Application Container Engine gestartet.
23. November 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.883382952-05: 00" level = info msg ="API hört auf /home/geekflare/docker.sock
Zeilen 1-20 / 20 (ENDE)

Installieren Sie Kubernetes

Führen Sie alle in diesem Abschnitt genannten Befehle auf Master- und Worker-Knoten aus.

Fügen Sie zunächst den Kubernetes-Paket-Repository-Schlüssel hinzu.

[E-Mail geschützt]: ~ $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key hinzufügen
[sudo] Passwort für Geekflare:
OK

Führen Sie den folgenden Befehl aus, um das Kubernetes-Paketrepository zu konfigurieren.

[E-Mail geschützt]: ~ $ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Treffer: 1 https://download.docker.com/linux/ubuntu bionic InRelease
Treffer: 2 http://ppa.launchpad.net/ansible/ansible/ubuntu cosmic InRelease
Get: 3 http://apt.puppetlabs.com bionic InRelease [85,3 kB]
Treffer: 5 http://security.ubuntu.com/ubuntu Cosmic-Security InRelease
Treffer: 6 http://us.archive.ubuntu.com/ubuntu cosmic InRelease
Ign: 7 http://pkg.jenkins.io/debian-stable binary / InRelease
Treffer: 8 http://us.archive.ubuntu.com/ubuntu kosmische Updates InRelease
Treffer: 9 http://pkg.jenkins.io/debian-stable binary / Release
Treffer: 10 http://us.archive.ubuntu.com/ubuntu cosmic-backports InRelease
Holen Sie sich: 4 https://packages.cloud.google.com/apt kubernetes-xenial InRelease [8.993 B]
Get: 11 http://apt.puppetlabs.com bionic / puppet6 amd64-Pakete [36,1 kB]
Holen Sie sich: 13 https://packages.cloud.google.com/apt kubernetes-xenial / main amd64-Pakete [32,2 kB]
Abgerufen 163 kB in 3 s (49,1 kB / s)
Paketlisten lesen … Fertig

Deaktivieren Sie den Swap auf beiden Knoten, bevor Sie fortfahren.

[E-Mail geschützt]: ~ $ sudo swapoff -a

Installieren Sie Kubeadm

Jetzt müssen Sie kubeadm installieren.

kubeadm ist ein Tool in Kubernetes, mit dem Knoten im Kubernetes-Cluster hinzugefügt werden.

[E-Mail geschützt]: ~ $ sudo apt-get install kubeadm -y
Paketlisten lesen … Fertig
Abhängigkeitsbaum erstellen
Statusinformationen lesen … Fertig
Die folgenden zusätzlichen Pakete werden installiert:
conntrack cri-tools ebtables ethtool kubectl kubelet kubernetes-cni socat
Die folgenden NEUEN Pakete werden installiert:
conntrack cri-tools ebtables ethtool kubeadm kubectl kubelet kubernetes-cni socat
0 aktualisiert, 9 neu installiert, 0 entfernt und 235 nicht aktualisiert.
Benötigt 51,8 MB an Archiven.
Nach diesem Vorgang werden 273 MB zusätzlicher Speicherplatz verwendet.
Get: 3 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 conntrack amd64 1: 1.4.5-1 [30.2 kB]
Holen Sie sich: 1 https://packages.cloud.google.com/apt kubernetes-xenial / main amd64 cri-tools amd64 1.13.0-00 [8.776 kB]
Get: 6 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 ebtables amd64 2.0.10.4-3.5ubuntu5 [79,8 kB]
Get: 8 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 ethtool amd64 1: 4,16-1 [115 kB]
Get: 9 http://us.archive.ubuntu.com/ubuntu cosmic / main amd64 socat amd64 1.7.3.2-2ubuntu2 [342 kB]
Holen Sie sich: 2 https://packages.cloud.google.com/apt kubernetes-xenial / main amd64 kubernetes-cni amd64 0.7.5-00 [6.473 kB]
Holen Sie sich: 4 https://packages.cloud.google.com/apt kubernetes-xenial / main amd64 kubelet amd64 1.17.0-00 [19,2 MB]
Holen Sie sich: 5 https://packages.cloud.google.com/apt kubernetes-xenial / main amd64 kubectl amd64 1.17.0-00 [8.742 kB]
Holen Sie sich: 7 https://packages.cloud.google.com/apt kubernetes-xenial / main amd64 kubeadm amd64 1.17.0-00 [8.059 kB]
51,8 MB in 8 s (6.419 kB / s) abgerufen
Auswahl des zuvor nicht ausgewählten Paket-Conntracks.
(Datenbank lesen … 318151 Dateien und Verzeichnisse derzeit installiert.)
Vorbereitung zum Auspacken … / 0-conntrack_1% 3a1.4.5-1_amd64.deb …
Conntrack auspacken (1: 1.4.5-1) …
Auswahl zuvor nicht ausgewählter Paket-Cri-Tools.
Vorbereitung zum Auspacken … / 1-cri-tools_1.13.0-00_amd64.deb …
Auspacken von Cri-Tools (1.13.0-00) …
Auswahl zuvor nicht ausgewählter Paket-Ebtables.
Vorbereitung zum Auspacken … / 2-ebtables_2.0.10.4-3.5ubuntu5_amd64.deb …
Auspacken von ebtables (2.0.10.4-3.5ubuntu5) …
Auswahl des zuvor nicht ausgewählten Pakets ethtool.
Vorbereitung zum Auspacken … / 3-ethtool_1% 3a4.16-1_amd64.deb …
Ethhtool auspacken (1: 4.16-1) …
Auswahl des zuvor nicht ausgewählten Pakets kubernetes-cni.
Vorbereitung zum Entpacken … / 4-kubernetes-cni_0.7.5-00_amd64.deb …
Kubernetes-cni (0.7.5-00) auspacken …
Auswählen eines zuvor nicht ausgewählten Paket-Socats.
Vorbereitung zum Auspacken … / 5-socat_1.7.3.2-2ubuntu2_amd64.deb …
Socat auspacken (1.7.3.2-2ubuntu2) …
Auswahl des zuvor nicht ausgewählten Paket-Kubelets.
Vorbereitung zum Auspacken … / 6-kubelet_1.17.0-00_amd64.deb …
Kubelet auspacken (1.17.0-00) …
Auswahl des zuvor nicht ausgewählten Pakets kubectl.
Vorbereitung zum Auspacken … / 7-kubectl_1.17.0-00_amd64.deb …
Kubectl auspacken (1.17.0-00) …
Auswahl des zuvor nicht ausgewählten Pakets kubeadm.
Vorbereitung zum Auspacken … / 8-kubeadm_1.17.0-00_amd64.deb …
Kubeadm auspacken (1.17.0-00) …
Conntrack einrichten (1: 1.4.5-1) …
Einrichten von kubernetes-cni (0.7.5-00) …
Cri-Tools einrichten (1.13.0-00) …
Socat einrichten (1.7.3.2-2ubuntu2) …
Verarbeitungsauslöser für systemd (239-7ubuntu10.12) …
Einrichten von ebtables (2.0.10.4-3.5ubuntu5) …
Symlink /etc/systemd/system/multi-user.target.wants/ebtables.service → /lib/systemd/system/ebtables.service erstellt.
update-rc.d: Warnung: Start- und Stoppaktionen werden nicht mehr unterstützt. auf Standardeinstellungen zurückgreifen
Kubectl einrichten (1.17.0-00) …
Verarbeitungsauslöser für man-db (2.8.4-2) …
Ethtool einrichten (1: 4.16-1) …
Kubelet einrichten (1.17.0-00) …
Symlink /etc/systemd/system/multi-user.target.wants/kubelet.service → /lib/systemd/system/kubelet.service erstellt.
Kubeadm einrichten (1.17.0-00) …
Verarbeitungsauslöser für systemd (239-7ubuntu10.12) …

Überprüfen Sie die kubeadm-Version, um festzustellen, ob sie korrekt installiert wurde.

[E-Mail geschützt]: ~ $ kubeadm Version
kubeadm version: &version.Info {Major:"1", Geringer:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"sauber", BuildDate:"2019-12-07T21: 17: 50Z", GoVersion:"go1.13.4", Compiler:"gc", Plattform:"Linux / AMD64"}}

Kubernetes Cluster initialisieren

Führen Sie nun den Befehl init aus, um den Kubernetes-Cluster nur auf dem zu initialisieren Hauptknoten. Verwenden Sie –apiserver-Advertise-Address, um dem Worker-Knoten die IP-Adresse des Masters mitzuteilen.

[E-Mail geschützt]: ~ $ sudo kubeadm init –apiserver-werbeadresse = 192.168.0.107 –pod-network-cidr = 10.244.0.0 / 16
W1217 11: 05: 15.474854 10193 validation.go: 28] Kube-Proxy-Konfiguration kann nicht validiert werden – es ist kein Validator verfügbar
W1217 11: 05: 15.474935 10193 validation.go: 28] Kubelet-Konfiguration kann nicht validiert werden – es ist kein Validator verfügbar
[init] Verwenden von Kubernetes Version: v1.17.0
[Preflight] Ausführen von Pre-Flight-Checks
[WARNUNG IsDockerSystemdCheck]: erkannt "cgroupfs" als Docker cgroup-Treiber. Der empfohlene Treiber ist "systemd". Bitte folgen Sie der Anleitung unter https://kubernetes.io/docs/setup/cri/
[Preflight] Abrufen von Bildern, die zum Einrichten eines Kubernetes-Clusters erforderlich sind
[Preflight] Dies kann je nach Geschwindigkeit Ihrer Internetverbindung ein oder zwei Minuten dauern
[Preflight] Sie können diese Aktion auch vorher mit ‘kubeadm config images pull’ ausführen.
[kubelet-start] Schreiben einer Kubelet-Umgebungsdatei mit Flags in Datei "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Schreiben der Kubelet-Konfiguration in die Datei "/var/lib/kubelet/config.yaml"
[Kubelet-Start] Starten des Kubelet
[certs] Verwenden des Zertifikatsordners "/ etc / kubernetes / pki"
[Zertifikate] Generieren "ca." Zertifikat und Schlüssel
[Zertifikate] Generieren "Apiserver" Zertifikat und Schlüssel
[certs] Apiserver Serving Cert ist für DNS-Namen signiert [kubernetes-master kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] und IPs [10.96.0.1 192.168.0.107]
[Zertifikate] Generieren "Apiserver-Kubelet-Client" Zertifikat und Schlüssel
[Zertifikate] Generieren "Front-Proxy-Ca" Zertifikat und Schlüssel
[Zertifikate] Generieren "Front-Proxy-Client" Zertifikat und Schlüssel
[Zertifikate] Generieren "etcd / ca." Zertifikat und Schlüssel
[Zertifikate] Generieren "etcd / server" Zertifikat und Schlüssel
[Zertifikate] etcd / Server Serving Cert ist für DNS-Namen [kubernetes-master localhost] und IPs [192.168.0.107 127.0.0.1 :: 1] signiert.
[Zertifikate] Generieren "etcd / peer" Zertifikat und Schlüssel
[Zertifikate] etcd / Peer-Serving-Zertifikat ist für DNS-Namen [kubernetes-master localhost] und IPs [192.168.0.107 127.0.0.1 :: 1] signiert.
[Zertifikate] Generieren "etcd / healthcheck-client" Zertifikat und Schlüssel
[Zertifikate] Generieren "apiserver-etcd-client" Zertifikat und Schlüssel
[Zertifikate] Generieren "sa" Schlüssel und öffentlicher Schlüssel
[kubeconfig] Verwenden des Ordners kubeconfig "/ etc / kubernetes"
[kubeconfig] Schreiben "admin.conf" kubeconfig Datei
[kubeconfig] Schreiben "kubelet.conf" kubeconfig Datei
[kubeconfig] Schreiben "controller-manager.conf" kubeconfig Datei
[kubeconfig] Schreiben "scheduler.conf" kubeconfig Datei
[Steuerebene] Manifestordner verwenden "/ etc / kubernetes / manifestes"
[Steuerebene] Erstellen eines statischen Pod-Manifests für "kube-apiserver"
[Steuerebene] Erstellen eines statischen Pod-Manifests für "kube-controller-manager"
W1217 11: 05: 25.584769 10193 manifestes.go: 214] Der Standardautorisierungsmodus für Kube-Apiserver ist "Knoten, RBAC";; mit "Knoten, RBAC"
[Steuerebene] Erstellen eines statischen Pod-Manifests für "kube-scheduler"
W1217 11: 05: 25.587128 10193 manifest.go: 214] Der Standardautorisierungsmodus für Kube-Apiserver ist "Knoten, RBAC";; mit "Knoten, RBAC"
[etcd] Erstellen eines statischen Pod-Manifests für lokales etcd in "/ etc / kubernetes / manifestes"
[wait-control-plane] Warten, bis das Kubelet die Steuerebene als statische Pods aus dem Verzeichnis hochfährt "/ etc / kubernetes / manifestes". Dies kann bis zu 4 Minuten dauern
[apiclient] Alle Komponenten der Steuerebene sind nach 35.010368 Sekunden fehlerfrei
[upload-config] Speichern der in ConfigMap verwendeten Konfiguration "kubeadm-config" in dem "kube-system" Namespace
[kubelet] Erstellen einer ConfigMap "kubelet-config-1.17" im Namespace kube-system mit der Konfiguration für die kubelets im Cluster
[Upload-Zertifikate] Überspringphase. Bitte beachten Sie –upload-certs
[mark-control-plane] Markieren Sie den Knoten kubernetes-master als Control-Ebene, indem Sie das Label hinzufügen "node-role.kubernetes.io/master= ”"
[mark-control-plane] Markieren des Knotens kubernetes-master als Steuerebene durch Hinzufügen der Taints [node-role.kubernetes.io/master:NoSchedule]
[Bootstrap-Token] Verwenden des Tokens: dmamk9.0nmo62mhom8961qw
[Bootstrap-Token] Konfigurieren von Bootstrap-Token, Cluster-Info ConfigMap, RBAC-Rollen
[Bootstrap-Token] hat die RBAC-Regeln so konfiguriert, dass Node Bootstrap-Token CSRs veröffentlichen können, damit Knoten langfristige Zertifikatsanmeldeinformationen erhalten
[Bootstrap-Token] hat die RBAC-Regeln so konfiguriert, dass der csrapprover-Controller CSRs von einem Node Bootstrap-Token automatisch genehmigt
[Bootstrap-Token] hat die RBAC-Regeln so konfiguriert, dass die Zertifikatrotation für alle Knotenclientzertifikate im Cluster möglich ist
[Bootstrap-Token] Erstellen des "Cluster-Info" ConfigMap in der "kube-public" Namespace
[kubelet-finalize] Aktualisierung "/etc/kubernetes/kubelet.conf" um auf ein drehbares Kubelet-Client-Zertifikat und einen Schlüssel zu verweisen
[Addons] Angewandtes essentielles Addon: CoreDNS
[Addons] Angewandtes essentielles Addon: kube-proxy

Ihre Kubernetes-Steuerebene wurde erfolgreich initialisiert!

Um Ihren Cluster verwenden zu können, müssen Sie als regulärer Benutzer Folgendes ausführen:

mkdir -p $ HOME / .kube
sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
sudo chown $ (id -u): $ (id -g) $ HOME / .kube / config

Als Nächstes müssen Sie ein Pod-Netzwerk im Cluster bereitstellen.

Führen Sie kubectl apply -f [podnetwork] .yaml mit einer der unter https://kubernetes.io/docs/concepts/cluster-administration/addons/ aufgeführten Optionen aus.

Anschließend können Sie einer beliebigen Anzahl von Worker-Knoten beitreten, indem Sie jeweils Folgendes als Root ausführen:

kubeadm join 192.168.0.107:6443 –token dmamk9.0nmo62mhom8961qw –discovery-token-ca-cert-hash sha256: 2de92f42e84d2020d8b19b1778785df5f8196e5eedaa5664ad911e8c23f89

Erstellen Sie, wie in der obigen Ausgabe erwähnt, das Verzeichnis .kube und kopieren Sie die Datei admin.conf in die Konfigurationsdatei im Verzeichnis .kube.

[E-Mail geschützt]: ~ $ mkdir -p $ HOME / .kube
[E-Mail geschützt]: ~ $ sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
[E-Mail geschützt]: ~ $ sudo chown $ (id -u): $ (id -g) $ HOME / .kube / config

In diesem Moment, wenn Sie den Befehl kubectl get node ausführen, wird der Status des Masterknotens NotReady angezeigt.

[E-Mail geschützt]: ~ $ sudo kubectl Knoten abrufen
NAME STATUS ROLES AGE VERSION
kubernetes-master NotReady master 2m34s v1.17.0

Pod-Netzwerk bereitstellen – Flanell

Als Nächstes müssen Sie ein Pod-Netzwerk auf dem Masterknoten bereitstellen. Ich benutze das Flanell-Pod-Netzwerk. Es wird zur Kommunikation zwischen Knoten im Kubernetes-Cluster verwendet.

[E-Mail geschützt]: ~ $ sudo kubectl bewerben -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
podsecuritypolicy.policy / psp.flannel.unprivileged erstellt
clusterrole.rbac.authorization.k8s.io/flannel erstellt
clusterrolebinding.rbac.authorization.k8s.io/flannel erstellt
Servicekonto / Flanell erstellt
configmap / kube-flannel-cfg erstellt
daemonset.apps / kube-flannel-ds-amd64 erstellt
daemonset.apps / kube-flannel-ds-arm64 erstellt
daemonset.apps / kube-flannel-ds-arm erstellt
daemonset.apps / kube-flannel-ds-ppc64le erstellt
daemonset.apps / kube-flannel-ds-s390x erstellt

Überprüfen Sie den Status des Masterknotens. Er muss sich im Bereitschaftszustand befinden.

[E-Mail geschützt]: ~ $ sudo kubectl Knoten abrufen
NAME STATUS ROLES AGE VERSION
kubernetes-master Bereit für Master 4m41s v1.17.0

Überprüfen Sie nach einigen Sekunden, ob alle Pods betriebsbereit sind.

[E-Mail geschützt]: ~ $ kubectl get pods –all-namespaces
NAMESPACE NAME BEREIT STATUS RESTARTS ALTER
kube-system coredns-6955765f44-rzw9d 1/1 Laufen 0 4m17s
kube-system coredns-6955765f44-xvgdp 1/1 Läuft 0 4m17s
kube-system etcd-kubernetes-master 1/1 Läuft 0 4m27s
kube-system kube-apiserver-kubernetes-master 1/1 Läuft 0 4m27s
kube-system kube-controller-manager-kubernetes-master 1/1 Läuft 0 4m27s
kube-system kube-flanell-ds-amd64-c2rf5 1/1 Läuft 0 81s
kube-system kube-proxy-mvdd7 1/1 Läuft 0 4m17s
kube-system kube-scheduler-kubernetes-master 1/1 Läuft 0 4m27s

Fügen Sie dem Cluster einen Arbeiterknoten hinzu

Nachdem Ihr Masterknoten ordnungsgemäß konfiguriert wurde und ausgeführt wird, müssen Sie den Worker-Knoten hinzufügen. Hier müssen Sie den Join-Befehl auf dem Worker-Knoten ausführen, den Sie nach der Initialisierung von kubeadm erhalten haben.

Führen Sie den folgenden Befehl auf dem Worker-Knoten aus, um dem Master-Knoten beizutreten.

[E-Mail geschützt]: ~ $ sudo kubeadm join 192.168.0.107:6443 –token dmamk9.0nmo62mhom8961qw –discovery-token-ca-cert-hash sha256: 2de92f42e84d2020d8b19b1778785df5f8196e5eedaa56649119
[sudo] Passwort für Geekflare:
W1217 11: 08: 01.066191 28968 join.go: 346] [Preflight] WARNUNG: Die Einstellungen für JoinControlPane.controlPlane werden ignoriert, wenn das Flag für die Steuerebene nicht gesetzt ist.
[Preflight] Vor-Flug-Checks durchführen
[WARNUNG IsDockerSystemdCheck]: erkannt "cgroupfs" als Docker cgroup-Treiber. Der empfohlene Treiber ist "systemd". Bitte folgen Sie der Anleitung unter https://kubernetes.io/docs/setup/cri/
[Preflight] Konfiguration aus dem Cluster lesen…
[Preflight] FYI: Sie können diese Konfigurationsdatei mit ‘kubectl -n kube-system get cm kubeadm-config -oyaml’ ansehen.
[kubelet-start] Herunterladen der Konfiguration für das kubelet aus dem "kubelet-config-1.17" ConfigMap im Namespace des Kubesystems
[kubelet-start] Schreiben der Kubelet-Konfiguration in die Datei "/var/lib/kubelet/config.yaml"
[kubelet-start] Schreiben einer Kubelet-Umgebungsdatei mit Flags in Datei "/var/lib/kubelet/kubeadm-flags.env"
[Kubelet-Start] Starten des Kubelet
[kubelet-start] Warten auf die Ausführung des TLS-Bootstraps durch das kubelet…

Dieser Knoten ist dem Cluster beigetreten:
* Eine Zertifikatsignierungsanforderung wurde an apiserver gesendet und eine Antwort wurde empfangen.
* Das Kubelet wurde über die neuen sicheren Verbindungsdetails informiert.

Führen Sie ‘kubectl get node’ auf der Steuerebene aus, um zu sehen, wie dieser Knoten dem Cluster beitritt.

Auf dem Master-Knoten:

Nachdem der Worker-Knoten dem Cluster beigetreten ist, werden jetzt einige weitere Pods ausgeführt.

[E-Mail geschützt]: ~ $ kubectl get pods –all-namespaces
NAMESPACE NAME BEREIT STATUS RESTARTS ALTER
kube-system coredns-6955765f44-9c7jc 1/1 Laufen 0 5m3s
kube-system coredns-6955765f44-c9s9r 1/1 Läuft 0 5m3s
kube-system etcd-kubernetes-master 1/1 Läuft 0 5m12s
kube-system kube-apiserver-kubernetes-master 1/1 Läuft 0 5m12s
kube-system kube-controller-manager-kubernetes-master 1/1 Läuft 0 5m13s
kube-system kube-flanell-ds-amd64-lgr62 1/1 Läuft 0 3m35s
kube-system kube-flanell-ds-amd64-n6vwm 1/1 Laufen 0 27s
kube-system kube-proxy-9mqp6 1/1 Läuft 0 27s
kube-system kube-proxy-kwkz2 1/1 Läuft 0 5m3s
kube-system kube-scheduler-kubernetes-master 1/1 Läuft 0 5m13s

Führen Sie nun den Befehl kubectl erneut auf dem Masterknoten aus, um zu überprüfen, ob der Worker-Knoten dem Cluster beigetreten ist und im Status Bereit ausgeführt wird.

[E-Mail geschützt]: ~ $ kubectl Knoten abrufen
NAME STATUS ROLES AGE VERSION
kubernetes-master Bereit für Master 5m27s v1.17.0
kubernetes-worker Ready 31s v1.17.0

Fazit

Nachdem das Kubernetes-Setup fertig ist, können Sie mit der Orchestrierung von Containern im Kubernetes-Cluster beginnen. Wenn Kubernetes Sache Sie begeistert, möchten Sie vielleicht lernen, indem Sie dies nehmen Udemy natürlich.

STICHWORTE:

  • Docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map