Utiliser les outils basés sur Kubernetes pour déployer et gérer une instance Autonomous Database hautement disponible
Les administrateurs utilisent normalement la console Oracle Cloud Infrastructure (OCI) pour gérer Oracle Autonomous Transaction Processing (ATP), mais cela crée une expérience incohérente pour les administrateurs Kubernetes. Avec Oracle Cloud Infrastructure (OCI) Service Operator for Kubernetes (OSOK), les administrateurs peuvent utiliser les outils Kubernetes standard pour déployer et gérer ATP.
Architecture
Cette architecture de référence présente une application déployée dans un cluster OKE qui utilise une instance Autonomous Database hautement disponible. ATP est déployé et géré entièrement à partir du cluster OKE via OSOK.
OSOK vous permet de déployer ATP à côté d'autres applications Kubernetes à l'aide de l'outil de gestion des packages Kubernetes Helm. Vous pouvez également gérer ATP comme n'importe quelle autre ressource Kubernetes via l'outil de ligne de commande Kubernetes standard, kubectl. Pour l'activer, OSOK modélise Autonomous Database en tant que définition de ressource personnalisée (CRD) et applique ces définitions au cluster OKE.
ATP peut être déployé en tant que système autonome ou avec la haute disponibilité (HA). L'application se connecte à une seule adresse pour lire et écrire dans la base de données. En cas de panne, ATP basculera automatiquement vers une instance secondaire sans avoir à reconfigurer l'application.
Description de l'illustration kubernetes-based-autonomous-database.png
kubernetes-based-autonomous-database-oracle.zip
L'architecture comprend les composants suivants :
- Location
Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lorsque vous inscrivez à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et administrer les ressources dans Oracle Cloud au sein de votre location. Une location est synonyme de société ou d'organisation. En général, une entreprise possède une seule location et reflète sa structure organisationnelle au sein de cette location. Une seule location est généralement associée à un seul abonnement, et un seul abonnement ne dispose généralement que d'une seule location.
- Région
Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient des centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (dans les pays ou même les continents).
- Domaine de disponibilité
Les domaines de disponibilité sont des centres de données autonomes et indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas d'infrastructure telle que l'alimentation ou le refroidissement, ni le réseau interne du domaine de disponibilité. Ainsi, il est peu probable qu'un échec dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.
- Domaine de pannes
Un domaine de pannes est un regroupement de matériel et d'infrastructures au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes avec un matériel et une alimentation indépendants. Lorsque vous répartissez des ressources entre plusieurs domaines de pannes, les applications peuvent tolérer les pannes physiques du serveur, la maintenance du système et les pannes d'alimentation au sein d'un domaine de pannes.
- Réseau cloud virtuel (VCN) et sous-réseau
Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Tout comme les réseaux de centres de données traditionnels, les réseaux cloud virtuels vous donnent un contrôle total sur votre environnement réseau. Un VCN peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être ciblés vers une région ou vers un domaine de disponibilité. Chaque sous-réseau se compose d'une plage contiguë d'adresses qui ne chevauchent pas les autres sous-réseaux du VCN. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.
- équilibreur de charge
Le service Oracle Cloud Infrastructure Load Balancing fournit une distribution de trafic automatisée à partir d'un seul point d'entrée vers plusieurs serveurs du back-end.
- Passerelle NAT (Network Address Translation)
Une passerelle NAT permet aux ressources privées d'un VCN d'accéder à des hôtes sur Internet, sans les exposer aux connexions Internet entrantes.
- passerelle de service
La passerelle de service fournit l'accès d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic du VCN vers le service Oracle transite par la structure réseau Oracle et ne traverse jamais Internet.
- Cloud Guard
Vous pouvez utiliser Oracle Cloud Guard pour surveiller et maintenir la sécurité de vos ressources dans Oracle Cloud Infrastructure. Cloud Guard utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources en cas de faiblesses de sécurité et pour surveiller les opérateurs et les utilisateurs dans le cadre d'activités à risque. Lorsqu'une erreur de configuration ou une activité non sécurisée est détectée, Cloud Guard recommande des actions correctives et aide à effectuer ces actions, en fonction des recettes de répondeur que vous pouvez définir.
- Zone de sécurité
Les zones de sécurité garantissent dès le départ les meilleures pratiques de sécurité d'Oracle en appliquant des stratégies telles que le cryptage des données et la prévention de l'accès public aux réseaux pour un compartiment entier. Une zone de sécurité est associée à un compartiment du même nom et inclut des stratégies de zone de sécurité ou une "recipe" qui s'applique au compartiment et à ses sous-compartiments. Vous ne pouvez pas ajouter ou déplacer un compartiment standard vers un compartiment de zone de sécurité.
- Liste de sécurité
Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic à autoriser à l'entrée et à la sortie du sous-réseau.
- Stockage d'objets
Object Storage offre un accès rapide à de grandes quantités de données structurées et non structurées de tout type de contenu, notamment des sauvegardes de base de données, des données analytiques et des contenus enrichis tels que des images et des vidéos. Vous pouvez stocker et extraire en toute sécurité des données directement à partir d'Internet ou de la plate-forme cloud. Vous pouvez faire évoluer le stockage de manière transparente sans subir de dégradation des performances ou de la fiabilité du service. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archives pour le stockage "à froid" que vous conservez pendant de longues périodes et auquel vous accédez rarement.
- FastConnect
Oracle Cloud Infrastructure FastConnect permet de créer facilement une connexion privée dédiée entre votre centre de données et Oracle Cloud Infrastructure. FastConnect offre des options de bande passante plus élevée et une expérience sur réseau plus fiable par rapport aux connexions Internet.
- Passerelle d'appairage local
Une passerelle d'appairage local vous permet d'appairer un VCN avec un autre VCN dans la même région. L'appairage signifie que les réseaux virtuels communiquent à l'aide d'adresses IP privées, sans que le trafic ne passe par Internet ou ne passe par le routage sur votre réseau sur site.
- Base de données autonome
Les bases de données autonomes Oracle Cloud Infrastructure sont des environnements de base de données entièrement gérés préconfigurés que vous pouvez utiliser pour les charges de travail de traitement des transactions et d'entreposage de données. Vous n'avez pas besoin de configurer ou de gérer du matériel, ni d'installer un logiciel. Oracle Cloud Infrastructure gère la création de la base de données, ainsi que la sauvegarde, l'application de patches, la mise à niveau et le réglage de la base de données.
- Autonomous Data Warehouse
Oracle Autonomous Data Warehouse est un service de base de données doté de fonctions d'autopilotage, d'autosécurisation et d'autoréparation optimisé pour les charges de travail d'entreposage de données. Vous n'avez pas besoin de configurer ou de gérer du matériel, ni d'installer un logiciel. Oracle Cloud Infrastructure gère la création de la base de données, ainsi que la sauvegarde, l'application de patches, la mise à niveau et le réglage de la base de données.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing est un service de base de données à pilotage, sécurité et réparation automatiques optimisé pour les charges de travail de traitement des transactions. Vous n'avez pas besoin de configurer ou de gérer du matériel, ni d'installer un logiciel. Oracle Cloud Infrastructure gère la création de la base de données, ainsi que la sauvegarde, l'application de patches, la mise à niveau et le réglage de la base de données.
- Système de base de données Exadata
Exadata Cloud Service vous permet de tirer parti de la puissance d'Exadata dans le cloud. Vous pouvez provisionner des systèmes X8M flexibles qui vous permettent d'ajouter des serveurs de calcul et des serveurs de stockage de base de données à votre système à mesure que vos besoins augmentent. Les systèmes X8M offrent un réseau RoCE (RDMA over Converged Ethernet) pour une bande passante élevée et une latence faible, des modules de mémoire persistante (PMEM) et un logiciel Exadata intelligent. Vous pouvez provisionner des systèmes X8M à l'aide d'une forme équivalente à un système X8 quart de rack, puis ajouter des serveurs de base de données et de stockage à tout moment après le provisionnement.
Recommandations
Utilisez les recommandations suivantes comme point de départ. Vos besoins peuvent différer de l'architecture décrite ici.
- VCN
Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez de joindre aux sous-réseaux du VCN. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adresses IP privées standard.
Sélectionnez les blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données on-premise ou un autre fournisseur cloud) sur lequel vous souhaitez configurer des connexions privées.
Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.
Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.
- Cloud Guard
Clonez et personnalisez les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondeur personnalisées. Ces recettes vous permettent d'indiquer le type de violation de sécurité qui génère un avertissement et les actions autorisées. Par exemple, vous pouvez détecter les buckets Object Storage dont la visibilité est définie sur Public.
Appliquez Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative liée à la maintenance de plusieurs configurations.
Vous pouvez également utiliser la fonctionnalité Liste gérée pour appliquer certaines configurations aux détecteurs.
- Security Zones
Pour les ressources nécessitant une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette définie par Oracle de stratégies de sécurité reposant sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et doivent être cryptées à l'aide de clés gérées par le client. Lorsque vous créez et mettez à jour des ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations par rapport aux stratégies dans la recette de zone de sécurité, et refuse les opérations qui violent les stratégies.
- Groupes de sécurité réseau
Vous pouvez utiliser des groupes de sécurité réseau pour définir un ensemble de règles entrantes et sortantes qui s'appliquent à des VNIC spécifiques. Nous vous recommandons d'utiliser des groupes de sécurité réseau plutôt que des listes de sécurité, car les groupes de sécurité réseau vous permettent de séparer l'architecture de sous-réseau de VCN des exigences de sécurité de votre application.
- Bande passante d'équilibreur de charge
Lors de la création de l'équilibreur de charge, vous pouvez sélectionner une forme prédéfinie fournissant une bande passante fixe ou indiquer une forme personnalisée (flexible) dans laquelle vous définissez une plage de bande passante et laisser le service redimensionner automatiquement la bande passante en fonction des modèles de trafic. Avec l'une ou l'autre approche, vous pouvez modifier la forme à tout moment après la création de l'équilibreur de charge.
Remarques
Lors du déploiement d'Oracle Autonomous Database sur des clusters OKE, envisagez l'évolutivité. Vous pouvez utiliser l'outil de redimensionnement automatique de cluster Kubernetes pour redimensionner automatiquement le cluster.
L'outil de redimensionnement automatique ajuste le nombre de noeuds disponibles à mesure que la demande augmente ou diminue. Cela optimise l'utilisation des ressources OCI Compute et vous empêche d'utiliser plus de noeuds que nécessaire, ce qui peut vous faire augmenter vos coûts.
L'outil de redimensionnement automatique de cluster Kubernetes est disponible sur Github.
Déployer
Vous devez d'abord déployer un cluster OKE ou un cluster Kubernetes sur OCI. Vous pouvez ensuite utiliser les outils suivants pour configurer OSOK et déployer ATP dans Kubernetes.
Ce livre de jeux Terraform automatise l'installation d'OSOK dans un cluster Kubernetes déployé sur OCI. Le cluster Kubernetes peut être un cluster géré par le client déployé sur des machines virtuelles ou un cluster géré avec le service OKE.
- Accédez à GitHub.
- Clonez ou téléchargez le référentiel sur votre ordinateur local.
- Suivez les instructions du document
README
.
Utilisez ce graphique Helm pour créer et gérer le DAV à partir d'un cluster Kubernetes déployé dans OCI. Ce graphique Helm repose sur OSOK, qui doit déjà être déployé dans le cluster.
- Accédez à GitHub.
- Clonez ou téléchargez le référentiel sur votre ordinateur local.
- Suivez les instructions du document
README
.