Schlüsselkonzepte für Red Hat OpenShift Container Platform

Machen Sie sich mit den grundlegenden Konzepten von Operatoren, Containern und Kubernetes vertraut, um sich mit den Vorteilen der Migration Ihrer Anwendungen in die Cloud vertraut zu machen.

Weitere Informationen zum Arbeiten mit Red Hat® OpenShift® Container Platformfinden Sie in den folgenden Abschnitten:

Operatoren und Abhängigkeiten

Was ist ein Operator?
Ein Operator ist eine Gruppe von Kubernetes-nativen Ressourcen, die eine Kubernetes -Anwendung durch Erweiterung der Kubernetes -API paketieren, bereitstellen und verwalten.
Was ist eine Kubernetes -Anwendung?
Eine Kubernetes -Anwendung ist eine Anwendung, die in Kubernetes implementiert und mithilfe von Kubernetes und Kubectl-Tools verwaltet wird.
Wie funktioniert ein Bediener?

Ein Operator besteht aus mehreren Softwareteilen, die ein effizientes Management von Anwendungen in Kubernetes ermöglichen-einem Controller und mindestens einer angepassten Ressourcendefinition (Custom Resource Definition, CRD).

Bei dem Controller handelt es sich um angepassten Code, der in einem Kubernetes -Cluster bereitgestellt wird, der Änderungen an angepassten Kubernetes -Ressourcen überwacht und darauf reagiert. Eine angepasste Ressource ist eine Erweiterung der API Kubernetes und wird verwendet, um zusätzliche Funktionalität bereitzustellen, die in der Standardinstallation von Kubernetes möglicherweise nicht verfügbar ist. Sie ermöglicht die Anpassung und Modularisierung von Kubernetes.

Was ist eine Abhängigkeit?
Eine Abhängigkeit ist eine Voraussetzung, die erfüllt sein muss, bevor die Verarbeitung fortgesetzt werden kann. Das heißt, wenn eine Entität in einem System ohne eine andere Entität nicht sinnvoll funktionieren kann, wird sie als abhängig bezeichnet. Eine Anwendung kann beispielsweise Abhängigkeiten von einem Server, einer Datenbank oder anderen Services haben, mit denen sie verbunden ist. Bei der Cloudmigration sind solche Anwendungsabhängigkeiten ein mögliches Risiko. Erkennungstools bieten Ihnen ein klares Bild der Beziehung zwischen jeder Anwendung und ihren Abhängigkeiten, sodass Sie alle kritischen Anwendungen und Services erfolgreich in die Cloud migrieren können.

Operator Lifecycle Manager (OLM)

Was ist Operator Lifecycle Manager ?
Operator Lifecycle Manager (OLM) erweitert die Funktion von Kubernetes , indem es Benutzern ermöglicht wird, Operatoren und ihre Abhängigkeiten in einem Cluster zu installieren, zu verwalten und zu aktualisieren.
Warum Operator Lifecycle Managerverwenden?
  • Sie können Anwendungen einfacher verwalten, indem Sie eine Anwendung als eine einzelne Kubernetes -Ressource mit den zugehörigen Anforderungen und Metadaten definieren. OLM erfordert diese Metadaten, um zu überprüfen, ob ein Operator sicher in einem Cluster ausgeführt werden kann und wie Aktualisierungen angewendet werden.
  • Sie können Anwendungsinstallationen automatisieren und Abhängigkeiten auflösen oder manuell mit kubectl installieren.
  • Sie können Anwendungsaktualisierungen automatisieren und jeweils unterschiedliche Genehmigungsrichtlinien anwenden.

Containerisierung, Kubernetesund Red Hat OpenShift Container Platform

Was ist ein Container?
Ein Container ist eine ausführbare Softwareeinheit, in der Anwendungscode zusammen mit Bibliotheken und Abhängigkeiten gepackt wird. Es kann überall auf dem Desktop, in der traditionellen IT oder in der Cloud ausgeführt werden. Container nutzen eine Form der Betriebssystemvirtualisierung, sodass mehrere Anwendungen das Betriebssystem gemeinsam nutzen, indem sie Prozesse isolieren und die Menge an CPU, Speicher und Platte steuern, auf die diese Prozesse zugreifen können.
Was ist Containerisierung?
Containerisierung ist der Prozess, bei dem Softwarecode und alle zugehörigen Abhängigkeiten so gepackt werden, dass sie konsistent in jeder Infrastruktur ausgeführt werden können.
Vorteile der Containerisierung

