Wie man

Kubernetes-Cluster auf CentOS 7 mit kubeadm . installieren

Kubernetes-Cluster auf CentOS 7 mit kubeadm . installieren

In diesem Leitfaden erfahren Sie, wie Sie mit dem kubeadm-Tool einen minimal tragfähigen Kubernetes-Cluster auf CentOS 7 bereitstellen. Kubeadm ist ein Befehlszeilentool, das Benutzern dabei hilft, einen Kubernetes-Cluster zu booten, der den Best Practices entspricht. Dieses Tool unterstützt Funktionen zur Verwaltung des Cluster-Lebenszyklus wie Bootstrap-Token und Cluster-Upgrades.

Für die Debian-Installation: Kubernetes-Cluster auf Debian 10 mit Kubespray bereitstellen

In den nächsten Abschnitten wird der Prozess der Bereitstellung eines minimalen Kubernetes-Clusters auf CentOS 7-Servern ausführlich erläutert. Diese Installation ist für a einzelne Steuerebene Cluster. Wir haben andere Anleitungen zur Bereitstellung von hochverfügbaren Kubernetes-Clustern mit RKE und Kubespray.

Schritt 1: Kubernetes-Server vorbereiten

Die minimalen Serveranforderungen für die im Cluster verwendeten Server sind:

Da dieses Setup für Entwicklungszwecke gedacht ist, habe ich einen Server mit den folgenden Details

Server TypServer-HostnameSpezifikationen
Meisterk8s-master01.Computerforgeeks.com4GB RAM, 2vcpus
Arbeiterk8s-worker01.Computerforgeeks.com4GB RAM, 2vcpus
Arbeiterk8s-worker02.Computerforgeeks.com4GB RAM, 2vcpus

Melden Sie sich bei allen Servern an und aktualisieren Sie das Betriebssystem.

sudo yum -y update && sudo systemctl reboot

Schritt 2: kubelet, kubeadm und kubectl . installieren

Fügen Sie nach dem Neustart der Server das Kubernetes-Repository für CentOS 7 zu allen Servern hinzu.

sudo tee /etc/yum.repos.d/kubernetes.repo<

Installieren Sie dann die erforderlichen Pakete.

sudo yum -y install epel-release vim git curl wget kubelet kubeadm kubectl --disableexcludes=kubernetes

Bestätigen Sie die Installation, indem Sie die Version von kubectl . überprüfen.

$ kubectl version --client Clientversion: version.InfoMajor:"1", Minor:"18", GitVersion:"v1.18.3", GitCommit:"2e7996e3e2712684bc73f0dec0200d64eec7fe40", GitTreeState:"clean", BuildDate:"2020-05-20T12:52:00Z", GoVersion:"go1.13.9", Compiler:"gc", Plattform:"linux/amd64"

Schritt 3: Deaktivieren Sie SELinux und Swap

Wenn Sie SELinux im Durchsetzungsmodus haben, schalten Sie es aus oder verwenden Sie den Permissive-Modus.

sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Swap deaktivieren.

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab sudo swapoff -a

System konfigurieren.

sudo modprobe Overlay sudo modprobe br_netfilter sudo tee /etc/sysctl.d/kubernetes.conf<

Schritt 4: Container-Laufzeit installieren

Um Container in Pods auszuführen, verwendet Kubernetes eine Container-Laufzeit. Unterstützte Containerlaufzeiten sind:

HINWEIS: Sie müssen jeweils eine Laufzeit auswählen.

Docker-Laufzeit installieren:

# Pakete installieren sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.Docker.com/linux/centos/docker-ce.repo sudo yum update -y && yum install -y containerd.io-1.2.13 docker-ce-19.03.8 docker-ce-cli-19.03.8 # Erforderliche Verzeichnisse erstellen sudo mkdir /etc/docker sudo mkdir -p /etc/systemd/system/docker.Bedienung.d # Daemon-Json-Konfigurationsdatei erstellen sudo tee /etc/docker/daemon.json <

CRI-O installieren:

# Stellen Sie sicher, dass Sie Module laden sudo modprobe overlay sudo modprobe br_netfilter # Einrichten der erforderlichen sysctl-Parameter sudo tee /etc/sysctl.d/kubernetes.conf<

