Oracle WebLogic Server in einem Kubernetes-Cluster bereitstellen

Sie können SOA in Kubernetes-Clustern On Premise und in Oracle Cloud bereitstellen. Die Ausführung von Oracle SOA auf Kubernetes bietet ein Gleichgewicht zwischen Automatisierung, Portabilität und der Möglichkeit, mehrere Domains anzupassen. WebLogic Kubernetes Operator ist ein Open-Source-Tool, mit dem Sie mehrere SOA-Domains in einem Kubernetes-Cluster erstellen und verwalten können.

Architektur

Diese Referenzarchitektur zeigt eine Oracle SOA-Domain und eine optionale Oracle Service Bus-(OSB-)Domain, die in einem Kubernetes-Cluster bereitgestellt wird, das mit der OCI Kubernetes Engine in Oracle Cloud bereitgestellt wird. Mit diesem Service können Sie ganz einfach ein Kubernetes-Cluster erstellen und die erforderlichen Services bereitstellen, wie einen Load Balancer, Blockspeicher und Networking.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung von soa-oke.png folgt
Beschreibung der Abbildung soa-oke.png

soa-oke-oracle.zip

Die Architektur umfasst die folgenden Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domain bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).

  • Availability-Domains

    Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Daher sollte ein Fehler in einer Availability-Domain sich nicht auf die anderen Availability-Domains in der Region auswirken.

  • Faultdomains

    Eine Faultdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain umfasst drei Faultdomains mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physische Serverausfälle, Systemwartungen und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs die Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Load Balancer

    Der Oracle Cloud Infrastructure Load Balancing-Service ermöglicht automatisierte Trafficverteilung von einem Einstiegspunkt auf mehrere Server, die über das VCN erreichbar sind.

  • File Storage

    Der Oracle Cloud Infrastructure File Storage Service stellt ein dauerhaftes, skalierbares, sicheres Netzwerkdateisystem der Unternehmensklasse bereit. Sie können über jede Bare-Metal-, VM- oder Containerinstanz in einem VCN eine Verbindung mit einem File Storage Service-Dateisystem herstellen. Sie können auch außerhalb des VCN mit Oracle Cloud Infrastructure FastConnect und IPSec-VPN auf ein Dateisystem zugreifen. Mit File Storage Service wird ein persistentes Volume zum Speichern der SOA-Domainartefakte erstellt.

  • Kubernetes Engine

    Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine oder OKE) ist ein vollständig verwalteter, skalierbarer und hoch verfügbarer Service, mit dem Sie Ihre Containeranwendungen in der Cloud bereitstellen können. Sie geben die Compute-Ressourcen an, die Ihre Anwendungen benötigen, und Kubernetes Engine stellt sie in Oracle Cloud Infrastructure in einem vorhandenen Mandanten bereit. OKE automatisiert mit Kubernetes das Deployment, die Skalierung und die Verwaltung containerisierter Anwendungen über Cluster von Hosts hinweg.

  • SOA-Domain

    Eine SOA-Domain ist eine Gruppe zusammengehöriger Anwendungen und Ressourcen sowie die Konfigurationsinformationen, die für deren Ausführung erforderlich sind. Eine Domain umfasst eine oder mehrere SOA-Instanzen, die geclustert, nicht geclustert oder eine Kombination aus geclustert und nicht geclustert werden können. Eine Domain kann mehrere Cluster umfassen.

  • SOA- und (optional) Oracle Service Bus-Cluster

    Ein Cluster ist Teil einer bestimmten SOA-Domain. Ein Cluster besteht aus mehreren SOA-Instanzen, die gleichzeitig ausgeführt werden und zusammenarbeiten, um eine höhere Skalierbarkeit und Zuverlässigkeit bereitzustellen.

    Ein SOA-Cluster unterscheidet sich von einem Kubernetes-Cluster. Ein SOA-Cluster scheint Clients eine einzelne SOA-Instanz zu sein. Die Serverinstanzen, die ein Cluster bilden, können auf demselben Rechner ausgeführt werden oder sich auf unterschiedlichen Maschinen befinden. Alle Serverinstanzen in einem Cluster müssen unter derselben Version von Oracle WebLogic Server ausgeführt werden.

  • WebLogic Kubernetes-Operator

    Ein Kubernetes-Operator ist eine Software, die komplexe Anwendungen verwaltet. Der WebLogic Kubernetes Operator ist so konzipiert, dass er eine ähnliche Rolle wie ein menschlicher Operator in einem herkömmlichen Data Center Deployment übernimmt. Zu seinen Aufgaben gehören das Starten und Stoppen von Umgebungen, das Initiieren von Backups, das Ausführen von Skalierungsvorgängen, das Ausführen manueller Aufgaben im Zusammenhang mit Disaster Recovery- und High Availability-Anforderungen sowie die Koordination von Aktionen mit anderen Operatoren in anderen Data Centern.

