OCI Kubernetes Engine mit Autonomous Transaction Processing in Oracle Cloud bereitstellen
Stellen Sie OCI Kubernetes Engine (OKE) mit der Oracle Autonomous Transaction Processing-(ATP-)Datenbank bereit, um Cloud-native Anwendungen mithilfe der Oracle-Datenbanktechnologie auf Oracle Cloud Infrastructure zuverlässig zu erstellen, bereitzustellen und zu verwalten.
Architektur
Stellen Sie Oracle Cloud Infrastructure Kubernetes Engine (OKE) mit der Oracle Autonomous Transaction Processing-(ATP-)Datenbank bereit, um Cloud-native Anwendungen mithilfe der Oracle-Datenbanktechnologie auf Oracle Cloud Infrastructure zuverlässig zu erstellen, bereitzustellen und zu verwalten.
Im folgenden Diagramm wird die Architektur dargestellt.
Die Architektur umfasst die folgenden Komponenten:
- Regionen
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. Die OCI Kubernetes Engine verarbeitet die Verteilung der Knoten im Cluster über mehrere Faultdomains hinweg. So ist Ihre containerisierte Anwendung vor physischen Serverausfällen, Systemwartungen und Stromausfällen innerhalb einer Faultdomain geschützt.
- 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 von der OCI Kubernetes Engine (OKE) bereitgestellte Load Balancer bietet eine automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt zu Ressourcen im Cluster.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing ist ein selbststeuernder, selbstsichernder und selbstreparierender Datenbankservice, der für Transaktionsverarbeitungs-Workloads optimiert ist. Sie müssen keine Hardware konfigurieren oder verwalten oder Software installieren. Oracle Cloud Infrastructure übernimmt das Erstellen der Datenbank sowie Backup, Patching, Upgrade und Optimierung der Datenbank.
- OCI Kubernetes Engine
Oracle Cloud Infrastructure Kubernetes Engine (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.
Empfehlungen
Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
- 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.
Der Einfachheit halber verwendet diese Architektur ein öffentliches Subnetz, um Oracle Cloud Infrastructure Kubernetes Engine (OKE) zu hosten. Sie können auch ein privates Subnetz verwenden. Verwenden Sie in diesem Fall ein NAT-Gateway, um den Zugriff auf das öffentliche Internet aus dem Cluster zu ermöglichen.
- OCI Kubernetes Engine
In dieser Architektur verwenden die Worker-Knoten im Kubernetes-Cluster die Ausprägung VM.Standard2.1 und werden unter Oracle Linux ausgeführt. Sie können bis zu 1000 Knoten in einem Cluster erstellen.
- Autonome Datenbank
In dieser Architektur speichert die Anwendung die relationalen Daten in einer Oracle Autonomous Transaction Processing-Datenbank. Wir empfehlen die Verwendung der neuesten Version.
Hinweise
Berücksichtigen Sie bei der Implementierung dieser Architektur Ihre Anforderungen für die folgenden Parameter:
- Skalierbarkeit der autonomen Datenbank
Sie können auch die Basisanzahl von CPU-Cores der Datenbank jederzeit manuell vertikal oder horizontal skalieren. Mit dem Feature für die automatische Skalierung von Autonomous Transaction Processing kann Ihre Datenbank jederzeit die bis zu dreifache aktuelle Basisnummer von CPU-Cores verwenden. Wenn der Bedarf steigt, erhöht das automatische Skalieren automatisch die Anzahl der verwendeten Cores. Mit Autonomous Transaction Processing können Sie die Speicherkapazität der Datenbank jederzeit skalieren, ohne sich auf Verfügbarkeit oder Performance zu auswirken.
- Backups der autonomen Datenbank
Oracle Cloud Infrastructure sichert Ihre autonomen Datenbanken automatisch und bewahrt diese Backups 60 Tage lang auf. Sie können den Zustand der Datenbank zu einem beliebigen Zeitpunkt in diesem Aufbewahrungszeitraum wiederherstellen. Sie können auch manuelle Backups erstellen, um die automatischen Backups zu ergänzen. Manuelle Backups werden in einem Oracle Cloud Infrastructure Object Storage-Bucket gespeichert, den Sie erstellen, und werden 60 Tage lang aufbewahrt.
- Skalierbarkeit von Kubernetes
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 einen Service im Kubernetes-Cluster erstellen, können Sie einen Load Balancer erstellen, um Servicetraffic auf die Knoten zu verteilen, die diesem Service zugewiesen sind.
- Anwendungsverfügbarkeit
Faultdomains bieten die beste Resilienz innerhalb einer einzelnen Availability-Domain. Sie können auch Instanzen oder Knoten bereitstellen, die dieselben Aufgaben in mehreren Availability-Domains ausführen. Durch dieses Design wird ein Single Point of Failure durch Einführung von Redundanz beseitigt.
- Sicherheit
Verwenden Sie Policys, die einschränken, wer auf welche Oracle Cloud Infrastructure-Ressourcen zugreifen kann und wie sie darauf zugreifen 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.
Stellen Sie
Der Code, der zum Bereitstellen dieser Referenzarchitektur erforderlich ist, ist in GitHub verfügbar. Sie können den Code mit einem einzigen Klick in Oracle Cloud Infrastructure Resource Manager abrufen, den Stack erstellen und bereitstellen. Alternativ können Sie den Code von GitHub auf Ihren Computer herunterladen, den Code anpassen und die Architektur mit der Terraform-Befehlszeilenschnittstelle bereitstellen.
- Mit Oracle Cloud Infrastructure Resource Manager bereitstellen:
- Klicken Sie auf .
Wenn Sie noch nicht angemeldet sind, geben Sie den Mandanten und die Benutzerzugangsdaten ein.
- Prüfen und akzeptieren Sie die Vertragsbedingungen.
- Wählen Sie die Region aus, in der der Stack bereitgestellt werden soll.
- Befolgen Sie die Anweisungen und Anweisungen zum Erstellen des Stacks auf dem Bildschirm.
- Nachdem Sie den Stack erstellt haben, klicken Sie auf Terraform-Aktionen, und wählen Sie Planen aus.
- Warten Sie, bis der Job abgeschlossen ist, und prüfen Sie den Plan.
Um Änderungen vorzunehmen, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Stack bearbeiten, und nehmen Sie die erforderlichen Änderungen vor. Führen Sie dann die Aktion Planen erneut aus.
- Wenn keine weiteren Änderungen erforderlich sind, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Terraform-Aktionen, und wählen Sie Anwenden aus.
- Klicken Sie auf .
- Mit der Terraform-Befehlszeilenschnittstelle bereitstellen:
- Gehen Sie zu GitHub.
- Laden Sie den Code herunter, oder klonen Sie ihn auf Ihren lokalen Computer.
- Befolgen Sie die Anweisungen unter
deploy/complete/README.md
.
Mehr erfahren
Erfahren Sie mehr über die Bereitstellung containerisierter Microservices-basierter Anwendungen in Kubernetes-Clustern in der Cloud.