Containerd installieren:

# Konfiguriere das dauerhafte Laden von Modulen sudo tee /etc/modules-load.d/containerd.conf < /etc/containerd/config.toml # restart containerd sudo systemctl restart containerd sudo systemctl enable containerd 

Um den systemd cgroup-Treiber zu verwenden, setzen Sie Plugins.kriechen.systemd_cgroup = true im /etc/containerd/config.toml. Wenn Sie kubeadm verwenden, konfigurieren Sie den cgroup-Treiber für kubelet manuell

Schritt 5: Firewalld konfigurieren

Wenn Sie einen aktiven Firewall-Dienst haben, müssen eine Reihe von Ports aktiviert werden.

Master-Server-Ports:

sudo Firewall-cmd --add-port=6443,2379-2380,10250,10251,10252,5473,179,5473/tcp --permanent sudo Firewall-cmd --add-port=4789,8285,8472 /udp --permanent sudo Firewall-cmd --reload

Worker-Knoten-Ports:

sudo Firewall-cmd --add-port=10250,30000-32767,5473,179,5473/tcp --permanent sudo Firewall-cmd --add-port=4789,8285,8472/udp --permanent sudo Firewall-cmd --reload

Schritt 6: Initialisieren Sie Ihren Steuerungsebenenknoten

Melden Sie sich am Server an, der als Master verwendet werden soll, und stellen Sie sicher, dass die br_netfilter Modul wird geladen:

$ lsmod | grep br_netfilter br_netfilter 22256 0 Brücke 151336 2 br_netfilter,ebtable_broute

Kubelet-Dienst aktivieren.

sudo systemctl aktivieren kubelet

Wir möchten nun die Maschine initialisieren, auf der die Komponenten der Steuerungsebene ausgeführt werden, die Folgendes umfasst: etcd (die Cluster-Datenbank) und den API-Server.

Container-Images abrufen:

$ sudo kubeadm config images pull [config/images] Gezogene k8s.gcr.io/kube-apiserver:v1.18.3 [config/images] Gezogene k8s.gcr.io/kube-controller-manager:v1.18.3 [config/images] Gezogene k8s.gcr.io/kube-scheduler:v1.18.3 [config/images] Gezogene k8s.gcr.io/kube-proxy:v1.18.3 [config/images] Gezogene k8s.gcr.io/pause:3.2 [config/images] Gezogene k8s.gcr.io/etcd: 3.4.3-0 [config/images] Gezogene k8s.gcr.io/coredns:1.6.7

Das sind die Grundlagen kubeadm init Optionen, die verwendet werden, um Cluster zu booten.

--Kontrollebenen-Endpunkt : Legen Sie den gemeinsamen Endpunkt für alle Knoten der Steuerungsebene fest. Kann DNS/IP sein --pod-netzwerk-cidr : Wird verwendet, um ein Pod-Netzwerk-Add-On CIDR einzurichten --Cri-Sockel : Verwenden Sie, wenn Sie mehr als eine Container-Laufzeit haben, um den Laufzeit-Socket-Pfad festzulegen --apiserver-address-address : Legen Sie eine Werbeadresse für den API-Server dieses bestimmten Steuerungsebenenknotens fest

Legen Sie den DNS-Namen des Cluster-Endpunkts fest oder fügen Sie der Datei /etc/hosts einen Eintrag hinzu.

$ sudo vim /etc/hosts 172.29.20.5 k8s-Cluster.Computerforgeeks.com

Cluster erstellen:

sudo kubeadm init \ --pod-network-cidr=192.168.0.0/16 \ --control-plane-endpoint=k8s-cluster.Computerforgeeks.com 

Hinweis: Wenn 192.168.0.0/16 bereits in Ihrem Netzwerk verwendet wird, müssen Sie ein anderes Pod-Netzwerk-CIDR auswählen, das 192 . ersetzt.168.0.0/16 im obigen Befehl.

Container-Laufzeitsockets:

LaufzeitPfad zum Unix-Domain-Socket
Docker/var/run/docker.Socke
containerd/run/containerd/containerd.Socke
CRI-O/var/run/crio/crio.Socke

Sie können optional eine Socket-Datei für die Laufzeit übergeben und die Adresse abhängig von Ihrem Setup bekanntgeben.

Hier ist die Ausgabe meines Initialisierungsbefehls.

… [init] Kubernetes-Version verwenden: v1.18.3 [Preflight] Ausführen von Pre-Flight-Checks [WARNUNG Firewalld]: Firewalld ist aktiv, bitte stellen Sie sicher, dass die Ports [6443 10250] geöffnet sind oder Ihr Cluster möglicherweise nicht richtig funktioniert [Preflight] Zum Einrichten eines Kubernetes-Clusters erforderliche Bilder werden abgerufen [Preflight] Dies kann ein oder zwei Minuten dauern, abhängig von der Geschwindigkeit Ihrer Internetverbindung [preflight] Sie können diese Aktion auch vorher mit 'kubeadm config images pull' ausführen [kubelet-start] Schreiben einer kubelet-Umgebungsdatei mit Flags in die Datei "/var/" lib/kubelet/kubeadm-flags.env" [kubelet-start] Kubelet-Konfiguration in Datei "/var/lib/kubelet/config . schreiben.yaml" [kubelet-start] Kubelet starten [certs] Using certificateDir-Ordner "/etc/kubernetes/pki" [certs] Vorhandene CA-Zertifizierungsstelle verwenden [certs] Vorhandenes apiserver-Zertifikat und Schlüssel auf der Festplatte verwenden [certs] kubelet-client-Zertifikat und Schlüssel auf Datenträger [certs] Verwenden einer vorhandenen Front-Proxy-CA-Zertifizierungsstelle [certs] Verwenden eines vorhandenen Front-Proxy-Client-Zertifikats und -Schlüssels auf Datenträger [certs] Verwenden einer vorhandenen etcd/ca-Zertifizierungsstelle [certs] Verwenden einer vorhandenen etcd/server-Zertifikat und Schlüssel auf Datenträger [Zertifikate] Vorhandenes etcd/Peer-Zertifikat und Schlüssel auf Datenträger verwenden [Zertifikate] Vorhandenes etcd/Healthcheck-Client-Zertifikat und Schlüssel auf Datenträger verwenden [Zertifikate] Vorhandenes apiserver-etcd-Client-Zertifikat und Schlüssel verwenden disk [certs] Verwenden des vorhandenen "sa"-Schlüssels [kubeconfig] Verwenden des kubeconfig-Ordners "/etc/kubernetes" [kubeconfig] Verwenden der vorhandenen kubeconfig-Datei: "/etc/kubernetes/admin.conf" [kubeconfig] Vorhandene kubeconfig-Datei verwenden: "/etc/kubernetes/kubelet.conf" [kubeconfig] Vorhandene kubeconfig-Datei verwenden: "/etc/kubernetes/controller-manager.conf" [kubeconfig] Vorhandene kubeconfig-Datei verwenden: "/etc/kubernetes/scheduler.conf" [control-plane] Manifestordner "/etc/kubernetes/manifests" verwenden [control-plane] Statisches Pod-Manifest für "kube-apiserver" erstellen [control-plane] Statisches Pod-Manifest für "kube-controller-manager" erstellen W0611 22:34:23.276374 4726 Manifeste.go:225] der standardmäßige kube-apiserver-Autorisierungsmodus ist "Node,RBAC"; using "Node,RBAC" [control-plane] Statisches Pod-Manifest für "kube-scheduler" erstellen W0611 22:34:23.278380 4726 Manifeste.go:225] der standardmäßige kube-apiserver-Autorisierungsmodus ist "Node,RBAC"; using "Node,RBAC" [etcd] Erstellen eines statischen Pod-Manifests für lokales etcd in "/etc/kubernetes/manifests" [wait-control-plane] Warten darauf, dass das Kubelet die Steuerungsebene als statische Pods aus dem Verzeichnis "/etc . hochfährt /kubernetes/manifeste". Dies kann bis zu 4m0s dauern [apiclient] Alle Komponenten der Steuerungsebene sind nach 8 . fehlerfrei.008181 Sekunden [upload-config] Speichern der in ConfigMap verwendeten Konfiguration "kubeadm-config" im "kube-system" Namespace [kubelet] Erstellen einer ConfigMap "kubelet-config-1.18" im Namespace kube-system mit der Konfiguration für die Kubelets im Cluster [upload-certs] Phase überspringen. Siehe --upload-certs [mark-control-plane] Markieren des Knotens k8s-master01.Computerforgeeks.com als Control-Plane durch Hinzufügen des Labels "node-role.Kubernetes.io/master="" [mark-control-plane] Markieren des Knotens k8s-master01.Computerforgeeks.com als Kontrollebene durch Hinzufügen der Taints [Knotenrolle.Kubernetes.io/master:NoSchedule] [bootstrap-token] Token verwenden: zoy8cqc.6v349sx9ass8dzyj [bootstrap-token] Konfigurieren von Bootstrap-Token, Cluster-Info ConfigMap, RBAC-Rollen [bootstrap-token] konfigurierte RBAC-Regeln, damit Node-Bootstrap-Token Knoten abrufen können [bootstrap-token] konfigurierte RBAC-Regeln, damit Node-Bootstrap-Tokens CSRs in Reihenfolge für Knoten, um langfristige Zertifikat-Anmeldeinformationen zu erhalten [bootstrap-token] konfigurierte RBAC-Regeln, damit der csrapprover-Controller CSRs von einem Knoten-Bootstrap-Token automatisch genehmigen kann [bootstrap-token] Erstellen der "cluster-info" ConfigMap im "kube-public" Namespace [kubelet-finalize] Aktualisieren "/etc/kubernetes/kubelet.conf", um auf ein drehbares Kubelet-Client-Zertifikat und -Schlüssel zu verweisen [Addons] Angewandtes Essential Addon: CoreDNS [Addons] Angewandtes Essential Addon: kube-proxy Ihre Kubernetes-Steuerungsebene wurde erfolgreich initialisiert! Um Ihren Cluster zu verwenden, müssen Sie als normaler 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 Sie sollten jetzt ein Pod-Netzwerk für den Cluster bereitstellen. Führen Sie "kubectl apply -f [podnetwork] aus.yaml" mit einer der Optionen, die unter https://kubernetes . aufgeführt sind.io/docs/concepts/cluster-administration/addons/ Sie können jetzt einer beliebigen Anzahl von Knoten der Steuerungsebene beitreten, indem Sie Zertifizierungsstellen und Dienstkontoschlüssel auf jedem Knoten kopieren und dann Folgendes als Root ausführen: kubeadm join k8s-cluster.Computerforgeeks.com:6443 --token zoy8cq.6v349sx9ass8dzyj \ --discovery-token-ca-cert-hash sha256:14a6e33ca8dc9998f984150bc8780ddf0c3ff9cf6a3848f49825e53ef1374e24 \ --control-plane Dann können Sie einer beliebigen Anzahl von Worker-Knoten beitreten, indem Sie Folgendes auf jedem als Root ausführen.Computerforgeeks.com:6443 --token zoy8cq.6v349sx9ass8dzyj \ --discovery-token-ca-cert-hash sha256:14a6e33ca8dc9998f984150bc8780ddf0c3ff9cf6a3848f49825e53ef1374e24 

Konfigurieren Sie kubectl mithilfe von Befehlen in der Ausgabe:

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

Clusterstatus prüfen:

$ kubectl cluster-info Kubernetes-Master läuft unter https://k8s-cluster.Computerforgeeks.com:6443 KubeDNS läuft unter https://k8s-cluster.Computerforgeeks.com:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy Um Clusterprobleme weiter zu debuggen und zu diagnostizieren, verwenden Sie 'kubectl cluster-info dump'.

Zusätzliche Master-Knoten können mit dem Befehl in der Installationsausgabe hinzugefügt werden:

kubeadm k8s-cluster beitreten.Computerforgeeks.com:6443 \ --token zoy8cq.6v349sx9ass8dzyj \ --discovery-token-ca-cert-hash sha256:14a6e33ca8dc9998f984150bc8780ddf0c3ff9cf6a3848f49825e53ef1374e24 \ --control-plane 

Schritt 7: Netzwerk-Plugin installieren

In dieser Anleitung verwenden wir Calico. Sie können beliebige andere unterstützte Netzwerk-Plugins auswählen.

kubectl apply -f https://docs.Projektkaliko.org/manifeste/calico.jaml

Sie sollten die folgende Ausgabe sehen.

configmap/calico-config erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/bgp-Konfigurationen.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/bgpeers.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/blockaffinitäten.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/Clusterinformationen.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/felixkonfigurationen.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/globale Netzwerkrichtlinien.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/globale Netzwerke.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/hostendpoints.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/ipamblöcke.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/ipamconfigs.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/ipamhandles.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/ippools.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/kubecontrollerskonfigurationen.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/Netzwerkrichtlinien.crd.Projektkaliko.org erstellt benutzerdefinierte Ressourcendefinition.apiextensions.k8s.io/Netzwerke.crd.Projektkaliko.org hat Clusterrolle erstellt.rbac.Genehmigung.k8s.io/calico-kube-controllers hat Clusterrollenbindung erstellt.rbac.Genehmigung.k8s.io/calico-kube-controllers hat Clusterrolle erstellt.rbac.Genehmigung.k8s.io/calico-node erstellt Clusterrollenbindung.rbac.Genehmigung.k8s.io/calico-node erstelltes Daemonset.apps/calico-node erstellt serviceaccount/calico-node erstellt Bereitstellung.apps/calico-kube-controllers erstellt serviceaccount/calico-kube-controllers erstellt