Empfehlungen

Ihre Anforderungen können von der hier beschriebenen Architektur abweichen. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.

  • VCN

    Wenn Sie ein VCN erstellen, bestimmen Sie die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich innerhalb des privaten IP-Standardadressraums befinden.

    Wählen Sie CIDR-Blöcke aus, die sich nicht mit einem anderen Netzwerk (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, zu dem Sie private Verbindungen einrichten möchten.

    Nachdem Sie ein VCN erstellt haben, können Sie die CIDR-Blöcke ändern, hinzufügen und entfernen.

    Berücksichtigen Sie beim Entwerfen der Subnetze Ihren Trafficfluss und Ihre Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.

    Verwenden Sie regionale Subnetze.

    Diese Architektur verwendet ein öffentliches Subnetz für die Load Balancer und ein privates Subnetz zum Hosten von OCI Kubernetes Engine-Knoten.

  • OCI Kubernetes Engine

    Obwohl der Operator jedes generische Kubernetes-Cluster unterstützt, verwendet diese Architektur OCI Kubernetes Engine-Cluster. Diese Cluster verfügen über fünf Worker-Knoten, die auf verschiedene physische Hosts verteilt sind. Das angezeigte Cluster verfügt über Worker-Knoten, die auf verschiedene physische Hosts verteilt sind. Sie können bis zu 1000 Knoten in einem Cluster erstellen. Die Worker-Knoten werden auf VM.Standard2.1-Oracle Linux-Hosts bereitgestellt.

  • Load Balancer

    Standardmäßig werden die vom Operator erstellten Oracle WebLogic Server-Server (Admin- und Managed Server) nicht außerhalb des OCI Kubernetes Engine-Clusters verfügbar gemacht. Um die Anwendung für die Außenwelt verfügbar zu machen, verwendet diese Architektur einen öffentlichen Load Balancer im Load Balancing-Service. Ein öffentlicher Load Balancer hat eine öffentliche IP-Adresse, auf die über das Internet zugegriffen werden kann. Diese Architektur verwendet einen Load Balancer mit 100 Mbps für die Verarbeitung des Traffics. Wenn Sie mehr Ingress-Traffic verarbeiten müssen, können Sie eine höhere Bandbreite auswählen, bis zu 8000 Mbps.

  • File Storage

    Um Best Practices für die Ausführung von Oracle WebLogic Server-Domains zu erfüllen, werden die Domainkonfigurationsdateien in dieser Architektur in Shared File Storage gespeichert, auf die von allen WebLogic-Servern im Cluster zugegriffen werden kann. Dieses Setup bietet folgende Vorteile:

    • Sie müssen keine Docker-Images für Änderungen in der Domainkonfiguration neu erstellen.
    • Backups sind schneller und zentralisiert.
    • Logs werden standardmäßig im persistenten Speicher gespeichert.

Hinweise

  • Skalierbarkeit

    Sie können Ihre Anwendung horizontal skalieren, indem Sie die Anzahl der Worker-Knoten im Kubernetes-Cluster je nach Belastung aktualisieren. Ebenso können Sie die Anzahl der Worker-Knoten im Cluster reduzieren. Wenn Sie im Kubernetes-Cluster einen Service erstellen, können Sie einen Load Balancer erstellen, um Servicetraffic auf die Knoten zu verteilen, die diesem Service zugewiesen sind. Sie können das persistente Volume mit Terraform oder der Oracle-Webkonsole erstellen und dann aus den Operatorskripten referenzieren. Sie können die SOA-Domain und Cluster skalieren, indem Sie die Anzahl der dem Cluster zugewiesenen Managed Server unabhängig von der Anzahl der OKE-Clusterknoten anpassen.

  • Anwendungsverfügbarkeit

    Das Kubernetes-Cluster verfügt über drei Worker-Knoten für Managed Server, die über verschiedene physische Infrastrukturen verteilt sind, sodass die Oracle WebLogic Server-Cluster selbst die höchste Verfügbarkeit haben.

  • Sicherheit

    Mit Policys können Sie kontrollieren, wer Ihre Oracle Cloud Infrastructure-Ressourcen und welche Vorgänge sie ausführen können.

    OCI Kubernetes Engine ist in Oracle Cloud Infrastructure Identity and Access Management (IAM) integriert. IAM bietet eine einfache Authentifizierung mit nativen Oracle Cloud Infrastructure-Identitätsfunktionen.

Mehr erfahren

Weitere Informationen zum Deployment von SOA auf Kubernetes finden Sie in den folgenden zusätzlichen Ressourcen: