Déployer Oracle WebLogic Server dans une grappe Kubernetes

Vous pouvez déployer SOA dans des grappes Kubernetes sur place et dans Oracle Cloud. L'exécution d'Oracle SOA sur Kubernetes offre un équilibre entre l'automatisation, la portabilité et la possibilité de personnaliser plusieurs domaines. L'opérateur Kubernetes WebLogic est un outil à code source libre qui simplifie le processus de création et de gestion de plusieurs domaines SOA dans une grappe Kubernetes.

Architecture

Cette architecture de référence présente un domaine Oracle SOA et un domaine Oracle Service Bus (OSB) facultatif déployés dans une grappe Kubernetes provisionnée dans Oracle Cloud à l'aide du moteur Kubernetes pour OCI. Ce service facilite la création d'une grappe Kubernetes et fournit les services requis tels qu'un équilibreur de charge, un stockage par blocs et un réseau.

Le diagramme suivant illustre cette architecture de référence.

Description de soa-oke.png :
Description de l'illustration soa-oke.png

soa-oke-oracle.zip

L'architecture comprend les composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs 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 différents pays ou continents).

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants et autonomes dans 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 les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Par conséquent, une défaillance d'un domaine de disponibilité ne devrait pas affecter les autres domaines de disponibilité de la région.

  • Domaines d'erreur

    Un domaine d'erreur est un regroupement de matériel et d'infrastructure au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines d'erreur avec une puissance et un matériel indépendants. Lorsque vous répartissez des ressources entre plusieurs domaines d'erreur, vos applications peuvent tolérer les pannes physiques de serveur, la maintenance du système et les pannes d'alimentation au sein d'un domaine d'erreur.

  • Réseau en nuage virtuel (VCN) et sous-réseau

    Un VCN est un réseau défini par logiciel personnalisable que vous avez configuré dans une région Oracle Cloud Infrastructure. Comme les réseaux en nuage virtuels traditionnels, ils vous offrent un contrôle sur votre environnement de réseau. Un VCN peut disposer de plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage virtuel. 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 assure la répartition automatisée du trafic d'un point d'entrée vers plusieurs serveurs accessibles à partir du VCN.

  • Stockage de fichiers

    Le service de stockage de fichiers pour Oracle Cloud Infrastructure fournit un système de fichiers de fichier de réseau durable, évolutif, sécurisé et de niveau entreprise. Vous pouvez vous connecter à un système de fichiers du service de stockage de fichiers à partir de toute instance sans système d'exploitation, sur machine virtuelle ou en conteneur d'un VCN. Vous pouvez également accéder à un système de fichiers depuis l'extérieur du réseau VCN à l'aide d'Oracle Cloud Infrastructure FastConnect et du RPV IPSec. Le service de stockage de fichiers permet de créer un volume persistant pour stocker les artefacts de domaine SOA.

  • Moteur Kubernetes

    Oracle Cloud Infrastructure Kubernetes Engine pour (Moteur Kubernetes pour OCI ou OKE) est un service entièrement géré, évolutif et hautement disponible que vous pouvez utiliser pour déployer vos applications conteneurisées dans le nuage. Vous indiquez les ressources de calcul dont vos applications ont besoin et Kubernetes Engine les provisionne sur Oracle Cloud Infrastructure dans une location existante. OKE utilise Kubernetes pour automatiser le déploiement, l'ajustement et la gestion des applications conteneurisées sur les grappes d'hôtes.

  • Domaine SOA

    Un domaine SOA est un groupe d'applications et de ressources connexes, ainsi que les informations de configuration nécessaires pour les exécuter. Un domaine comprend une ou plusieurs instances SOA, qui peuvent être clusterisées, non clusterisées ou une combinaison de clusterisées et non clusterisées. Un domaine peut inclure plusieurs clusters.

  • Cluster SOA et (facultatif) Oracle Service Bus

    Un cluster fait partie d'un domaine SOA particulier. Un cluster se compose de plusieurs instances SOA s'exécutant simultanément et travaillant ensemble pour offrir une évolutivité et une fiabilité accrues.

    Une grappe SOA est différente d'une grappe Kubernetes. Un cluster SOA apparaît aux clients comme une instance SOA unique. Les instances de serveur qui constituent un cluster peuvent être exécutées sur la même machine ou sur des machines différentes. Chaque instance de serveur d'une grappe doit exécuter la même version d'Oracle WebLogic Server.

  • Opérateur Kubernetes WebLogic

    Un opérateur Kubernetes est un logiciel qui gère les applications complexes. L'opérateur Kubernetes WebLogic est conçu pour jouer un rôle similaire à celui d'opérateur humain dans un déploiement de centre de données traditionnel. Ses tâches comprennent le démarrage et l'arrêt d'environnements, le lancement de sauvegardes, l'exécution d'opérations de mise à l'échelle, l'exécution de tâches manuelles associées à la reprise après sinistre et aux besoins en haute disponibilité, et la coordination d'actions avec d'autres opérateurs dans d'autres centres de données.