Bestätigen Sie, dass alle Pods ausgeführt werden:

$ kubectl get pods --all-namespaces NAMESPACE NAME BEREIT STATUS RESTARTS ALTER kube-system calico-kube-controllers-76d4774d89-nfqrr 1/1 Wird ausgeführt 0 2m52s kube-system calico-node-kpprr 1/1 Wird ausgeführt 0 2m52s kube-system coredns-66bff467f8-9bxgm 1/1 Laufen 0 7m43s kube-system coredns-66bff467f8-jgwln 1/1 Laufen 0 7m43s kube-system etcd-k8s-master01.Computerforgeeks.com 1/1 Läuft 0 7m58s kube-system kube-apiserver-k8s-master01.Computerforgeeks.com 1/1 Läuft 0 7m58s kube-system kube-controller-manager-k8s-master01.Computerforgeeks.com 1/1 Laufen 0 7m58s kube-system kube-proxy-bt7ff 1/1 Laufen 0 7m43s kube-system kube-scheduler-k8s-master01.Computerforgeeks.com 1/1 Laufen 0 7m58s

Bestätigen Sie, dass der Master-Knoten bereit ist:

$ kubectl get node -o wide NAME STATUS ROLES ALTER VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s-master01.Computerforgeeks.com Bereit Master 8m38s v1.18.3 95.217.235.35  CentOS Linux 7 (Kern) 3.10.0-1127.10.1.el7.x86_64 docker://19.3.8

Schritt 8: Worker-Knoten hinzufügen

Wenn die Steuerungsebene bereit ist, können Sie dem Cluster Worker-Knoten hinzufügen, um geplante Workloads auszuführen.

Wenn die Endpunktadresse nicht im DNS enthalten ist, fügen Sie den Eintrag hinzu zu /etc/hosts.

$ sudo vim /etc/hosts 172.29.20.5 k8s-Cluster.Computerforgeeks.com

Der angegebene Join-Befehl wird verwendet, um dem Cluster einen Worker-Knoten hinzuzufügen.

kubeadm k8s-cluster beitreten.Computerforgeeks.com:6443 \ --token zoy8cq.6v349sx9ass8dzyj \ --discovery-token-ca-cert-hash sha256:14a6e33ca8dc9998f984150bc8780ddf0c3ff9cf6a3848f49825e53ef1374e24 

Ausgabe:

