GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Lernen Sie Kubernetes von Ihrem lokalen Computer aus

Freunde und Bekannte wenden sich oft an mich mit Fragen, wo und wie sie anfangen können, Kubernetes zu lernen. Diese Anfragen stammen von einer Mischung aus Ops- und Entwickler-Mitarbeitern, die noch mit Legacy-Systemen wie VM- und Monolith-Anwendungen arbeiten. Begriffe wie CI/CD und DevOps sind für sie nur Schlagworte, da sie immer noch damit beschäftigt sind, die von ihnen gepflegten Altsysteme im Rahmen ihrer täglichen Arbeitsanforderungen zu bewässern und zu füttern.

Sie zeigen jetzt Interesse, da sie festgestellt haben, dass immer mehr Workloads von VM zu Containern migriert werden und monolithische Anwendungen zu Microservices umgestaltet werden, um Innovationen einfach zu handhaben und auf die schnellen Marktanforderungen zu reagieren. Jetzt ist es an der Zeit, sich mit den Tools, Plattformen und Lösungen vertraut zu machen, die diese Massenmigration zu Kubernetes verursachen.

Dies ermutigte mich, diesen Artikel zu schreiben, um meinen Freunden und anderen, die mit dem Erlernen von Kubernetes beginnen wollten, zu helfen, ihre eigene Reise in Richtung Container und die Welt der Cloud-nativen Anwendungen voranzutreiben.

Haftungsausschluss:Das Erlernen von Kubernetes wird eine holprige Fahrt. Sie lernen einige neue Terminologien und neue Methoden zum Verwalten und Bereitstellen Ihrer Anwendung auf cloudnative Weise kennen.

Also, was ist Kubernetes überhaupt?

Das erste, was Sie tun müssen, wenn Sie Kubernetes lernen, ist, eine klare Erklärung dafür zu finden, was es ist. Es gibt viele Bücher und YouTube-Referenzen, die Sie verwenden können, um die grundlegendsten Erklärungen zu erhalten. Ich habe dieses YouTube-Video gefunden, The Illustrated Children’s Guide to Kubernetes, Das war meiner Meinung nach die beste Erklärung dafür, was Kubernetes ist. Werfen Sie einen Blick darauf, bevor Sie weiterlesen.

Die Kubernetes-Komponenten

Kubernetes ist keine einzelne Maschine, sondern eine Plattform. Wenn Sie Kubernetes bereitstellen, erhalten Sie einen Cluster. Ein Cluster besteht aus einer Reihe von Master- und Arbeitsmaschinen, die als Knoten bezeichnet werden und auf denen containerisierte Anwendungen ausgeführt werden. Jeder Cluster hat mindestens einen Worker-Knoten. Dies sind die Kubernetes-Komponenten.

Unten sehen Sie, wie Kubernetes aussieht, wenn alle Komponenten miteinander verbunden sind.

Wie fange ich an?

Beim Erlernen von Kubernetes müssen Sie einen Cluster bereitstellen. Aber das wird eine Herausforderung für Leute sein, die nicht in der Lage sind, die zusätzliche Hardware in die Hände zu bekommen und Zeit finden, sie zusammen mit den erforderlichen Netzwerk- und Computerressourcen einzurichten. Diese Anforderung bringt eine Kubernetes-Reise häufig zum Scheitern, bevor sie beginnt. Wie fängt man also am besten an?

Glücklicherweise gibt es mehrere Open-Source-Projekte, mit denen Sie einen Kubernetes-Cluster von Ihrem Laptop aus bereitstellen können. Lassen Sie uns einen Blick auf diese Projekte werfen, bevor ich meine eigene Meinung darlege, wie Sie Kubernetes am besten lernen und Ihre erste Cloud-native Anwendung bereitstellen können.

Lokale Kubernetes-Projekte zur Rettung

Dies sind die lokalen Projekte, mit denen Sie Kubernetes erkunden können. Beachten Sie, dass diese Projekte nicht für Unternehmen geeignet sind und nur zu Lernzwecken verwendet werden sollen.

Hinweis:Bevor Sie mit der Erkundung von Kubernetes beginnen, vergewissern Sie sich, dass Sie über ausreichende Ressourcen auf Ihrem Laptop verfügen.

  • Linux:Red Hat Enterprise Linux, Fedora, CentOS
  • 16 GiB oder mehr RAM pro Computer (weniger lässt wenig Platz für Ihre Apps).
  • 2 CPUs auf dem Computer, den Sie als Steuerungsebenenknoten verwenden.
  • Volle Netzwerkkonnektivität zwischen allen Computern im Cluster.

Minikube

Minikube gehört zu den am einfachsten zu installierenden dieser Optionen. Es stellt Ihnen einen Single-Node-Cluster zur Verfügung, der entweder auf VirtualBox oder KVM läuft.

Ressourcenanforderungen:

  • Prozessor:2
  • Speicher:2 GB
  • Speicherplatz:20 GB

Sobald Sie einen laufenden Cluster (Einzelknoten) haben, können Sie sich damit vertraut machen, indem Sie eine einfache Anwendung mithilfe der kubectl-Befehlszeile bereitstellen, um mit Ihrem lokalen Kubernetes-Cluster zu interagieren. Das einzige Problem, das mir bei der Verwendung von Minikube aufgefallen ist, ist die Einschränkung beim Hinzufügen eines Worker-Knotens, um die Cluster-Erfahrung zu vervollständigen.

