Kubernetes-basierte Tools zum Deployment und Verwalten einer hochverfügbaren Autonomous Database verwenden
Administratoren verwenden normalerweise die Oracle Cloud Infrastructure-(OCI-)Konsole, um Oracle Autonomous Transaction Processing (ATP) zu verwalten. Dadurch entsteht jedoch eine unzusammenhängende Erfahrung für Kubernetes-Administratoren. Mit Oracle Cloud Infrastructure (OCI) Service Operator for Kubernetes (OSOK) können Administratoren Standard-Kubernetes-Tools zum Deployment und Verwalten von ATP verwenden.
Architektur
Diese Referenzarchitektur zeigt eine Anwendung, die in einem OKE-Cluster bereitgestellt ist und eine hochverfügbare Autonomous Database-Instanz verwendet. ATP wird vollständig aus dem OKE-Cluster über OSOK bereitgestellt und verwaltet.
Mit OSOK können Sie ATP neben anderen Kubernetes-Anwendungen mit dem Kubernetes-Packageverwaltungstool Helm bereitstellen. Sie können ATP auch wie jede andere Kubernetes-Ressource über das standardmäßige Kubernetes-Befehlszeilentool kubectl verwalten. Um dies zu aktivieren, modelliert OSOK Autonomous Database als benutzerdefinierte Ressourcendefinition (Custom Resource Definition, CRD) und wendet diese Definitionen auf das OKE-Cluster an.
ATP kann als Standalone-System oder mit High Availability (HA) bereitgestellt werden. Die Anwendung stellt eine Verbindung zu einem einzelnen Endpunkt her, um die Datenbank zu lesen und zu schreiben. Bei einem Ausfall wechselt ATP automatisch zu einer sekundären Instanz, ohne die Anwendung neu konfigurieren zu müssen.