[preflight] Konfiguration aus dem Cluster lesen… [preflight] Zur Info: Sie können sich diese Konfigurationsdatei mit 'kubectl -n kube-system get cm kubeadm-config -oyaml' ansehen [kubelet-start] Konfiguration für das kubelet aus dem " kubelet-config-1.18" ConfigMap im kube-system namespace [kubelet-start] Kubelet-Konfiguration in Datei "/var/lib/kubelet/config" schreiben.yaml" [kubelet-start] Schreiben einer Kubelet-Umgebungsdatei mit Flags in die Datei "/var/lib/kubelet/kubeadm-flags.env" [kubelet-start] Starten des kubelet [kubelet-start] Warten darauf, dass das kubelet den TLS-Bootstrap durchführt… Dieser Knoten ist dem Cluster beigetreten: * Zertifikatsignierungsanforderung wurde an apiserver gesendet und eine Antwort wurde empfangen. * Das Kubelet wurde über die neuen sicheren Verbindungsdetails informiert. 

Führen Sie den folgenden Befehl auf der Steuerungsebene aus, um zu sehen, ob der Knoten dem Cluster beigetreten ist.

$ kubectl get node NAME STATUS ROLES ALTER VERSION k8s-master01.Computerforgeeks.com Bereit Master 18m v1.18.3 k8s-worker01.Computerforgeeks.com Bereit  98s v1.18.3

Wenn das Join-Token abgelaufen ist, lesen Sie unsere Anleitung zum Joinen von Worker-Knoten.

Verbinden Sie einen neuen Kubernetes Worker Node mit einem vorhandenen Cluster

Schritt 9: Anwendung auf Cluster bereitstellen

Wir müssen überprüfen, ob unser Cluster funktioniert, indem wir eine Anwendung bereitstellen.

kubectl apply -f https://k8s.io/Beispiele/Pods/Befehle.jaml

Überprüfen Sie, ob der Pod gestartet wurde

$ kubectl get pods NAME BEREIT STATUS RESTARTS AGE Befehlsdemo 0/1 Abgeschlossen 0 40s

Schritt 10: Kubernetes-Dashboard installieren (optional)

Das Kubernetes-Dashboard kann verwendet werden, um containerisierte Anwendungen in einem Kubernetes-Cluster bereitzustellen, Fehler in Ihrer containerisierten Anwendung zu beheben und die Cluster-Ressourcen zu verwalten.

Lesen Sie unsere Anleitung zur Installation: So installieren Sie das Kubernetes-Dashboard mit NodePort

Aufbewahrungsanleitungen:

Ceph Persistent Storage für Kubernetes mit Cephfs

Persistenter Speicher für Kubernetes mit Ceph RBD

So konfigurieren Sie die dynamische Kubernetes-Volume-Bereitstellung mit Heketi und GlusterFS

Lernkurse:Kubernetes für absolute Anfänger - Hands-onKubernetes für absolute Anfänger - Hands-on$12.06$156.75auf LagerJETZT KAUFENUdemy.comZertifizierter Kubernetes Administrator (CKA) mit PraxistestsZertifizierter Kubernetes Administrator (CKA) mit Praxistests$12.06$156.75auf LagerJETZT KAUFENUdemy.com

Ähnliche Kubernetes-Bereitstellungsleitfäden:

Millionen von Menschen, die TrueDialog SMS-Nachrichten verwenden, erleben Datenlecks
Viele Unternehmen verwenden ein SMS-Textnachrichtensystem, das sich von dem auf Ihrem Telefon unterscheidet. Hiermit besprechen die Mitarbeiter der Un...
US-Regierung drängt darauf, dass Flughäfen die Gesichtserkennung für Bürger verwenden
Wir alle kennen den Ärger mit der TSA-Linie am Flughafen. Dennoch ist es ein widerwillig akzeptierter, wenn nicht sogar willkommener Eingriff. Sicher,...
Neuere iPhones lassen sich dank Aktivierungssperre nur schwer aufrüsten
Sie verbringen wahrscheinlich nicht viel Zeit damit, sich Gedanken darüber zu machen, was mit Ihren Geräten und Maschinen passiert, nachdem Sie sie ei...

Website für Gadgets, Betriebssysteme und moderne Technologie. Viele interessante Artikel und nützliche Tipps