Remarques :

Gérer OCI Kubernetes Engine avec différents types de capacité et résoudre les problèmes courants sur les noeuds préemptibles

Introduction

Tout au long de chaque cycle de transformation numérique, les entreprises continuent d'innover et d'itérer, repoussant les limites de ce qui est possible pour l'infrastructure, les applications et la gestion à grande échelle. L'une des technologies les plus récentes et largement adoptées utilisées pour prendre en charge la gestion des infrastructures et des applications est Kubernetes. Avant de plonger plus loin dans Kubernetes, nous devons d'abord regarder sous le capot le concept de conteneurs.

Les conteneurs sont un package de logiciels comprenant un ensemble de code spécifique à l'application, ainsi que les bibliothèques d'exécution et de programmes nécessaires pour prendre en charge l'exécution fiable d'une application. Les conteneurs sont configurés pour s'exécuter dans un espace utilisateur à l'intérieur du système d'exploitation (O/S) du serveur sous-jacent. Cette architecture permet le découplage des services de base et des dépendances, le déploiement léger d'une application. Les avantages de la mise en conteneur d'applications incluent des améliorations de l'isolement des charges de travail, de l'efficacité des ressources, de l'évolutivité et de la tolérance aux pannes.

Pour exploiter la puissance et l'efficacité des conteneurs à grande échelle, nous avons besoin d'une sorte d'outils pour interfacer ou gérer nos déploiements basés sur des conteneurs. Kubernetes, également appelé K8s, est un outil d'orchestration de conteneurs open source qui automatise le déploiement de conteneurs en créant un cluster de serveurs pour lesquels les conteneurs peuvent être exécutés, mis à l'échelle et livrés à vos utilisateurs. L'architecture de cluster Kubernetes inclut un noeud maître (plan de contrôle) et plusieurs noeuds de processus actif. Chaque processus actif héberge un ou plusieurs pods (collecte de conteneurs) qui fournissent votre application.

Architecture

Historique sur Kubernetes

Objectifs

Prérequis

Quel est le positionnement d'Oracle avec la technologie des conteneurs ?

OKE est un service Kubernetes entièrement géré, évolutif et hautement disponible qui aide les clients à déployer des applications en conteneur vers le cloud. OKE offre aux clients OCI la possibilité d'optimiser l'utilisation des ressources de calcul pour répondre à des exigences de charge globale uniques et de s'adapter rapidement à l'évolution des exigences de charge globale. OKE offre une expérience client transparente offrant aux clients un rapport prix/performances, une efficacité des ressources, une portabilité et une fiabilité inégalées. OKE fournit plusieurs intégrations clés avec divers produits de gestion du cycle de vie des conteneurs, notamment des registres de conteneurs, des structures d'intégration continue et de déploiement continu, des solutions réseau, des options de stockage et des fonctionnalités de sécurité de premier ordre.

Dans OKE, vous pouvez indiquer le type de cluster en tant que clusters de base ou améliorés. Les clusters de base prennent en charge toutes les fonctionnalités de base fournies par OKE. Pour activer d'autres fonctionnalités, les clusters améliorés prennent en charge toutes les fonctionnalités disponibles, y compris les noeuds virtuels, les noeuds autogérés, la gestion des extensions de cluster, les configurations Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), etc.

OKE sur différents types de capacité

Déploiement OKE avec pools de noeuds préemptibles et OnDemand

Déploiement OKE avec préemption

Problèmes connus avec Preemptible

Il existe des problèmes connus lors de l'utilisation de préemptive avec OKE.

Tâche 1 : étapes de création d'un pool de noeuds de processus actif OKE préemptif E5 à l'aide de l'interface de ligne de commande (CLI)

  1. Connectez-vous à la console OCI et cliquez sur le menu Services.

  2. Accédez à Services de développeur.

  3. Sous Conteneurs et artefacts, cliquez sur Cliquez sur Kubernetes Engine (OKE).

  4. Cliquez sur Shell OCI Cloud pour afficher l'interface de ligne de commande.

  5. Modifiez l'OCID node-pool, l'OCID compartment, subnet-id, fault domain, la configuration et la taille avant d'exécuter les commandes d'interface de ligne de commande suivantes dans votre location.

    oci ce node-pool create 
    --cluster-id ocid1.cluster.oc1.iad.aaaaaaaaxlokvt2r25b6dmdxxxxxxxxxxxxxxxxxkhdilj7kpehc5vke2ve5gq
    --compartment-id ocid1.compartment.oc1..aaaaaaaaqufgrkgzr4zb3dxxxxxxxxxxxxxxxxxxp7jx7yckglghxppfrui6a 
    --name E5_Preemtible 
    --node-shape VM.Standard.E5.Flex 
    --placement-configs '[{"availabilityDomain": "FZyT:US-ASHBURN-AD-2", "preemptibleNodeConfig": {"preemptionAction":{"isPreserveBootVolume":true, "type": "TERMINATE"}}, "subnet-id": "ocid1.subnet.oc1.iad.aaaaaaaapmekowq4rqhu72xxxxxxxxxxxxxxxxxxxxtlkp4dmixebzhgrwdlmtteclq", "faultDomains":["FAULT-DOMAIN-1"]}]'
    --size 1 
    --node-image-id ocid1.image.oc1.iad.aaaaaaaajvtta4i5sq4xxxxxxxxxxxxxcskfxjwz4vwxz6ersmmax6q 
    --node-shape-config '{"memoryInGBs": 6.0, "ocpus": 1.0}'
    --pod-subnet-ids '["ocid1.subnet.oc1.iad.aaaaaaaapmekowq4rqhxxxxxxxxxxxxxxxkp4dmixebzhgrwdlmtteclq"]'
    

    Cette opération génère l'OCID de la demande de travail pour la création du pool de noeuds et crée le noeud de processus actif préemptible E5 dans le cluster existant, comme illustré dans l'image suivante.

    Noeud de processus actif préemptible E5

Remerciements

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.