Creación de un pool de nodos de trabajador de OKE

Descubra cómo crear pools de nodos de trabajador de OKE en Private Cloud Appliance para un cluster de carga de trabajo.

Los nodos son instancias informáticas de Private Cloud Appliance. Al crear un pool de nodos de trabajador, se especifica el número de nodos que se van a crear y otros parámetros que definen las instancias.

Nota

No puede personalizar los scripts cloud-init de OKE.

Para configurar los valores de proxy, utilice la CLI o la API de OCI para definir el proxy en los metadatos del nodo. Si el cluster utiliza redes de pod nativo de VCN, agregue 169.254.169.254 a la configuración de noproxy.

La compatibilidad con CA personalizada solo está disponible mediante la CLI (oci ce node-pool create y oci ce node-pool update).

    1. En el menú de navegación Interfaz de usuario web de Compute, seleccione Contenedores y, a continuación, seleccione Clusters de Kubernetes (OKE).

      Si el cluster al que desea asociar un pool de nodos no aparece en la lista, seleccione un compartimento diferente en el menú de compartimento de la parte superior de la página.

    2. Seleccione el nombre del cluster al que desea agregar un pool de nodos.

    3. En la página de detalles del cluster, desplácese a la sección Recursos y seleccione Pools de nodos.

    4. En la lista Pools de nodos, seleccione el botón Agregar pool de nodos.

    5. En el cuadro de diálogo Agregar pool de nodos, proporcione la siguiente información:

      • Nombre: nombre del nuevo pool de nodos. Evite introducir información confidencial.

      • Compartimento: compartimento en la que se va a crear el nuevo pool de nodos.

      • Opciones de pool de nodos: en el campo Recuento de nodos, introduzca el número de nodos que desea en este pool de nodos. El valor por defecto es 0. El número máximo es de 128 por cluster, que se puede distribuir entre varios pools de nodos.

      • Grupo de seguridad de red: si marca la casilla para activar los grupos de seguridad de red, seleccione Agregar grupo de seguridad de red y seleccione un NSG en la lista desplegable. Puede que necesite cambiar el compartimiento para buscar el NSG que desee. La VNIC principal de la subred de trabajador se conectará a este NSG.

      • Configuración de colocación

      • Imagen de origen: seleccione una imagen.

        1. Seleccione el tipo de origen de imagen de plataforma.

        2. Seleccione una imagen de la lista.

          La lista de imágenes tiene columnas Sistema operativo, Versión del sistema operativo y Versión de Kubernetes. Puede utilizar la flecha del menú desplegable situada a la derecha de la versión del sistema operativo o la versión de Kubernetes para seleccionar una versión diferente. Si más de una imagen tiene la misma versión de Kubernetes, seleccione la imagen más reciente, según la fecha en el nombre de la imagen.

          Si la imagen que desea utilizar no aparece en la lista, utilice el procedimiento de la CLI y especifique el OCID de la imagen. Para obtener el OCID de la imagen que desea, utilice el comando ce node-pool get para un pool de nodos en el que haya utilizado esta imagen anteriormente.

          Nota

          La imagen que especifique no debe tener una versión de Kubernetes que sea más reciente que la versión de Kubernetes especificada al crear el cluster. La versión de Kubernetes para el cluster está en una columna de la tabla de lista de clusters.

      • Unidad: seleccione una unidad para los nodos de trabajador. Para obtener descripciones de las unidades disponibles, consulte Unidades de computación. Si utiliza el complemento de cluster de operador de GPU, puede utilizar las unidades de GPU soportadas.

        Si selecciona una unidad que no es flexible, se muestra la cantidad de memoria y el número de OCPU. Estos números coinciden con los números que se muestran para esta unidad en la tabla de Unidades de computación.

        Si selecciona una unidad flexible, debe especificar el número de OCPU que desea. Opcionalmente, puede especificar la cantidad total de memoria que desea. El valor por defecto para gigabytes de memoria es 16 veces el número especificado para las OCPU. Haga clic en cada campo de valor para ver los valores mínimos y máximos permitidos.

        Nota

        Asigne al menos 2 OCPU y 32 GB de memoria por cada 10 pods en ejecución. Es posible que necesite asignar más recursos, en función de las cargas de trabajo planificadas. Consulte Resource Management para pods y contenedores.

      • Volumen de inicio: (opcional) marque la casilla para especificar un tamaño de volumen de inicio personalizado.

        Tamaño de volumen de inicio (GB): se muestra el tamaño de volumen de inicio predeterminado para la imagen seleccionada. Para especificar un tamaño mayor, introduzca un valor de 50 a 16384 GB (50 GB a 16 TB) o utilice las flechas de incremento y disminución.

        Si especifica un tamaño, deberá ampliar la partición para aprovechar el tamaño más grande. Las imágenes de la plataforma Oracle Linux incluyen el paquete oci-utils. Utilice el comando oci-growfs de ese paquete para ampliar la partición raíz y, a continuación, ampliar el sistema de archivos. Consulte oci-growfs.

      • Comunicación de pod (solo clusters de red de pod nativo de VCN)

        Subred de comunicación de pod: seleccione una subred que tenga una configuración como la subred "pod" descrita en Creación de una subred de pod ( Pod nativo de VCN).

        Número de pods por nodo: número máximo de pods que desea ejecutar en un único nodo de trabajador en un pool de nodos. El valor por defecto es 31. Puede introducir un número del 1 al 110. El número de VNIC permitidas por la unidad que especifique (consulte "Unidad" anterior) limita este número máximo de pods. Consulte Unidades de nodo y número de pods. Para conservar el espacio de dirección de la subred de pod, reduzca el número máximo de pods que desea ejecutar en un único nodo de trabajador. Esto reduce el número de direcciones IP que se asignan previamente en la subred del pod.

        Si marca la casilla Usar reglas de seguridad en grupo de seguridad de red (NSG), seleccione el botón Agregar grupo de seguridad de red y seleccione un NSG de la lista desplegable. Puede que necesite cambiar el compartimento para buscar el NSG que desee. Las VNIC secundarias de la subred del pod se conectarán a este NSG.

      • Cordón y drenaje: (opcional) introduzca el número de minutos de duración de gracia de desalojo o utilice las flechas para disminuir o aumentar el número de minutos de duración de gracia de desalojo. El valor máximo y el valor por defecto son 60 minutos.

        • Private Cloud Appliance versión 3.0.2-b1261765. Especifique un número entero de 0 a 60. Si introduce 0, el valor se convertirá a 0,333 porque 20 segundos es la duración mínima de gracia de expulsión. Si selecciona la flecha hacia arriba, el valor cambiará a 1.

        • Private Cloud Appliance versión 3.0.2-b1185392. Especifique un número entero de 1 a 60.

        No puede borrar "Forzar terminación después del período de gracia". Los nodos se eliminan después de que sus pods son desalojados o al final de la duración de la gracia de desalojo, incluso si no todos los pods son desalojados.

        Para obtener descripciones de la duración de gracia de acordonamiento, drenaje y expulsión, seleccione el separador CLI de esta página y consulte Configuración de supresión de nodos y pools de nodos.

      • Clave SSH: clave SSH pública para los nodos de trabajador. Cargue el archivo de clave pública o copie y pegue el contenido del archivo.

      • Etiquetas de Kubernetes: seleccione el botón Agregar etiqueta de Kubernetes e introduzca un nombre y un valor de clave. Puede utilizar estas etiquetas para los pods de destino para la programación en nodos o grupos de nodos específicos. Para obtener una descripción y un ejemplo, seleccione el separador CLI de esta página y consulte Etiquetas.

      • Etiquetas de pool de nodos: etiquetas definidas o de formato libre para el recurso de pool de nodos.

        Nota

        No especifique valores para la etiqueta definida OraclePCA-OKE.cluster_id ni para la etiqueta de formato libre ClusterResourceIdentifier. Estos valores de etiqueta se generan por el sistema y solo se aplican a los nodos (instancias), no al recurso del pool de nodos.

      • Etiquetas de nodo: etiquetas definidas o de formato libre que se aplican a cada nodo del pool de nodos.

        Importante

        No especifique valores para la etiqueta definida OraclePCA-OKE.cluster_id ni para la etiqueta de formato libre ClusterResourceIdentifier. Estos valores de etiqueta se generan por el sistema.

    6. Seleccione el botón Agregar pool de nodos en el cuadro de diálogo.

      Se muestra la página de detalles del pool de nodos. Desplácese a la sección Recursos y seleccione Solicitudes de trabajo para ver el progreso de la creación del pool de nodos y ver los nodos que se van a agregar a la lista Nodos. El estado de la solicitud de trabajo es Aceptado hasta que el cluster esté en estado Activo o Con fallos.

      Para identificar estos nodos en una lista de instancias, tenga en cuenta que los nombres de estos nodos tienen el formato oke-ID, donde ID es los primeros 32 caracteres después de pca_name en el OCID del pool de nodos. Busque las instancias de la lista cuyos nombres contengan la cadena ID de este OCID de pool de nodos.

    Qué es lo siguiente:

    1. Configure los registros o repositorios que necesiten los nodos de trabajador. Asegúrese de tener acceso a un registro de contenedor de intranet o público autogestionado para utilizarlo con el servicio OKE y las imágenes de la aplicación.

    2. Cree un servicio para exponer las aplicaciones en contenedores fuera de Private Cloud Appliance. Consulte Exposición de aplicaciones en contenedores.

    3. Cree un almacenamiento persistente para que las aplicaciones lo utilicen. Consulte Adición de almacenamiento para aplicaciones en contenedores.

  • Utilice el comando oci ce node-pool create y los parámetros necesarios para crear un nuevo pool de nodos.

    oci ce node-pool create --cluster-id cluster_OCID --compartment-id compartment_OCID --name pool_name --node-shape node_shape_name [OPTIONS]
    1. Obtenga la información que necesita para ejecutar el comando.

      • OCID del compartimento en el que desea crear el pool de nodos: oci iam compartment list

      • OCID del cluster para este pool de nodos: oci ce cluster list

      • El nombre del pool de nodos. Evite introducir información confidencial.

      • Configuración de colocación para los nodos, incluido el OCID de subred de trabajador y el dominio de errores. Para obtener una descripción adicional, seleccione el separador Consola de esta página y consulte Configuración de ubicación. Utilice el siguiente comando para mostrar el contenido y el formato de esta opción:

        $ oci ce node-pool create --generate-param-json-input placement-configs

        Utilice el siguiente comando para mostrar los dominios de errores: oci iam fault-domain list. No especifique más de un dominio de errores o más de una subred en la configuración de colocación. Para que el sistema pueda seleccionar los mejores dominios de errores, no especifique ningún dominio de errores. Un dispositivo Roving Edge solo tiene 1 dominio de errores.

      • (Solo clusters de red de pod nativo de VCN) OCID de la subred de pod. Consulte Creación de una subred de pod ( Pod nativo de VCN). Para obtener una descripción adicional, seleccione el separador Consola de esta página y consulte Comunicación pod. Utilice la opción --pod-subnet-ids. Aunque el valor de la opción --pod-subnet-ids es una matriz, solo puede especificar un OCID de subred de pod.

        Número máximo de pods que desea ejecutar en un único nodo de trabajador en un pool de nodos. Utilice la opción --max-pods-per-node. El valor por defecto es 31. Puede introducir un número del 1 al 110. El número de VNIC permitidas por la unidad que especifique (consulte Nombre de la unidad) limita este número máximo de pods. Consulte Unidades de nodo y número de pods. Para conservar el espacio de dirección de la subred de pod, reduzca el número máximo de pods que desea ejecutar en un único nodo de trabajador. Esto reduce el número de direcciones IP que se asignan previamente en la subred del pod.

        (Opcional) OCID del grupo de seguridad de red que se va a utilizar para los pods de este pool de nodos. Utilice la opción --pod-nsg-ids. Puede especificar hasta cinco NSG.

      • OCID de la imagen que se utilizará en los nodos de este pool de nodo.

        Utilice el siguiente comando para obtener el OCID de la imagen que desea utilizar:

        $ oci compute image list --compartment-id compartment_OCID

        Si la imagen que desea utilizar no aparece en la lista, puede obtener el OCID de la imagen de la salida del comando ce node-pool get para un pool de nodos en el que haya utilizado esta imagen anteriormente.

        Nota

        La imagen que especifique debe tener -OKE- en su display-name y no debe tener una versión de Kubernetes que sea más reciente que la versión de Kubernetes especificada al crear el cluster.

        La versión de Kubernetes para el cluster se muestra en la salida cluster list. La versión de Kubernetes para la imagen se muestra en la propiedad display-name en la salida image list. La versión de Kubernetes de la siguiente imagen es 1.29.9.

        "display-name": "uln-pca-Oracle-Linux8-OKE-1.29.9-20250325.oci"

        Si más de una imagen tiene la misma versión de Kubernetes, seleccione la imagen más reciente, según la fecha en el nombre de la imagen.

        No especifique la opción --kubernetes-version en el comando node-pool create.

        Puede especificar un tamaño de volumen de inicio personalizado en gigabytes. El tamaño de volumen de inicio por defecto es de 50 GB. Para especificar un tamaño de volumen de inicio personalizado, utilice la opción --node-source-details para especificar el tamaño del volumen de inicio y la imagen. No puede especificar --node-image-id y --node-source-details. Utilice el siguiente comando para mostrar el contenido y el formato de la opción de detalles de origen de nodo.

        $ oci ce node-pool create --generate-param-json-input node-source-details

        Si especifica un tamaño, deberá ampliar la partición para aprovechar el tamaño más grande. Las imágenes de la plataforma Oracle Linux incluyen el paquete oci-utils. Utilice el comando oci-growfs de ese paquete para ampliar la partición raíz y, a continuación, ampliar el sistema de archivos. Consulte oci-growfs.

      • Nombre de la unidad de los nodos de trabajador en este pool de nodos. Si utiliza el complemento de cluster de operador de GPU, puede utilizar las unidades de GPU soportadas. Para todos los demás sistemas de Private Cloud Appliance, la unidad por defecto es VM.PCAStandard1.1 y puede especificar una unidad diferente. Para obtener descripciones de las unidades disponibles, consulte Unidades de computación.

        Si especifica una unidad flexible, también debe especificar la configuración de la unidad, como se muestra en el siguiente ejemplo. Debe proporcionar un valor para ocpus. La propiedad memoryInGBs es opcional; el valor por defecto en gigabytes es 16 veces el número de ocpus.

        --node-shape-config '{"ocpus": 32, "memoryInGBs": 512}'
        Nota

        Asigne al menos 2 OCPU y 32 GB de memoria por cada 10 pods en ejecución. Es posible que necesite asignar más recursos, en función de las cargas de trabajo planificadas. Consulte Resource Management para pods y contenedores.

        Si especifica una unidad que no es flexible, no especifique --node-shape-config. El número de OCPU y la cantidad de memoria se definen en los valores que se muestran para esta unidad en "Unidades estándar" en Unidades de computación.

      • (Opcional) OCID del grupo de seguridad de red que se utilizará para los nodos de este pool de nodos. Utilice la opción --nsg-ids. No especifique más de un NSG.

      • (Opcional) Etiquetas. La definición de etiquetas en los nodos permite dirigirse a pods para la programación en nodos o grupos de nodos específicos. Utilice esta funcionalidad para garantizar que pods específicos solo se ejecuten en nodos con determinadas propiedades de aislamiento, seguridad o normativas.

        Utilice la opción --initial-node-labels para agregar etiquetas a los nodos. Las etiquetas son una lista de pares clave/valor que se van a agregar a los nodos después de unirse al cluster de Kubernetes. Consulte Restricciones de clave de metadatos para obtener más información sobre los límites de metadatos.

        A continuación, se muestra un ejemplo de etiqueta para aplicar a los nodos del pool de nodos:

        --initial-node-labels '[{"key":"disktype","value":"ssd"}]

        Una forma sencilla de seleccionar nodos en función de sus etiquetas es utilizar nodeSelector en la configuración del pod. Kubernetes solo programa el pod en nodos que tienen cada una de las etiquetas especificadas en la sección nodeSelector.

        El siguiente extracto de ejemplo de una configuración de pod especifica que los pods que utilizan esta configuración se deben ejecutar en nodos que tienen la etiqueta de tipo de disco ssd:

        nodeSelector:
          disktype: ssd
      • (Opcional) Metadatos de nodo. Utilice la opción --node-metadata para asociar datos de usuario personalizados a nodos. Consulte el siguiente elemento de configuración de proxy para obtener un ejemplo específico.

        Consulte Metadata Key Restrictions para obtener información sobre los límites de metadatos. El tamaño máximo de los metadatos de nodo es de 32.000 bytes.

      • (Opcional) Configuración de proxy. Si la red necesita configuración de proxy para permitir que los nodos de trabajador lleguen a registros o repositorios externos, por ejemplo, cree un argumento para la opción --node-metadata.

        En el argumento de opción --node-metadata, proporcione valores para crio-proxy y crio-noproxy como se muestra en el siguiente argumento de archivo de ejemplo:

        {
          "crio-proxy": "http://your_proxy.your_domain_name:your_port",
          "crio-noproxy": "localhost,127.0.0.1,your_domain_name,ocir.io,Kubernetes_cidr,pods_cidr"
        }

        Si el cluster utiliza una red de pod nativos de VCN, agregue 169.254.169.254 a la configuración de noproxy, como en el siguiente ejemplo:

        "crio-noproxy": "localhost,127.0.0.1,your_domain_name,ocir.io,Kubernetes_cidr,pods_cidr,169.254.169.254"
      • (Opcional) Configuración de supresión de nodos y pools de nodos. Puede especificar cómo manejar la supresión de nodos al suprimir un pool de nodos, suprimir un nodo especificado, reducir el tamaño del pool de nodos o cambiar la configuración de colocación de los nodos del pool de nodos. Estos parámetros de supresión de nodos también se pueden definir o cambiar al actualizar el pool de nodos, suprimir un nodo especificado o suprimir el pool de nodos.

        Para especificar la configuración de supresión del pool de nodos, cree un argumento para la opción --node-eviction-node-pool-settings. Puede especificar la duración de gracia de expulsión (evictionGraceDuration) para los nodos. Los nodos siempre se suprimen después de que se expulsan sus pods o al final de la duración de la gracia de desalojo.

        • Duración de gracia de expulsión. Este valor especifica la cantidad de tiempo que se permite acordonar y drenar los nodos de trabajador.

          Un nodo que está acordonado no puede tener nuevos pods colocados en él. Los pods existentes en ese nodo no se ven afectados.

          Cuando se drena un nodo, los contenedores de cada pod terminan correctamente y realizan la limpieza necesaria.

          El valor de duración de gracia de expulsión se expresa en formato ISO 8601: por ejemplo, PT45S, PT20M o PT39M21S. El valor por defecto y el valor máximo son 60 minutos (PT60M). El valor mínimo es 20 segundos (PT20S). OKE siempre intenta drenar los nodos durante al menos 20 segundos.

        • Forzar supresión. Los nodos siempre se suprimen después de que se expulsan sus pods o al final de la duración de la gracia de desalojo. Después de la duración de gracia de expulsión por defecto o especificada, el nodo se suprime, incluso si uno o más contenedores de pod no se drenan por completo.

        A continuación, se muestra un argumento de ejemplo para la opción --node-eviction-node-pool-settings. Si incluye la propiedad isForceDeleteAfterGraceDuration, su valor debe ser true. Los nodos siempre se suprimen después de que se expulsan sus pods o al final de la duración de la gracia de desalojo.

        --node-eviction-node-pool-settings '{"evictionGraceDuration": "PT30M", "isForceDeleteAfterGraceDuration": true}'
        Nota

        Si utiliza Terraform y especifica node_eviction_node_pool_settings, debe definir explícitamente is_force_delete_after_grace_duration en true, aunque true sea el valor por defecto. El valor de la propiedad is_force_delete_after_grace_duration no es opcional si utiliza Terraform.

      • (Opcional) Etiquetas. Agregue etiquetas definidas o de formato libre para el recurso del pool de nodos mediante las opciones --defined-tags o --freeform-tags. No especifique valores para la etiqueta definida OraclePCA-OKE.cluster_id ni para la etiqueta de formato libre ClusterResourceIdentifier. Estos valores de etiqueta se generan por el sistema y solo se aplican a los nodos (instancias), no al recurso del pool de nodos.

        Para agregar etiquetas definidas o de formato libre a todos los nodos del pool de nodos, utilice las opciones --node-defined-tags y --node-freeform-tags.

        Importante

        No especifique valores para la etiqueta definida OraclePCA-OKE.cluster_id ni para la etiqueta de formato libre ClusterResourceIdentifier. Estos valores de etiqueta se generan por el sistema.

      • (Opcional) Grupo de certificados de CA personalizados. Puede especificar un grupo de certificados de CA personalizado que se utilizará para verificar las conexiones TLS a un registro de contenedor privado. Utilice los parámetros de metadatos custom-ca-bundle-cert, registry-host y registry-port con la opción --node-metadata.

        En el argumento de opción --node-metadata, debe proporcionar valores para custom-ca-bundle-cert:

        --node-metadata '{"custom-ca-bundle-cert":"<base64-encoded-cert-content>"}'

        Si ha configurado un registro privado con un grupo de autoridades de certificación personalizado, asegúrese de que los nodos se aprovisionen o sincronicen recientemente (se reduzcan y realicen copias de seguridad o reinicios sucesivos) para aplicar el certificado actualizado a todos los nodos de trabajador.

    2. Ejecute el comando de creación de pool de nodos.

      Ejemplo:

      Consulte el procedimiento Console para obtener información sobre las opciones que se muestran en este ejemplo y otras opciones, como --node-boot-volume-size-in-gbs y nsg-ids. La opción --pod-subnet-ids solo se aplica si el cluster utiliza redes de pods nativas de VCN.

      $ oci ce node-pool create \
      --cluster-id ocid1.cluster.unique_ID --compartment-id ocid1.compartment.unique_ID \
      --name node_pool_name --node-shape shape_name --node-image-id ocid1.image.unique_ID \
      --placement-configs '[{"availabilityDomain":"AD-1","subnetId":"ocid1.subnet.unique_ID"}]' \
      --pod-subnet-ids '["ocid1.subnet.unique_ID"]' --size 10 --ssh-public-key "public_key_text"

      La salida de este comando node-pool create es la misma que la salida del comando node-pool get. Se muestra el OCID del cluster y se muestra un breve resumen de cada nodo. Para obtener más información sobre un nodo, utilice el comando compute instance get con el OCID del nodo.

      Utilice el comando work-request get para comprobar el estado de la operación de creación del pool de nodos. El OCID de la solicitud de trabajo está en created-by-work-request-id en la sección metadata de la salida cluster get.

      $ oci ce work-request get --work-request-id workrequest_OCID

      El estado de la solicitud de trabajo será ACCEPTED hasta que el cluster esté en estado Activo o Fallo.

      Para identificar estos nodos en una lista de instancias, tenga en cuenta que los nombres de estos nodos tienen el formato oke-ID, donde ID es los primeros 32 caracteres después del nombre en el OCID del pool de nodos. Busque las instancias de la lista cuyos nombres contengan la cadena ID de este OCID de pool de nodos.

    Para obtener una lista completa de los comandos, los indicadores y las opciones de CLI, consulte la Referencia de línea de comando.

    Qué es lo siguiente:

    1. Configure los registros o repositorios que necesiten los nodos de trabajador. Asegúrese de tener acceso a un registro de contenedor de intranet o público autogestionado para utilizarlo con el servicio OKE y las imágenes de la aplicación.

    2. Cree un servicio para exponer las aplicaciones en contenedores fuera de Private Cloud Appliance. Consulte Exposición de aplicaciones en contenedores.

    3. Cree un almacenamiento persistente para que las aplicaciones lo utilicen. Consulte Adición de almacenamiento para aplicaciones en contenedores.

  • Utilice la operación CreateNodePool para crear un nuevo pool de nodos.

    Para obtener más información sobre el uso de la API y la firma de solicitudes, consulte API de REST y Credenciales de seguridad. Para obtener información sobre los SDK, consulte Software development kits e interfaz de línea de comandos.

    Pasos siguientes:

    1. Configure los registros o repositorios que necesiten los nodos de trabajador. Asegúrese de tener acceso a un registro de contenedor de intranet o público autogestionado para utilizarlo con el servicio OKE y las imágenes de la aplicación.

    2. Cree un servicio para exponer las aplicaciones en contenedores fuera de Private Cloud Appliance. Consulte Exposición de aplicaciones en contenedores.

    3. Cree un almacenamiento persistente para que las aplicaciones lo utilicen. Consulte Adición de almacenamiento para aplicaciones en contenedores.