Déployer Container Engine for Kubernetes avec Autonomous Transaction Processing dans le cloud

Déployez Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) avec la base de données Oracle Autonomous Transaction Processing (ATP) pour créer, déployer et gérer des applications natives du cloud de manière fiable à l'aide de la technologie de base de données Oracle sur Oracle Cloud Infrastructure.

Architecture

Déployez Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) avec la base de données Oracle Autonomous Transaction Processing (ATP) pour créer, déployer et gérer des applications natives du cloud de manière fiable à l'aide de la technologie de base de données Oracle sur Oracle Cloud Infrastructure.

Le diagramme suivant illustre l'architecture.



Deploy-oke-atp-oci-oracle.zip

L'architecture comporte les composants suivants :

  • Régions

    Une région Oracle Cloud Infrastructure est une zone géographique localisée contenant un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes des autres régions et de vastes distances peuvent les séparer (d'un pays à l'autre ou même d'un continent à l'autre).

  • Domaines 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 offre une tolérance aux pannes. Les domaines de disponibilité ne partagent pas d'infrastructure telle que l'alimentation ou le refroidissement, ni le réseau de domaine de disponibilité interne. Il est donc peu probable qu'un échec dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.

  • Domaines d'erreur

    Un domaine de pannes est un regroupement de matériel et d'infrastructure au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes dotés d'une alimentation et d'un matériel indépendants. Oracle Cloud Infrastructure Container Engine for Kubernetes gère la distribution des noeuds dans le cluster sur plusieurs domaines de pannes. Ainsi, votre application conteneurisée est protégée contre la panne du serveur physique, la maintenance du système et la panne d'alimentation dans un domaine de panne.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisé et défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de datacenters traditionnels, les VCN vous donnent un contrôle complet sur votre environnement réseau. Un VCN peut avoir plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être étendus à une région ou à un domaine de disponibilité. Chaque sous-réseau se compose d'une plage d'adresses contiguë qui ne chevauchent pas les autres sous-réseaux de VCN. Vous pouvez modifier la taille d'un sous-réseau après la création. Un sous-réseau peut être public ou privé.

  • Equilibreur de charge

    L'équilibreur de charge fourni par Container Engine for Kubernetes (OKE) fournit une distribution automatisée du trafic à partir d'un point d'entrée unique vers les ressources du cluster.

  • Traitement autonome des transactions

    Oracle Autonomous Transaction Processing est un service de base de données autonome, auto-sécurisé et auto-réparateur optimisé pour les charges globales de traitement des transactions. Vous n'avez pas besoin de configurer ou de gérer un 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.

  • Moteur de conteneur pour Kubernetes

    Oracle Cloud Infrastructure Container Engine for Kubernetes est un service entièrement géré, évolutif et hautement disponible que vous pouvez utiliser pour déployer vos applications conteneurisées dans le cloud. Vous indiquez les ressources de calcul dont vos applications ont besoin et Container Engine for Kubernetes les provisionne sur Oracle Cloud Infrastructure dans une location existante. Container Engine for Kubernetes utilise Kubernetes pour automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées sur les clusters d'hôtes.

Recommandations

Utiliser les recommandations suivantes comme point de départ. Vos exigences 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 d'attacher à des sous-réseaux dans VCN. Utilisez les blocs CIDR qui se trouvent dans l'espace d'adresse IP privé standard.

    Sélectionnez des blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) auquel vous souhaitez configurer des connexions privées.

    Une fois que VCN a été créé, vous pouvez modifier, ajouter et enlever ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos besoins 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é.

    Utilisez des sous-réseaux régionaux.

    Pour plus de simplicité, cette architecture utilise un sous-réseau public pour héberger Container Engine for Kubernetes. Vous pouvez également utiliser un sous-réseau privé. Dans ce cas, utilisez une passerelle NAT pour autoriser l'accès à Internet public à partir du cluster.

  • Moteur de conteneur pour Kubernetes

    Dans cette architecture, les noeuds de travail du cluster Kubernetes utilisent la forme VM.Standard2.1 et s'exécutent sur Oracle Linux. Vous pouvez créer jusqu'à 1000 noeuds dans un cluster.

  • Base de données autonome

    Dans cette architecture, l'application stocke les données relationnelles dans une base de données Oracle Autonomous Transaction Processing. Nous vous recommandons d'utiliser la dernière version.

