Hinweis:

OCI-Kubernetes-Engine mit verschiedenen Kapazitätstypen verwalten und häufige Probleme auf präemptiven Knoten beheben

Einführung

Während wir jeden Zyklus der digitalen Transformation durchlaufen, werden Unternehmen weiterhin innovativ und iterativ sein und die Grenzen dessen, was für Infrastruktur, Anwendungen und Management in großem Maßstab möglich ist, erweitern. Eine der neueren und weit verbreiteten Technologien zur Unterstützung von Infrastruktur- und Anwendungsmanagement ist Kubernetes. Bevor wir uns weiter mit Kubernetes beschäftigen, müssen wir uns zunächst mit dem Konzept der Container befassen.

Container sind ein Softwarepaket, das eine Sammlung anwendungsspezifischen Codes sowie die erforderlichen Laufzeit- und Programmbibliotheken umfasst, um die zuverlässige Ausführung einer Anwendung zu unterstützen. Container sind so konfiguriert, dass sie in einem Benutzerbereich innerhalb des Betriebssystems (BS) des zugrunde liegenden Servers ausgeführt werden. Diese Architektur ermöglicht die Entkopplung von Coreservices und Abhängigkeiten beim leichten Deployment einer Anwendung. Zu den Vorteilen der Anwendungscontainerisierung gehören Verbesserungen bei Workload-Isolation, Ressourceneffizienz, Skalierbarkeit und Fehlertoleranz.

Um die Leistung und Effizienz von Containern in großem Maßstab zu nutzen, benötigen wir eine Art Tooling, um unsere containerbasierten Bereitstellungen zu koppeln oder zu verwalten. Kubernetes, auch als K8s bezeichnet, ist ein Open-Source-Containerorchestrierungstool, das die Containerbereitstellung automatisiert, indem ein Servercluster erstellt wird, für das Container ausgeführt, skaliert und an Ihre Benutzer geliefert werden können. Die Kubernetes-Clusterarchitektur umfasst einen Masterknoten (Control Plane) und mehrere Worker-Knoten. Jeder Worker hostet Pods (Collection of Containers), die Ihre Anwendung bereitstellen.

Architektur

Geschichte zu Kubernetes

Ziele

Voraussetzungen

Wie wird Oracle mit Containertechnologie positioniert?

OKE ist ein vollständig verwalteter, skalierbarer und hochverfügbarer Kubernetes-Service, mit dem Kunden containerisierte Anwendungen in der Cloud bereitstellen können. OKE gibt OCI-Kunden die Möglichkeit, die Compute-Ressourcenauslastung zu optimieren, um eindeutige Workload-Anforderungen zu erfüllen und sich schnell an sich ändernde Workload-Anforderungen anzupassen. OKE bietet eine nahtlose Kundenerfahrung, die Kunden ein beispielloses Preis-Leistungs-Verhältnis, Ressourceneffizienz, Portabilität und Zuverlässigkeit bietet. OKE bietet mehrere wichtige Integrationen mit verschiedenen Produkten für das Container Lifecycle Management, einschließlich Container-Registrys, CI/CD-Frameworks, Netzwerklösungen, Speicheroptionen und erstklassigen Sicherheitsfunktionen.

In OKE können Sie den Clustertyp entweder als Basiscluster oder als erweiterte Cluster angeben. Grundlegende Cluster unterstützen alle von OKE bereitgestellten Kernfunktionen. Um weitere Funktionen zu ermöglichen, unterstützen erweiterte Cluster alle verfügbaren Features, darunter virtuelle Knoten, selbstverwaltete Knoten, Cluster-Add-on-Verwaltung, granularere Oracle Cloud Infrastructure Identity and Access Management-(OCI IAM-)Konfigurationen usw.

OKE für verschiedene Kapazitätstypen

OKE-Deployment mit präemptiven und OnDemand-Knotenpools

OKE-Deployment mit Präemptivität

Bekannte Probleme mit präemptiven

Es gibt einige bekannte Probleme bei der Verwendung von präemptive mit OKE.

Aufgabe 1: Schritte zum Erstellen des präemptiven OKE-Worker-Knotenpools E5 mit der Befehlszeilenschnittstelle (CLI)

  1. Melden Sie sich bei der OCI-Konsole an, und klicken Sie auf das Menü "Services".

  2. Navigieren Sie zu Entwicklerservices.

  3. Klicken Sie unter Container und Artefakte auf Klicken Sie auf Kubernetes-Engine (OKE).

  4. Klicken Sie auf OCI Cloud-Shell, um die CLI anzuzeigen.

  5. Bearbeiten Sie die OCID node-pool, die OCID compartment, subnet-id, fault domain, die Konfiguration und die Größe, bevor Sie die folgenden CLI-Befehle in Ihrem Mandanten ausführen.

    oci ce node-pool create 
    --cluster-id ocid1.cluster.oc1.iad.aaaaaaaaxlokvt2r25b6dmdxxxxxxxxxxxxxxxxxkhdilj7kpehc5vke2ve5gq
    --compartment-id ocid1.compartment.oc1..aaaaaaaaqufgrkgzr4zb3dxxxxxxxxxxxxxxxxxxp7jx7yckglghxppfrui6a 
    --name E5_Preemtible 
    --node-shape VM.Standard.E5.Flex 
    --placement-configs '[{"availabilityDomain": "FZyT:US-ASHBURN-AD-2", "preemptibleNodeConfig": {"preemptionAction":{"isPreserveBootVolume":true, "type": "TERMINATE"}}, "subnet-id": "ocid1.subnet.oc1.iad.aaaaaaaapmekowq4rqhu72xxxxxxxxxxxxxxxxxxxxtlkp4dmixebzhgrwdlmtteclq", "faultDomains":["FAULT-DOMAIN-1"]}]'
    --size 1 
    --node-image-id ocid1.image.oc1.iad.aaaaaaaajvtta4i5sq4xxxxxxxxxxxxxcskfxjwz4vwxz6ersmmax6q 
    --node-shape-config '{"memoryInGBs": 6.0, "ocpus": 1.0}'
    --pod-subnet-ids '["ocid1.subnet.oc1.iad.aaaaaaaapmekowq4rqhxxxxxxxxxxxxxxxkp4dmixebzhgrwdlmtteclq"]'
    

    Dadurch wird die OCID der Arbeitsanforderung zum Erstellen des Knotenpools ausgegeben, und der präemptive Worker-Knoten E5 wird im vorhandenen Cluster erstellt, wie im folgenden Image dargestellt.

    E5 präemptiver Worker-Knoten

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.