Utiliser Oracle Cloud Marketplace pour déployer l'opérateur Kubernetes TimesTen

Vous pouvez déployer Oracle TimesTen In-Memory Database (TimesTen) dans des clusters Kubernetes sur site ou sur Oracle Cloud Infrastructure Kubernetes Engine (OKE). TimesTen est une base de données relationnelle en mémoire légère, entièrement persistante et hautement disponible qui fournit une réponse en microsecondes et un débit élevé pour les applications OLTP. Vous pouvez utiliser TimesTen en tant que base de données d'enregistrement ou en tant que cache pour Oracle Database.

La liste Oracle TimesTen In-Memory Database for Kubernetes - BYOL dans Oracle Cloud Marketplace se compose d'une image de conteneur de TimesTen, de ses prérequis logiciels et de tout ce dont vous avez besoin pour exécuter TimesTen dans un environnement en conteneur. L'image de conteneur inclut les fichiers manifestes YAML et les graphiques Helm requis pour déployer l'opérateur Kubernetes TimesTen (opérateur TimesTen) et créer des bases de données TimesTen sur OKE ou une infrastructure sur site.

Architecture

Cette architecture utilise une région avec des sous-réseaux régionaux et, au moins, deux domaines de disponibilité. La même architecture de référence peut être utilisée dans une région avec un seul domaine de disponibilité. Nous vous recommandons d'utiliser des sous-réseaux régionaux pour votre déploiement, quel que soit le nombre de domaines de disponibilité.

Lorsqu'elle est provisionnée, cette architecture de référence inclut les éléments suivants :

  • Un cluster OKE déployé dans des sous-réseaux privés distincts pour l'adresse d'API Kubernetes, le pool de noeuds et l'équilibreur de charge.

  • Opérateur TimesTen déployé sur un noeud de processus actif dans le même sous-réseau privé que le pool de noeuds.

  • Une paire de bases de données TimesTen dans un modèle de réplication de paire de secours active déployée sur des noeuds de processus actif dans différents domaines de disponibilité.

  • Bastion déployé dans un sous-réseau public pour accéder aux ressources déployées dans des sous-réseaux privés.

Le schéma suivant illustre cette architecture de référence.

Description de l'image timesten-kubernetes-byol.png
Description de l'illustration timesten-kubernetes-byol.png

timesten-kubernetes-byol.zip