Remarques

Lors de l'implémentation de cette architecture, tenez compte de vos besoins pour les paramètres suivants :

  • Évolutivité de base de données autonome

    Vous pouvez mettre à l'échelle manuellement le nombre de coeurs de base de la base de données vers le haut ou vers le bas à tout moment. La fonction de redimensionnement automatique du traitement des transactions autonome permet à votre base de données d'utiliser jusqu'à trois fois le nombre de base actuel de coeurs de processeur à tout moment. À mesure que la demande augmente, le redimensionnement automatique augmente automatiquement le nombre de coeurs utilisés. Le traitement autonome des transactions vous permet d'étendre à tout moment la capacité de stockage de la base de données sans affecter la disponibilité ou les performances.

  • Sauvegardes de base de données autonomes

    Oracle Cloud Infrastructure sauvegarde automatiquement vos bases de données autonomes et conserve ces sauvegardes pendant 60 jours. Vous pouvez restaurer et récupérer votre base de données à n'importe quel point dans le temps au cours de cette période de conservation. Vous pouvez également créer des sauvegardes manuelles pour compléter vos sauvegardes automatiques. Les sauvegardes manuelles sont stockées dans un bucket Oracle Cloud Infrastructure Object Storage que vous créez et que vous conservez pendant 60 jours.

  • évolutivité de Kubernetes

    Vous pouvez mettre à l'échelle votre application en mettant à jour le nombre de noeuds de salarié dans le cluster Kubernetes, en fonction du chargement. De même, vous pouvez effectuer une mise à l'échelle en réduisant le nombre de noeuds de salarié dans le cluster. Lorsque vous créez un service sur le cluster Kubernetes, vous pouvez créer un équilibreur de charge pour distribuer le trafic de service entre les noeuds affectés à ce service.

  • Disponibilité de l'application

    Les domaines de pannes offrent la meilleure résilience au sein d'un seul domaine de disponibilité. Vous pouvez également déployer des instances ou des noeuds qui effectuent les mêmes tâches dans plusieurs domaines de disponibilité. Cette conception élimine un point unique de panne en introduisant la redondance.

  • Sécurité

    Utilisez des stratégies qui restreignent l'accès aux ressources Oracle Cloud Infrastructure et la façon dont elles peuvent y accéder.

    Oracle Cloud Infrastructure Container Engine for Kubernetes est intégré à Oracle Cloud Infrastructure Identity and Access Management (IAM). IAM fournit une authentification facile avec la fonctionnalité d'identité Oracle Cloud Infrastructure native.

Déployer

Le code requis pour déployer cette architecture de référence est disponible dans GitHub. Vous pouvez extraire le code vers Oracle Cloud Infrastructure Resource Manager en un seul clic, créer la pile et le déployer. Vous pouvez également télécharger le code depuis GitHub vers votre ordinateur, personnaliser le code et déployer l'architecture à l'aide de l'interface de ligne de commande Terraform.

  • Déployer à l'aide d'Oracle Cloud Infrastructure Resource Manager :
    1. Cliquez sur Déploiement vers Oracle Cloud

      Si vous n'êtes pas déjà connecté, entrez les informations d'identification de location et d'utilisateur.

    2. Consultez et acceptez les conditions générales.
    3. Sélectionnez la région dans laquelle déployer la pile.
    4. Suivez les invites et instructions affichées à l'écran pour créer la pile.
    5. Après avoir créé la pile, cliquez sur Actions Terraform, puis sélectionnez Plan.
    6. Attendez que le travail soit terminé et vérifiez le plan.

      Pour apporter des modifications, revenez à la page Détails de la pile, cliquez sur Modifier la pile et apportez les modifications nécessaires. Ensuite, réexécutez l'action Plan.

    7. Si aucune autre modification n'est nécessaire, revenez à la page Détails de la pile, cliquez sur Actions Terraform, puis sélectionnez Appliquer.
  • Déployer à l'aide de l'interface de ligne de commande Terraform:
    1. Accédez à GitHub.
    2. Téléchargez ou clonez le code sur votre ordinateur local.
    3. Suivez les instructions dans deploy/complete/README.md.

Journal des modifications

Ce journal répertorie les modifications importantes :