Recommandations

Vos exigences peuvent différer de l'architecture décrite ici. Utilisez les recommandations suivantes comme point de départ.

  • 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 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 sur place ou un autre fournisseur de nuage) auquel vous voulez 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é.

    Utilisez des sous-réseaux régionaux.

    Cette architecture utilise un sous-réseau public pour les équilibreurs de charge et un sous-réseau privé pour héberger les noeuds du moteur Kubernetes pour OCI.

  • Moteur Kubernetes pour OCI

    Bien que l'opérateur prenne en charge toute grappe Kubernetes générique, cette architecture utilise des grappes OCI Kubernetes Engine. Ces grappes ont cinq noeuds de travail répartis sur différents hôtes physiques. La grappe affichée comporte des noeuds de travail répartis sur différents hôtes physiques. Vous pouvez créer jusqu'à 1000 noeuds dans une grappe. Les noeuds de travail sont déployés sur les hôtes Oracle Linux VM.Standard2.1.

  • Équilibreur de charge

    Par défaut, les serveurs Oracle WebLogic Server (admin et serveurs gérés) créés par l'opérateur ne sont pas exposés en dehors de la grappe OCI Kubernetes Engine. Pour exposer l'application au monde extérieur, cette architecture utilise un équilibreur de charge public sur le service d'équilibrage de charge. Un équilibreur de charge public a une adresse IP publique accessible depuis Internet. Cette architecture utilise un équilibreur de charge de 100 Mbps pour gérer le trafic. Si vous devez gérer plus de trafic entrant, vous pouvez choisir une bande passante supérieure, jusqu'à 8000 Mbps.

  • Stockage de fichiers

    Pour se conformer aux meilleures pratiques d'exécution des domaines Oracle WebLogic Server, les fichiers de configuration de domaine de cette architecture sont stockés dans le stockage de fichiers partagé accessible à partir de tous les serveurs WebLogic de la grappe. Cette configuration offre les avantages suivants :

    • Vous n'avez pas besoin de recréer les images Docker pour les modifications apportées à la configuration du domaine.
    • Les sauvegardes sont plus rapides et centralisées.
    • Les journaux sont stockés par défaut sur un stockage persistant.

Points à considérer

  • Extensibilité

    Vous pouvez augmenter votre application en mettant à jour le nombre de noeuds de travail dans la grappe Kubernetes, selon la charge. De même, vous pouvez réduire le nombre de noeuds de travail dans la grappe. Dans la grappe Kubernetes, lorsque vous créez un service, vous pouvez créer un équilibreur de charge pour distribuer le trafic du service entre les noeuds affectés à celui-ci. Vous pouvez créer un volume persistant à l'aide de Terraform ou de la console Web d'Oracle, puis le référencer à partir des scripts d'opérateur. Vous pouvez ajuster le domaine SOA et les clusters en ajustant le nombre de serveurs gérés affectés au cluster, indépendamment du nombre de noeuds de cluster OKE.

  • Disponibilité d'application

    La grappe Kubernetes comporte trois noeuds de travail pour les serveurs gérés qui sont répartis sur une infrastructure physique différente, de sorte que les grappes Oracle WebLogic Server elles-mêmes offrent la plus haute disponibilité.

  • Sécurité

    Utilisez des politiques pour contrôler qui peut vos ressources Oracle Cloud Infrastructure et les opérations qu'elles peuvent effectuer.

    Le moteur Kubernetes pour OCI est intégré à Oracle Cloud Infrastructure Identity and Access Management (IAM). Le service IAM facilite l'authentification grâce à la fonctionnalité d'identité native d'Oracle Cloud Infrastructure.

Informations complémentaires

Pour en savoir plus sur le déploiement de SOA sur Kubernetes, consultez les ressources supplémentaires suivantes :