Wie man

Bereitstellen von Lightweight Kubernetes mit MicroK8s und Snap

Bereitstellen von Lightweight Kubernetes mit MicroK8s und Snap

Kubernetes ist das angesagteste Wort im Bereich Containerisierung und Microservices. Die Bereitstellung von Kubernetes kann jedoch teuer sein, vor allem, wenn sie nicht für die Stromversorgung von Produktionsanwendungen verwendet wird. In diesem Tutorial stelle ich Ihnen das MicroK8s-Tool vor, mit dem Sie die neueste stabile Upstream-Kubernetes-Version in Snap ausführen können.

Produktionsbereitstellung: Produktions-Kubernetes-Cluster mit Ansible und Kubespray bereitstellen

Für Docker-Benutzer: So führen Sie lokale Kubernetes-Cluster in Docker aus

MicroK8s ist nur ein einzelnes Paket von k8s, das auf den meisten Linux-Varianten und jedem anderen System installiert wird, das Snap ausführen kann. Dies ist für die Ausführung auf IoT-Geräten wie Raspberry Pi, PCs und Desktops geeignet.

Diese Bereitstellung wird nicht für Produktions-Setups empfohlen, sondern nur für die Offline-Entwicklung, das Prototyping, das Testen oder die Verwendung auf einer VM als kleine, billige, zuverlässige K8s für CI/CD.