Die Containerisierung bietet Entwicklern und Entwicklungsteams folgende Vorteile:

  • Portierbarkeit: Ein Container erstellt ein ausführbares Softwarepaket, das vom Hostbetriebssystem (nicht an das Hostbetriebssystem gebunden oder davon abhängig) abstrahiert wird und daher portierbar ist und einheitlich und konsistent über jede Plattform oder Cloud hinweg ausgeführt werden kann.
  • Agilität: Die Open-Source- Docker Engine für die Ausführung von Containern startete den Branchenstandard für Container mit einfachen Entwicklertools und einem universellen Paketierungsansatz, der sowohl auf Linux® -als auch auf Windows -Betriebssystemen funktioniert. Jetzt bevorzugen viele Benutzer Engines, die von der Open Container Initiative (OCI) verwaltet werden. Softwareentwickler können weiterhin agile oder DevOps -Tools und -Prozesse für eine schnelle Anwendungsentwicklung und -erweiterung verwenden.
  • Geschwindigkeit: Container werden oft als „leichtgewichtig“ bezeichnet, was bedeutet, dass sie den Betriebssystemkernel (OS) des Computers gemeinsam nutzen. Diese Architektur verbessert die Servereffizienz, reduziert die Server-und Lizenzkosten und reduziert die Initialisierungszeiten.
  • Fehlerisolation: Jede containerisierte Anwendung ist isoliert und arbeitet unabhängig von anderen. Der Ausfall eines Containers hat keine Auswirkungen auf den fortgesetzten Betrieb anderer Container. Entwicklungsteams können technische Probleme innerhalb eines Containers ohne Ausfallzeiten in anderen Containern identifizieren und beheben. Außerdem kann die Container-Engine alle Sicherheitsisolationsverfahren des Betriebssystems (z. B. die SELinux-Zugriffssteuerung) verwenden, um Fehler in Containern zu isolieren.
  • Effizienz: In Containerumgebungen ausgeführte Software nutzt den gleichen Betriebssystemkernel wie die Maschine und Anwendungsebenen innerhalb eines Containers können containerübergreifend genutzt werden. Aus diesem Grund sind Container inhärent kleiner als eine VM und erfordern eine kürzere Startzeit, sodass weit mehr Container auf derselben Rechenkapazität wie eine einzelne VM ausgeführt werden können. Diese Architektur verbessert die Servereffizienz und senkt die Server-und Lizenzierungskosten.
  • Einfache Verwaltung: Eine Containerorchestrierungsplattform automatisiert die Installation, Skalierung und Verwaltung von containerisierten Workloads und Services. Containerorchestrierungsplattformen können Management-Tasks vereinfachen, wie z. B. das Skalieren containerisierter Apps, das Rollout neuer Versionen von Apps und die Bereitstellung von Überwachung, Protokollierung und Debugging unter anderem Funktionen. Kubernetes, vielleicht das beliebteste verfügbare Containerorchestrierungssystem, ist eine Open-Source-Technologie (ursprünglich quelloffen von Google, basierend auf ihrem internen Projekt Borg), die ursprünglich Linux -Containerfunktionen automatisiert. Kubernetes funktioniert mit vielen Container-Engines, z. B. Docker, aber auch mit jedem Containersystem, das den OCI-Standards (Open Container Initiative) für Container-Image-Formate und -Laufzeiten entspricht.
  • Sicherheit: Die Isolation von Anwendungen als Container verhindert inhärent, dass die Invasion von zerstörerischem Programmcode andere Container oder das Hostsystem beeinträchtigt. Außerdem können Sicherheitsberechtigungen definiert werden, um unerwünschte Komponenten automatisch von der Eingabe in Container zu blockieren oder die Kommunikation mit unnötigen Ressourcen zu begrenzen.

Weitere Informationen zur Containerisierung finden Sie unter Erklärung der Containerisierung.

Was ist Kubernetes?
Kubernetes -auch bekannt als "k8s" oder "kube"-ist eine Containerorchestrierungsplattform für die Planung und Automatisierung der Bereitstellung, Verwaltung und Skalierung von containerisierten Anwendungen.
Warum Kubernetesverwenden?

Betriebsteams müssen die Bereitstellung, den Netzbetrieb, die Skalierbarkeit und die Verfügbarkeit einer ständig steigenden Anzahl von Containern planen und automatisieren.

Entwickler entscheiden sich für Kubernetes für seine breite Funktionalität, sein riesiges und wachsendes Ökosystem von Open-Source-Tools und seine Unterstützung und Portierbarkeit auf die führenden Cloud-Provider (einige von denen jetzt vollständig verwaltete Kubernetes -Services anbieten).

Was macht Kubernetes ?

Kubernetes plant und automatisiert die folgenden Tasks:

  • Implementierung: Implementieren Sie eine angegebene Anzahl von Containern auf einem angegebenen Host und halten Sie sie im gewünschten Status aktiv.
  • Rollouts: Ein Rollout ist eine Änderung an einer Implementierung. Mithilfe von Kuberneteskönnen Sie Rollouts einleiten, anhalten, fortsetzen oder rückgängig machen.
  • Serviceerkennung: Kubernetes kann einen Container automatisch über einen DNS-Namen oder eine IP-Adresse im Internet oder in anderen Containern zugänglich machen.
  • Speicherbereitstellung: Legen Sie Kubernetes fest, um persistenten lokalen Speicher oder Cloudspeicher für Ihre Container nach Bedarf anzuhängen.
  • Lastausgleich und Skalierung: Wenn der Datenverkehr zu einem Container zu Lastspitzen führt, kann Kubernetes Lastausgleich und Skalierung verwenden, um ihn über das Netz zu verteilen, um die Stabilität aufrechtzuerhalten.
  • Selbstheilung für hohe Verfügbarkeit: Wenn ein Container ausfällt,Kubernetes kann es automatisch neu starten oder ersetzen; es kann auch Container herunterfahren, die Ihren Integritätsprüfungsanforderungen nicht entsprechen.
Was ist Red Hat Red Hat OpenShift Container Platform?

Red Hat OpenShift Container Platform ist eine Plattform für die Automatisierung der Bereitstellung und Verwaltung von containerisierten Anwendungen. Während Red Hat OpenShift Container Platform Kubernetes zum Orchestrieren von Containern verwendet, verwaltet Kubernetes keine Anforderungen auf Plattformebene oder Bereitstellungsprozesse. Daher erweitert Red Hat OpenShift Container Platform die Funktionalität von Kubernetes durch die Bereitstellung von Plattformmanagementtools und -prozessen.

Für weitere Informationen siehe Red Hat OpenShift Container Platform Symbol für externen Link.