Note :

Gérer le moteur Kubernetes pour OCI avec des types de capacité différents et résoudre les problèmes communs sur les noeuds préemptifs

Présentation

À mesure que nous poursuivons 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. Kubernetes est l'une des technologies les plus récentes et les plus largement adoptées pour prendre en charge la gestion de l'infrastructure et des applications. Avant de plonger plus loin dans Kubernetes, nous devons d'abord regarder sous le capot le concept de conteneurs.

Les conteneurs sont un ensemble de logiciels comprenant une collection 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 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 conteneurisation d'applications comprennent des améliorations dans l'isolement de la charge de travail, l'efficacité des ressources, l'extensibilité et la tolérance aux pannes.

Pour exploiter la puissance et l'efficacité des conteneurs à grande échelle, nous avons besoin d'outils pour interfacer ou gérer nos déploiements basés sur des conteneurs. Kubernetes, également connu sous le nom K8s, est un outil d'orchestration de conteneurs à code source libre qui automatise le déploiement de conteneurs en créant une grappe de serveurs pour lesquels des conteneurs peuvent être exécutés, mis à l'échelle et livrés à vos utilisateurs. L'architecture de grappe Kubernetes comprend un noeud principal (plan de contrôle) et plusieurs noeuds de travail. Chaque travailleur héberge un ou plusieurs pods (collecte de conteneurs) qui alimentent votre application.

Architecture

Historique sur Kubernetes

Objectifs

Préalables

Comment se positionne Oracle avec la technologie de conteneur?

OKE est un service Kubernetes entièrement géré, évolutif et hautement disponible qui aide les clients à déployer des applications conteneurisées dans le nuage. OKE permet aux clients d'OCI d'optimiser l'utilisation des ressources de calcul afin de répondre à des exigences de charge de travail uniques et de s'adapter rapidement lorsque les exigences de charge de travail changent. OKE offre une expérience client transparente qui offre aux clients un rapport prix-performance, une efficacité des ressources, une portabilité et une fiabilité inégalées. OKE fournit plusieurs intégrations clés à divers produits de gestion du cycle de vie des conteneurs, notamment des registres de conteneurs, des cadres d'intégration et de développement en continu, des solutions de réseau, des options de stockage et des fonctions de sécurité de premier ordre.

Dans OKE, vous pouvez indiquer le type de cluster comme cluster de base ou amélioré. Les clusters de base prennent en charge toutes les fonctionnalités de base fournies par OKE. Pour renforcer les capacités, les grappes améliorées prennent en charge toutes les fonctions disponibles, notamment les noeuds virtuels, les noeuds autogérés, la gestion des modules complémentaires de grappe, les configurations plus granulaires d'Oracle Cloud Infrastructure Identity and Access Management (OCI IAM), etc.

OKE sur différents types de capacité

Déploiement OKE avec groupes de noeuds préemptifs et OnDemand

Déploiement OKE avec préemption

Problèmes connus liés à la franchise

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

Tâche 1 : Étapes de création d'un groupe de noeuds de travail OKE préemptif E5 à l'aide de l'interface de ligne de commande

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

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

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

  4. Cliquez sur Interpréteur de commandes 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"]'
    

    L'OCID de la demande de travail pour la création du groupe de noeuds et le noeud de travail préemptif E5 dans la grappe existante seront affichés dans l'image suivante.

    Noeud de travail préemptif E5

Confirmation

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.