L'architecture comprend les composants suivants :

  • Audit

    Le service Oracle Cloud Infrastructure Audit enregistre automatiquement les appels vers toutes les adresses d'API publiques Oracle Cloud Infrastructure prises en charge en tant qu'événements de journal. Tous les services OCI prennent en charge la journalisation par Oracle Cloud Infrastructure Audit.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Par conséquent, une panne sur un domaine de disponibilité ne doit pas affecter les autres domaines de disponibilité de la région.

  • Service Bastion

    Oracle Cloud Infrastructure Bastion fournit un accès sécurisé limité et limité dans le temps aux ressources qui n'ont pas d'adresses publiques et qui nécessitent des contrôles stricts d'accès aux ressources, tels que les machines virtuelles et Bare Metal, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Cloud Infrastructure Kubernetes Engine (OKE), ainsi que toute autre ressource autorisant l'accès SSH (Secure Shell Protocol). Avec le service OCI Bastion, vous pouvez activer l'accès aux hôtes privés sans déployer et gérer un hôte de saut. En outre, vous bénéficiez d'une meilleure posture de sécurité avec des droits d'accès basés sur l'identité et une session SSH centralisée, auditée et limitée dans le temps. OCI Bastion élimine la nécessité d'une adresse IP publique pour l'accès au bastion, éliminant ainsi les tracas et la surface d'attaque potentielle lors de la fourniture d'un accès à distance.

  • Volume de blocs

    Avec Oracle Cloud Infrastructure Block Volumes, vous pouvez créer, attacher, connecter et déplacer des volumes de stockage, et modifier leurs performances afin de répondre à vos exigences en matière de stockage, de performances et d'application. Une fois un volume attaché et connecté à une instance, vous pouvez l'utiliser comme un disque dur classique. Vous pouvez également déconnecter un volume et l'attacher à une autre instance sans perdre de données.

  • 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 les faiblesses de sécurité de vos ressources et pour surveiller les opérateurs et les utilisateurs afin de détecter certaines 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 vous aide à effectuer ces actions, en fonction des recettes de répondeur que vous pouvez définir.

  • Compartiment

    Les compartiments sont des partitions logiques inter-régionales au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments afin d'organiser, de contrôler l'accès et de définir des quotas d'utilisation pour les ressources Oracle Cloud. Dans un compartiment donné, vous définissez des stratégies qui contrôlent l'accès et définissent des privilèges pour les ressources.

  • Registre du conteneur

    Oracle Cloud Infrastructure Registry est un registre géré par Oracle qui vous permet de simplifier votre workflow du développement jusqu'à la production. Le registre vous permet de stocker, de partager et de gérer facilement des artefacts de développement, tels que des images Docker. L'architecture hautement disponible et évolutive d'Oracle Cloud Infrastructure vous garantit un déploiement et une gestion fiables des applications.

  • Domaines 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 du matériel et une alimentation indépendants. Lorsque vous répartissez les ressources entre plusieurs domaines de pannes, vos 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.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) est le plan de contrôle d'accès pour Oracle Cloud Infrastructure (OCI) et Oracle Cloud Applications. L'API IAM et l'interface utilisateur vous permettent de gérer les domaines d'identité et les ressources au sein du domaine d'identité. Chaque domaine d'identité OCI IAM représente une solution autonome de gestion des identités et des accès ou une population d'utilisateurs différente.

  • Passerelle Internet

    La passerelle Internet autorise le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.

  • Equilibreur de charge

    Le service Oracle Cloud Infrastructure Load Balancing fournit une répartition de trafic automatique à partir d'un seul point d'entrée vers plusieurs serveurs dans le back-end.

  • Logging
    Logging est un service hautement évolutif et entièrement géré qui permet d'accéder aux types de journal suivants à partir des ressources du cloud :
    • Journaux d'audit : journaux liés aux événements émis par le service Audit.
    • Journaux de service : journaux émis par des services individuels tels qu'API Gateway, Events, Functions, Load Balancing, Object Storage et les journaux de flux VCN.
    • Journaux personnalisés : journaux contenant des informations de diagnostic issues d'applications personnalisées, d'autres fournisseurs de cloud ou d'un environnement sur site.
  • Passerelle NAT (Network Address Translation)

    Une passerelle NAT permet aux ressources privées d'un VCN d'accéder aux hôtes sur Internet, sans les exposer aux connexions Internet entrantes.

  • OCI Kubernetes Engine

    Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine ou OKE) est un service entièrement géré, évolutif et hautement disponible que vous pouvez utiliser pour déployer vos applications en conteneur vers le cloud. Indiquez les ressources de calcul requises par vos applications et Kubernetes Engine les provisionne sur Oracle Cloud Infrastructure dans une location existante. OKE utilise Kubernetes pour automatiser le déploiement, le redimensionnement et la gestion des applications en conteneur dans les clusters d'hôtes.

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique précise, incluant 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 (entre pays, voire continents).

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui indiquent la source, la destination et le type de trafic qui doivent être autorisés à entrer et à sortir du sous-réseau.

  • Passerelle de service

    La passerelle de service fournit un accès à partir d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic entre le VCN et le service Oracle passe par la structure du réseau Oracle et ne traverse pas Internet.

  • Tenancy

    Une location est une partition sécurisée et isolée configurée par Oracle dans Oracle Cloud lors de votre inscription à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et administrer vos ressources dans Oracle Cloud au sein de votre location. Une location est synonyme d'entreprise ou d'organisation. En général, une entreprise dispose d'une seule location et reflète sa structure organisationnelle au sein de cette location. Une location unique est généralement associée à un seul abonnement, et un seul abonnement n'a généralement qu'une seule location.

  • Opérateur TimesTen

    L'opérateur TimesTen dispose de plusieurs fonctionnalités clés pour faciliter la gestion des bases de données TimesTen dans un environnement Kubernetes. Une base de données TimesTen est modélisée en tant que ressource personnalisée dans le fichier de configuration Kubernetes. L'opérateur utilise cette configuration et l'API Kubernetes pour automatiser les opérations de base de données TimesTen, telles que le provisionnement, le basculement, l'application de patches et la sécurité.

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

    Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent le contrôle sur l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud 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é.