Beschreibung der Abbildung kubernetes-based-autonomous-database.png
kubernetes-based-autonomous-database-oracle.zip
Die Architektur umfasst die folgenden Komponenten:
- Mandant
Ein Mandant ist eine sichere und isolierte Partition, die Oracle in Oracle Cloud einrichtet, wenn Sie sich für Oracle Cloud Infrastructure registrieren. Sie können Ihre Ressourcen in Oracle Cloud in Ihrem Mandanten erstellen, organisieren und verwalten. Ein Mandant entspricht einem Unternehmen oder einer Organisation. Normalerweise hat ein Unternehmen einen einzelnen Mandanten und spiegelt seine Organisationsstruktur innerhalb dieses Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.
- Region
Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der ein oder mehrere Data Center, so genannte Availability-Domains, enthält. Regionen sind nicht von anderen Regionen abhängig, und große Distanzen können sie trennen (über Länder oder sogar Kontinente).
- Availability-Domain
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 Fehlertoleranz bietet. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Es ist also unwahrscheinlich, dass der Fehler in einer Availability-Domain die anderen Availability-Domains in der Region beeinflusst.
- Faultdomain
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 über mehrere Faultdomains verteilen, können Ihre Anwendungen Fehler, Systemwartung und Stromausfälle innerhalb einer Faultdomain tolerieren.
- Virtuelles Cloud-Netzwerk (VCN) und Subnetz
Ein VCN ist ein anpassbares, Softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten. Wie bei traditionellen Data Center-Netzwerken haben VCNs die vollständige 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 für eine Region oder eine Availability-Domain gelten können. Jedes Subnetz besteht aus einem nachfolgenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Sie können die Größe eines Subnetzes nach dem Erstellen ändern. Ein Subnetz kann öffentlich oder privat sein.
- Load Balancer
Der Oracle Cloud Infrastructure Load Balancing-Service ermöglicht automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt auf mehrere Server im Backend.
- Network Address Translation-(NAT-)Gateway
Ein NAT-Gateway ermöglicht privaten Ressourcen in einem VCN den Zugriff auf Hosts im Internet, ohne dass diese Ressourcen für eingehende Internetverbindungen freigegeben werden.
- Servicegateway
Das Servicegateway ermöglicht den Zugriff von einem VCN auf andere Services, wie Oracle Cloud Infrastructure Object Storage. Der Traffic vom VCN zum Oracle-Service durchläuft die Oracle-Netzwerk-Fabric und nie das Internet.
- Cloud Guard
Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure überwachen und verwalten. Cloud Guard verwendet Detektorrezepte, mit denen Sie Ihre Ressourcen auf Sicherheitsschwächen untersuchen und Operatoren und Benutzer auf riskante Aktivitäten überwachen können. Wenn falsche oder unsichere Aktivitäten erkannt werden, empfiehlt Cloud Guard Korrekturmaßnahmen und hilft Ihnen, diese Aktionen basierend auf Responder-Rezepten auszuführen, die Sie definieren können.
- Sicherheitszone
Sicherheitszonen stellen die Best Practices der Oracle-Sicherheit von Anfang an sicher, indem Policys wie das Verschlüsseln von Daten und das Verhindern des öffentlichen Zugriffs auf Netzwerke für ein gesamtes Compartment durchgesetzt werden. Eine Sicherheitszone ist mit einem Compartment mit demselben Namen verknüpft und umfasst Sicherheitszonen-Policys oder ein "Rezept", das für das Compartment und die zugehörigen Sub-Compartments gilt. Ein Standard-Compartment kann nicht zu einem Sicherheitszonen-Compartment hinzugefügt oder verschoben werden.
- Sicherheitsliste
Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Traffictyp angeben, die in das Subnetz ein- und ausgehen dürfen.
- Object Storage
Object Storage ermöglicht einen schnellen Zugriff auf große Mengen strukturierter und unstrukturierter Daten aller Inhaltstypen, darunter Datenbankbackups, Analysedaten und umfangreiche Inhalte wie Bilder und Videos. Sie können Daten sicher speichern und dann direkt aus dem Internet oder aus der Cloud-Plattform abrufen. Sie können den Speicher nahtlos skalieren, ohne dass dies zu einer Beeinträchtigung der Performance oder Servicezuverlässigkeit führt. Verwenden Sie Standardspeicher für "Hot"-Speicher, auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie den Archivspeicher zum "kalten" Speicher, den Sie über lange Zeiträume beibehalten und selten oder nur selten aufrufen.
- FastConnect
Oracle Cloud Infrastructure FastConnect bietet eine einfache Möglichkeit, eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure zu erstellen. FastConnect bietet im Vergleich zu internetbasierten Verbindungen höhere Bandbreitenoptionen und eine zuverlässigere Netzwerkerfahrung.
- Lokales Peering-Gateway (LPG)
Mit einem LPG können Sie ein VCN per Peering mit einem anderen VCN in derselben Region verbinden. Peering bedeutet, dass die VCNs über private IP-Adressen kommunizieren, ohne dass der Traffic über das Internet oder das On-Premise-Netzwerk geleitet wird.
- Autonome Datenbank
Autonome Oracle Cloud Infrastructure-Datenbanken sind vollständig verwaltete, vorkonfigurierte Datenbankumgebungen, die Sie zur Transaktionsverarbeitung und Data Warehousing-Workloads verwenden können. Sie müssen keine Hardware konfigurieren oder verwalten und keine Software installieren. Oracle Cloud Infrastructure verarbeitet das Erstellen der Datenbank sowie das Backup, Patching, Upgrade und Tuning der Datenbank.
- Autonomous Data Warehouse
Oracle Autonomous Data Warehouse ist ein selbststeuernder, selbstsichernder und selbstreparierender Datenbankservice, der für Data Warehousing-Workloads optimiert ist. Sie müssen keine Hardware konfigurieren oder verwalten und keine Software installieren. Oracle Cloud Infrastructure verarbeitet das Erstellen der Datenbank sowie das Backup, Patching, Upgrade und Tuning der Datenbank.
- 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 und keine Software installieren. Oracle Cloud Infrastructure verarbeitet das Erstellen der Datenbank sowie das Backup, Patching, Upgrade und Tuning der Datenbank.
- Exadata-DB-System
Mit Exadata Cloud Service können Sie die Vorteile von Exadata in der Cloud nutzen. Sie können flexible X8M-Systeme bereitstellen, mit denen Sie Datenbank-Compute-Server und Speicherserver zu Ihrem System hinzufügen können, wenn Ihre Anforderungen steigen. X8M-Systeme bieten Networking vom Typ RoCE (RDMA over Converged Ethernet) für Module mit hoher Bandbreite und geringer Latenz, persistenter Speicher (PMEM) und intelligenter Exadata-Software. Sie können X8M-Systeme mit einer Ausprägung bereitstellen, die einem Quarter-Rack-System X8 entspricht, und dann Datenbank- und Speicherserver nach dem Provisioning jederzeit hinzufügen.
Empfehlungen
Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt. Ihre Anforderungen können sich von der hier beschriebenen Architektur unterscheiden.
- 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 im privaten Standardadressbereich 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, für das Sie private Verbindungen einrichten möchten.
Nachdem Sie ein VCN erstellt haben, können Sie die zugehörigen CIDR-Blöcke ändern, hinzufügen und entfernen.
Berücksichtigen Sie bei der Entwicklung der Subnetze Ihren Trafficfluss und Ihre Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Tier oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.
- Cloud Guard
Klonen und passen Sie die von Oracle bereitgestellten Standardrezepte an, um benutzerdefinierte Detektor- und Responder-Rezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welche Art von Sicherheitsverletzungen eine Warnung generieren und welche Aktionen für sie ausgeführt werden dürfen. Beispiel: Sie möchten Object Storage-Buckets ermitteln, deren Sichtbarkeit auf "Öffentlich" gesetzt ist.
Wenden Sie Cloud Guard auf Mandantenebene an, um den weitesten Geltungsbereich abzudecken und den administrativen Aufwand bei der Verwaltung mehrerer Konfigurationen zu reduzieren.
Sie können auch das Feature "Verwaltete Liste" verwenden, um bestimmte Konfigurationen auf Detektoren anzuwenden.
- Sicherheitszonen
Für Ressourcen, die maximale Sicherheit erfordern, empfiehlt Oracle, Sicherheitszonen zu verwenden. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept der Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht vom öffentlichen Internet aus zugänglich sein und müssen mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure die Vorgänge anhand der Policys im Rezept der Sicherheitszone und lehnt Vorgänge ab, die eine der Policys verletzen.
- Netzwerksicherheitsgruppen (NSGs
Mit NSGs können Sie ein Set von Ingress- und Egress-Regeln definieren, die für bestimmte VNICs gelten. Es wird empfohlen, keine Sicherheitslisten sondern NSGs zu verwenden, da NSGs die Subnetzarchitektur des VCN von den Sicherheitsanforderungen Ihrer Anwendung trennen können.
- Load-Balancer-Bandbreite
Beim Erstellen des Load Balancers können Sie entweder eine vordefinierte Ausprägungen mit fester Bandbreite auswählen oder eine benutzerdefinierte (flexible) Ausprägungen angeben, bei der Sie einen Bandbreitenbereich festlegen und der Service die Bandbreite automatisch basierend auf Trafficmustern skalieren lässt. Bei beiden Lösungen können Sie die Ausprägungen nach dem Erstellen des Load Balancers jederzeit ändern.
Hinweise
Wenn Sie Oracle Autonomous Database in OKE-Cluster bereitstellen, überlegen Sie sich die Skalierbarkeit. Mit Kubernetes Cluster Autoscaler können Sie das Cluster automatisch skalieren.
Autoscaler passt die Anzahl der verfügbaren Knoten an, wenn der Bedarf steigt oder sinkt. So wird die Verwendung Ihrer OCI-Compute-Ressourcen optimiert. So wird verhindert, dass Sie mehr Knoten als erforderlich verwenden, was Ihre Kosten senken kann.
Kubernetes Cluster Autoscaler ist auf Github verfügbar.
Bereitstellen
Auf OCI muss zuerst ein OKE-Cluster oder ein Kubernetes-Cluster bereitgestellt sein. Anschließend können Sie OSOK mit den folgenden Tools einrichten und ATP in Kubernetes bereitstellen.
Mit diesem Terraform-Playbook wird die Installation von OSOK in einem auf OCI bereitgestellten Kubernetes-Cluster automatisiert. Das Kubernetes-Cluster kann ein vom Kunden verwaltetes Cluster sein, das auf virtuellen Maschinen oder auf einem mit dem OKE-Service verwalteten Cluster bereitgestellt ist.
- Gehen Sie zu GitHub.
- Klonen oder laden Sie das Repository auf Ihren lokalen Rechner herunter.
- Befolgen Sie die Anweisungen im Dokument
README.
Mit diesem Helm-Diagramm können Sie ATP aus einem in OCI bereitgestellten Kubernetes-Cluster erstellen und verwalten. Dieses Helm-Diagramm basiert auf OSOK, das bereits im Cluster bereitgestellt werden muss.
- Gehen Sie zu GitHub.
- Klonen oder laden Sie das Repository auf Ihren lokalen Rechner herunter.
- Befolgen Sie die Anweisungen im Dokument
README.