Funktionen von MicroK8s - (https://microk8s.io/)

Einrichtungsanforderungen

Schritt 1: Installieren Sie Snapd

Wir haben Anleitungen zur Installation von Snapd:

Installieren Sie Snap auf Ubuntu/Debian, CentOS 7, Fedora, Arch Linux/Manjaro.

Schritt 2: MicroK8s installieren

Nach der Installation von Snap können Sie die MicroK8s-Installation mit Snap starten. Snaps werden regelmäßig aktualisiert, damit sie mit jeder Version von Kubernetes übereinstimmen.

sudo snap install microk8s --classic

Die Installation sollte so aussehen:

Alle veröffentlichten Versionen können überprüft werden mit:

Snap-Info microk8s

Sobald MicroK8s installiert ist, beginnt es mit der Erstellung eines Kubernetes-Clusters mit einem Knoten. Der Status für diese Bereitstellung kann überprüft werden mit.

# microk8s.Status 
microk8s läuft
Addons:
Jäger: deaktiviert
fließend: deaktiviert
GPU: deaktiviert
Speicher: deaktiviert
Registrierung: deaktiviert
Eindringen: deaktiviert
DNS: deaktiviert
Metrik-Server: deaktiviert
prometheus: behindert
istio: deaktiviert
Dashboard: deaktiviert

An der Ausgabe können wir sehen, ob MicroK8s läuft und der Status der verfügbaren Addons.

Um Clusterinformationen zu überprüfen, verwenden Sie:

# microk8s.kubectl-cluster-info
Kubernetes-Master läuft unter https://127.0.0.1:16443

Rufen Sie auch den Status des k8s-Knotens ab.

# microk8s.kubectl bekommt Knoten
NAME STATUS ROLLEN ALTER VERSION
microk8s Bereit 5m17s v1.14.0

Wenn Sie sich nicht wohl damit fühlen microk8s.kubectl Befehl können Sie einen Alias ​​dafür erstellen.

echo "alias kubectl="microk8s .".kubectl"" >>~/.bashrc
Quelle ~/.bashrc

Dann kannst du verwenden kubectl Befehl:

# kubectl get node -o wide NAME STATUS ROLES ALTER VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME microk8s Ready  10m v1.14.0 192.168.10.175  Ubuntu 18.04.2 LTS 4.fünfzehn.0-45-generisch containerd://1.2.5 

Kubernetes-Addons auf MicroK8s aktivieren/deaktivieren

Verfügbare Addons für MicroK8s sind:

Sie können für Kubernetes verfügbare Add-ons aktivieren und deaktivieren disable.

Add-ons aktivieren

Verwenden Sie die microk8s.aktivieren Befehl zum Aktivieren von Addons.

# microk8s.Dashboard-DNS aktivieren
Dashboard aktivieren
secret/kubernetes-dashboard-certs erstellt
serviceaccount/kubernetes-dashboard erstellt
Einsatz.apps/kubernetes-dashboard erstellt
service/kubernetes-dashboard erstellt
service/monitoring-grafana erstellt
service/monitoring-influxdb erstellt
Dienst/Heapster erstellt
Einsatz.extensions/monitoring-influxdb-grafana-v4 erstellt
Servicekonto/Heapster erstellt
configmap/heapster-config erstellt
configmap/eventer-config erstellt
Einsatz.Erweiterungen/Heapster-v1.5.2 erstellt
Dashboard aktiviert
DNS aktivieren
Manifest anwenden
service/kube-dns erstellt
serviceaccount/kube-dns erstellt
configmap/kube-dns erstellt
Einsatz.Erweiterungen/kube-dns erstellt
Kubelet neu starten
DNS ist aktiviert

Speicher-Add-On aktivieren:

# microk8s.Speicher aktivieren
Aktivieren der Standardspeicherklasse
Einsatz.Erweiterungen/Hostpfad-Bereitsteller erstellte Speicherklasse.Lager.k8s.io/microk8s-hostpath erstellt
Speicher wird bald verfügbar sein

So aktivieren Sie Speicher- und Istio-Add-Ons:

# microk8s.Istio aktivieren

Das gleiche Format gilt für andere Plugins. Bestätigen Sie aktivierte Add-ons mit:

# microk8s.Status
microk8s läuft
Addons:
Jäger: deaktiviert
fließend: deaktiviert
GPU: deaktiviert
Speicher: aktiviert
Registrierung: aktiviert
Eindringen: deaktiviert
DNS: deaktiviert
Metrik-Server: deaktiviert
prometheus: behindert
istio: deaktiviert
Dashboard: aktiviert

Für weitere Informationen wie URL verwenden Sie:

microk8s.kubectl-cluster-info

Ausgabe:

Add-ons deaktivieren

Benutzen microk8s.deaktivieren Befehl zum Deaktivieren des Addons.

# microk8s.Istio deaktivieren
Deaktivieren von Istio
Namensraum "istio-system" gelöscht
Istio wird beendet

Bereitstellen von Pods und Containern auf MicroK8s

Bereitstellungen erfolgen auf Standard-Kubernetes-Methode. Sehen Sie sich das Beispiel unten an, das eine Nginx-Bereitstellung mit zwei Containern erstellt.

# microk8s.kubectl run nginx --replicas 2 --image nginx
Einsatz.Apps/nginx erstellt
# microk8s.kubectl Get-Bereitstellungen
NAME BEREIT AKTUELL VERFÜGBARES ALTER
nginx 2/2 2 2 39s
# microk8s.kubectl erhält pods
NAME BEREIT STATUS NEUSTART ALTER
nginx-7db9fccd9b-7662b 1/1 Läuft 0 61s
nginx-7db9fccd9b-87z6d 1/1 Läuft 0 61s

Ausstellungsservice:

# microk8s.kubectl exponieren Bereitstellung nginx --port 80 --target-port 80 \
--Typ ClusterIP --selector=run=nginx --name nginx

service/nginx ausgesetzt
# microk8s.kubectl Dienste abrufen
NAME TYP CLUSTER-IP EXTERNAL-IP PORT(S) ALTER
Kubernetes ClusterIP 10.152.183.1 443/TCP 27m
nginx ClusterIP 10.152.183.54 80/TCP 104s

Bereitstellung löschen

# microk8s.kubectl delete Bereitstellung nginx
Einsatz.Erweiterungen "nginx" gelöscht
# microk8s.kubectl löschdienst nginx
Dienst "nginx" gelöscht

Anhalten und Neustarten von MicroK8s

Sie können MicroK8s bei Nichtgebrauch einfach herunterfahren, ohne sie zu deinstallieren.

# microk8s.Stopp
Gestoppt.

Starten Sie MicroK8s mit:

# microk8s.Start
Gestartet.

Entfernen von MicroK8s

Wenn Sie MicroK8s vollständig entfernen möchten, stoppen Sie zuerst alle laufenden Pods.

microk8s.zurücksetzen

Entfernen Sie dann den MicroK8s-Snap.

snap entfernen microk8s

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

Fazit

MicroK8s ist das schnellste und leichteste verfügbare Kubernetes-Bereitstellungstool. Es ist ideal, um mit Kubernetes zu spielen, ohne die Konzepte von Linux und Containern zu beherrschen, bevor Sie beginnen können. Weitere Informationen finden Sie auf der MicroK8s-Dokumentationsseite.

Ähnliche Artikel:

Bereitstellen eines produktionsbereiten Kubernetes-Clusters mit Ansible und Kubespray

So stellen Sie mit K3s einen leichten Kubernetes-Cluster in 5 Minuten bereit

So führen Sie lokale Kubernetes-Cluster in Docker aus

Beste Speicherlösungen für Kubernetes- und Docker-Container

So installieren Sie Minikube unter Ubuntu 18.04

So führen Sie Minikube auf KVM aus

So richten Sie einen Kubernetes-Cluster mit 3 Knoten unter Ubuntu 18 ein.04 mit Webnetz CNI

Installieren Sie OpenProject Community Edition auf CentOS 8
OpenProject ist eine sehr leistungsstarke Projektmanagement-Suite zur Unterstützung von Projektteams während des gesamten Projektlebenszyklus. In dies...
So installieren Sie Fedora 34 - Schritt für Schritt mit Screenshots
Wie installiere ich Fedora 34 Workstation / Server?. Für Fedora-Liebhaber ist Fedora 34 in der Beta-Version erhältlich. Es kommt mit vielen neuen Funk...
VPN Jeder, der Technik liebt, sollte mehr über VPNs erfahren!
Jeder, der Technik liebt, sollte mehr über VPNs erfahren!
Bildquelle. pixabayWenn Sie gerne das Internet und die Technologie im Allgemeinen erkunden, wissen Sie wahrscheinlich, dass Sie niemals privat, anonym...