Recommandations

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

    Assurez-vous que seuls les utilisateurs autorisés peuvent créer des sessions de bastion. Dans cette référence d'architecture, Bastion fournit un accès sécurisé à l'adresse d'API Kubernetes et SSH aux noeuds de processus actif sur lesquels les bases de données TimesTen sont déployées.

  • Cloud Guard

    Cloner et personnaliser les recettes par défaut fournies par Oracle afin de créer des recettes de détecteur et de répondeur personnalisées. Ces recettes vous permettent de spécifier le type de violation de sécurité qui génère un avertissement et les actions autorisées à y être exécuté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 fonction Liste gérée pour appliquer certaines configurations aux détecteurs.

  • Registre du conteneur

    Assurez-vous que les stratégies IAM nécessaires sont créées et que seuls les utilisateurs autorisés ont accès au référentiel dans Container Registry.

  • 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 qui fournit 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. Dans l'une ou l'autre approche, vous pouvez modifier la forme à tout moment après avoir créé l'équilibreur de charge.

  • Sécurité

    Utilisez Oracle Cloud Guard pour surveiller et gérer de manière proactive 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 les faiblesses de sécurité de vos ressources et pour surveiller les opérateurs et les utilisateurs en cas 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 vous aide à effectuer ces actions, en fonction des recettes de répondeur que vous pouvez définir.

    Pour les ressources nécessitant une sécurité maximale, Oracle vous recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle qui repose 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 de la recette de zone de sécurité et refuse les opérations qui enfreignent l'une des stratégies.

  • 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 le VCN. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adresse IP privée standard.

    Sélectionnez les 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 avez l'intention de 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 du flux de trafic et des exigences 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é.

    Utiliser des sous-réseaux régionaux.

Points à prendre en compte

Tenez compte des points suivants lors du déploiement de cette architecture de référence.

  • Disponibilité

    En règle générale, vous déployez une application dans la région où elle est le plus utilisée, car l'utilisation de ressources proches est plus rapide que l'utilisation de ressources distantes. Les domaines de disponibilité d'une même région se connectent via un réseau à bande passante élevée et à faible latence. Ce réseau fournit une connectivité haute disponibilité à Internet et aux équipements sur site afin que vous puissiez créer des systèmes répliqués dans plusieurs domaines de disponibilité à des fins de haute disponibilité et de récupération après sinistre.

  • Registre du conteneur

    Cette architecture déploie Container Registry en tant que registre Docker privé pour une utilisation interne. Les images Docker sont propagées vers le registre et extraites de celui-ci. Vous pouvez également utiliser Container Registry en tant que registre Docker public, ce qui permet à tout utilisateur disposant d'un accès Internet et connaissant l'URL appropriée d'extraire des images à partir de référentiels publics dans OCI. Dans cette architecture, le référentiel de Container Registry est utilisé pour stocker une image de TimesTen, qui inclut les fichiers manifestes YAML et les graphiques Helm nécessaires au déploiement de l'opérateur TimesTen et à la création de bases de données TimesTen.

  • Sécurité

    Utilisez des stratégies pour restreindre l'accès aux ressources OCI.

Déployez

Oracle Cloud Marketplace offre une image de conteneur de TimesTen que vous pouvez utiliser pour déployer l'opérateur TimesTen sur votre cluster OKE ou votre infrastructure sur site.

Obtenez l'image de conteneur TimesTen à partir d'Oracle Cloud Marketplace :

  1. Accédez à Oracle Cloud Marketplace.
  2. Cliquez sur Exporter le package.
  3. Suivez les invites à l'écran.

Accusés de réception

  • Auteur : Ricardo Rosas

  • Contributeurs : Dario Vega, Daniel Ramirez, Deborah Steiner, Silviano Diaz Barriga