Art 

Kind erfordert, dass Sie Kubernetes in einem Docker-Container ausführen. Die freundliche Installationsanleitung finden Sie hier.

Obwohl kind einfach zu installieren ist, sehe ich das Problem bei der Verwendung dieses Projekts in der komplexen Netzwerkkonfiguration für den Zugriff auf den Cluster. Für jemanden, der gerade erst anfängt, Kubernetes zu lernen, könnte es unerschwinglich sein.

Ressourcenanforderungen:

  • Prozessor:2
  • Speicher:8 GB
  • Speicher:20 GB

kubeadm

Das Cluster-Spin-up mit kubeadm kann verwendet werden, um Cloud-native Anwendungen bereitzustellen. Zunächst haben Sie einen einzelnen Master-Knoten und einen Worker-Knoten.

Die Installation von kubeadm auf Ihrem Laptop kommt der Bereitstellung von Kubernetes-Clustern auf Produktionsniveau am nächsten. Aus diesem Grund ist kubeadm wahrscheinlich auch der schwierigste Weg, Kubernetes zu lernen.

Ressourcenanforderungen:

  • Prozessor:2
  • Arbeitsspeicher:8 GB (Sie benötigen zusätzlichen Arbeitsspeicher für die Anwendungsbereitstellung).
  • Speicher:20 GB

Minischicht

Minishift ist ein Projekt, das auf OKD basiert, dem Upstream hinter OpenShift. Wenn Sie Minishift installieren, erhalten Sie einen OpenShift-Cluster mit einem Knoten, der entweder in VirtualBox oder KVM ausgeführt wird.

Ressourcenanforderungen:

  • Prozessor:2
  • Speicher:4 GB
  • Speicher:20 GB

Minishift ist einfach zu installieren und bietet im Vergleich zu anderen Projekten mehr Flexibilität, da Sie es unter Linux, Windows und macOS installieren können.

Da Minishift auf OKD basiert, lernen Sie nicht nur die Kubernetes-Grundlagen, sondern auch Openshift und einige der in Minishift verfügbaren Komponenten kennen.

Der Nachteil von Minishift ist, dass es nur OKD 3.11 unterstützt, sodass Sie die neue Version von OKD 4 nicht vollständig nutzen können. Minishift wird durch CodeReady Containers ersetzt, um die volle Erfahrung von OKD 4 zu erhalten, wie hier beschrieben.

CodeReady-Container (CRC) 

CRC basiert auf OKD 4.1, das eine Einzelknotenkonfiguration auf Ihrem Laptop bereitstellt. Es funktioniert fast genau wie Minishift und Minikube. Die Installation ist ebenfalls einfach; die Dokumentation finden Sie hier.

Ressourcenanforderungen:

  • Prozessor:4
  • Speicher:8 GB
  • Speicher:30 GB

[ Holen Sie sich dieses kostenlose E-Book:Verwalten Ihrer Kubernetes-Cluster für Dummies. ]

Schlussfolgerungen

Es gibt viele Möglichkeiten, Kubernetes lokal bereitzustellen, um Ihre eigene Reise zur Beherrschung der wichtigen Fähigkeiten zu beginnen, die im Mittelpunkt der aktuellen IT-Revolution stehen.

Wenn Sie gerade erst anfangen, schlage ich vor, Kubernetes mit Minikube zu lernen, da ich festgestellt habe, dass dies für Anfänger am einfachsten ist. Sobald Sie mit dem Kubernetes-Konzept vertraut sind, besteht der nächste Schritt darin, zu CRC überzugehen. Dadurch werden Ihre Kubernetes-Kenntnisse auf die nächste Stufe gehoben, sodass Sie die unternehmenstauglichen Komponenten erlernen können, die die meisten fortgeschrittenen Adapter bereits verwenden.

Wie bereits erwähnt, ist das Erlernen von Kubernetes wie das erneute Erlernen von Linux-Betriebssystemen. Lassen Sie sich nicht entmutigen, wenn Sie auf eine Straßensperre stoßen. Ein starkes Verständnis dieser Technologie ist wie eine Investition in Ihre Zukunft und hilft Ihnen in gewisser Weise, sich zukunftssicher zu machen.


Linux
  1. So stellen Sie Ihren ersten Pod in einem Kubernetes-Cluster bereit

  2. Wie kopiert man eine Datei von einem Remote-Server auf einen lokalen Computer?

  3. So kopieren Sie Dateien zwischen Kubernetes-Pods und Ihrem Computer

  4. Wie kopiere ich den gesamten Ordner von der Amazon EC2-Linux-Instance auf den lokalen Linux-Computer?

  5. Wie kann ich Dateien von einem Google Cloud Compute Server auf meinen lokalen Computer kopieren?

Senden Sie Ihre Scans über Ihr Netzwerk an einen Linux-Computer

So installieren Sie Kubernetes (k8s)-Cluster auf RHEL 8

Kernkomponenten eines Kubernetes-Clusters

Erstellen Sie Ihre erste Bereitstellung in einem Kubernetes-Cluster

Kubernetes-Cluster mit K3S mit Multipass von Canonical

Verwendung von Grafana &Prometheus Kubernetes Cluster Monitoring