Note:

Gestión de OCI Kubernetes Engine con diferentes tipos de capacidad y resolución de problemas comunes en nodos preferentes

Introducción

A medida que continuamos a través de cada ciclo de transformación digital, las empresas continúan innovando e iterando, superando los límites de lo que es posible para la infraestructura, las aplicaciones y la gestión a escala. Una de las tecnologías más recientes y ampliamente adoptadas utilizadas para soportar la gestión de infraestructuras y aplicaciones es Kubernetes. Antes de profundizar en Kubernetes, primero debemos mirar bajo el capó el concepto de contenedores.

Los contenedores son un paquete de software que incluye una recopilación de código específico de la aplicación junto con las bibliotecas de tiempo de ejecución y programas necesarias para admitir la ejecución fiable de una aplicación. Los contenedores están configurados para ejecutarse dentro de un espacio de usuario dentro del sistema operativo (SO) del servidor subyacente. Esta arquitectura permite la desvinculación de servicios básicos y el despliegue ligero de dependencias de una aplicación. Las ventajas de la contenedorización de aplicaciones incluyen mejoras en el aislamiento de la carga de trabajo, la eficiencia de los recursos, la escalabilidad y la tolerancia a fallos.

Para aprovechar la potencia y la eficiencia de los contenedores a escala, necesitamos algún tipo de herramienta para interactuar o gestionar nuestras implementaciones basadas en contenedores. Kubernetes, también conocido como K8s, es una herramienta de orquestación de contenedores de código abierto que automatiza el despliegue de contenedores mediante la creación de un cluster de servidores para los que se pueden ejecutar, escalar y entregar contenedores a los usuarios. La arquitectura de cluster de Kubernetes incluye un nodo maestro (plano de control) y varios nodos de trabajador. Cada trabajador aloja un pod/s (recopilación de contenedores) que entrega la aplicación.

Arquitectura

Historia de Kubernetes

Objetivos

Requisitos

¿Cómo se posiciona Oracle con la tecnología de contenedores?

OKE es un servicio de Kubernetes totalmente gestionado, ampliable y de alta disponibilidad que ayuda a los clientes a desplegar aplicaciones en contenedores en la nube. OKE ofrece a los clientes de OCI la capacidad de optimizar la utilización de recursos informáticos para cumplir con los requisitos de carga de trabajo únicos y adaptarse rápidamente a medida que cambian los requisitos de carga de trabajo. OKE ofrece una experiencia de cliente perfecta que ofrece a los clientes una relación precio-rendimiento sin precedentes, eficiencia de recursos, portabilidad y fiabilidad. OKE proporciona varias integraciones clave con varios productos de gestión del ciclo de vida de los contenedores, incluidos registros de contenedores, marcos de integración y despliegue continuos, soluciones de redes, opciones de almacenamiento y funciones de seguridad de primer nivel.

En OKE, puede especificar el tipo de cluster como clusters básicos o mejorados. Los clusters básicos soportan todas las funciones principales proporcionadas por OKE. Para activar más capacidades, los clusters mejorados soportan todas las funciones disponibles, como nodos virtuales, nodos autogestionados, gestión de complementos de cluster, configuraciones de Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) más granulares, etc.

OKE en diferentes tipos de capacidad

Despliegue de OKE con pools de nodos preferentes y OnDemand

Despliegue de OKE con preferencia

Problemas Conocidos con Preemptible

Hay algunos problemas conocidos al utilizar preemptible con OKE.

Tarea 1: pasos para crear un pool de nodos de trabajador de OKE preferente E5 mediante la interfaz de línea de comandos (CLI)

  1. Conéctese a la consola de OCI y haga clic en el menú de servicios.

  2. Vaya a Servicios para desarrolladores.

  3. En Contenedores y artefactos, haga clic en Haga clic en Kubernetes Engine (OKE).

  4. Haga clic en OCI Cloud Shell para mostrar la CLI.

  5. Edite el OCID node-pool, el OCID compartment, subnet-id, fault domain, la configuración y el tamaño antes de ejecutar los siguientes comandos de la CLI en su arrendamiento.

    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"]'
    

    De esta forma, se mostrará el OCID de la solicitud de trabajo para crear el pool de nodos y se creará el nodo de trabajador preferente E5 en el cluster existente, como se muestra en la siguiente imagen.

    Nodo de trabajador preferente E5

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visita education.oracle.com/learning-explorer para convertirte en un Oracle Learning Explorer.

Para obtener documentación sobre el producto, visite Oracle Help Center.