Creación de un pool de nodos de trabajador de OKE
Descubra cómo crear pools de nodos de trabajador de OKE en Compute Cloud@Customer para un cluster de carga de trabajo.
Los nodos son instancias informáticas de Compute Cloud@Customer. 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.
No puede personalizar las secuencias de comandos cloud-init
de OKE.
Para configurar los valores de proxy, use la CLI o la API 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.
-
En el panel de control de la consola de Compute Cloud@Customer, seleccione Contenedores/ver 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 compartimentos de la parte superior de la página.
-
Seleccione el nombre del cluster al que desea agregar un pool de nodos.
-
En la página de detalles del cluster, en Recursos, seleccione Pools de nodos.
-
En la lista Pools de nodos, seleccione Agregar pool de nodos.
-
En el cuadro de diálogo Agregar pool de nodos, proporcione la siguiente información:
-
Nombre: el nombre del nuevo pool de nodos. Evite introducir información confidencial.
-
Compartimento: compartimento en el 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 compartimento para buscar el NSG que desee. La VNIC principal de la subred de trabajador se conectará a este NSG.
-
Configuración de colocación
-
Subred de nodo de trabajador: seleccione una subred que tenga configuración, como la subred "worker" que se describe en Creación de una subred de trabajador (superposición de franela) o Creación de una subred de trabajador (pod nativo de VCN). Para un cluster público, cree la versión privada NAT de la subred "worker". Para un cluster privado, cree la versión privada solo de VCN de la subred de "trabajador". Seleccione solo una subred. La subred debe tener reglas definidas para comunicarse con el punto final del plano de control. La subred debe utilizar una tabla de rutas privada y debe tener una lista de seguridad como la lista de seguridad backend privada descrita en Creación de una subred de trabajador (superposición de franela) o Creación de una subred de trabajador (pod nativo de VCN).
-
Dominio de errores: seleccione un dominio de errores o seleccione Seleccionar automáticamente el mejor dominio de errores, que es la opción por defecto.
-
-
Imagen de origen: seleccione una imagen.
-
Seleccione el Tipo de Origen de Imagen de Plataforma.
-
Seleccione una imagen de la lista.
La lista de imágenes tiene columnas Sistema operativo, Versión de 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 de Kubernetes para seleccionar una versión diferente.
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 antes.Nota
La imagen que especifique no debe tener una versión de Kubernetes 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 de computación para los nodos de trabajador. La unidad es VM.PCAStandard.E5. Flexibilidad y no se puede cambiar.
Especifique 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. Seleccione dentro de cada campo de valor para ver los valores mínimos y máximos permitidos.
-
Volumen de inicio: (opcional) marque la casilla para especificar un tamaño de volumen de inicio.
Tamaño de volumen de inicio (GB): se muestra el tamaño de volumen de inicio por defecto para la imagen seleccionada. Para especificar un tamaño mayor, introduzca un valor de 50 a 16384 en gigabytes (de 50 GB a 16 TB) o utilice las flechas de incremento y disminución.
Si especifica un tamaño de volumen de inicio personalizado, 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 comandooci-growfs
de ese paquete para ampliar la partición raíz y, a continuación, aumentar 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) utilice las flechas para reducir o aumentar el número de minutos de duración de gracia de desalojo. No puede anular la selección de "Forzar terminación después del período de gracia". Los nodos se suprimen después de que sus pods sean expulsados o al final de la duración de la gracia de desalojo, incluso si no todos los pods son expulsados.
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. Consulte la descripción y el ejemplo del procedimiento de la CLI.
-
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.
-
-
Seleccione Agregar pool de nodos.
Se muestra la página de detalles del pool de nodos. En Recursos, 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
, dondeID
es los primeros 32 caracteres después depca_name
en el OCID del pool de nodos. Busque las instancias de la lista cuyos nombres contengan la cadenaID
de este OCID de pool de nodos.Para identificar estos nodos en una lista de instancias, tenga en cuenta que los nombres de estos nodos contienen los primeros 32 caracteres después de
ccc_name
del OCID del pool de nodos y contienen el OCID del cluster en la etiqueta OraclePCA-OKE/cluster_id.
Siguiente paso:
-
Configure los registros o repositorios que necesitan 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.
-
Cree un servicio para exponer las aplicaciones en contenedores fuera de Compute Cloud@Customer. Consulte Exposición de aplicaciones en contenedores.
-
Cree un almacenamiento persistente para que lo utilicen las aplicaciones. Consulte Adición de almacenamiento para aplicaciones en contenedores.
Para cambiar las propiedades de los nodos existentes, puede crear un nuevo pool de nodos con la nueva configuración y mover el trabajo a los nuevos nodos.
-
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]
-
Obtenga la información necesaria 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
-
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. Consulte la descripción de "Configuración de ubicación" en el procedimiento Console. 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 ubicación. Para que el sistema pueda seleccionar los mejores dominios de errores, no especifique ningún 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). Consulte también la descripción en Comunicación de pod en el procedimiento de consola anterior. 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" a continuación) 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á para los nodos de este pool de nodos.
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 ha utilizado esta imagen anteriormente.Nota
La imagen que especifique debe tener
-OKE-
endisplay-name
y no debe tener una versión de Kubernetes 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 propiedaddisplay-name
en la salidaimage 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"
No especifique la opción
--kubernetes-version
en el comandonode-pool create
.Puede especificar un tamaño de volumen de inicio personalizado en gigabytes. El tamaño de volumen de inicio por defecto es 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 de volumen de inicio personalizado, 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 comandooci-growfs
de ese paquete para ampliar la partición raíz y, a continuación, aumentar el sistema de archivos. Consulte oci-growfs. -
Nombre de la unidad de los nodos de trabajador de este pool de nodos. Para los sistemas X10 de Compute Cloud@Customer, la unidad de los nodos de plano de control es VM.PCAStandard.E5. Flexibilidad
Especifique la configuración de la unidad, como se muestra en el siguiente ejemplo. Debe proporcionar un valor para
ocpus
. La propiedadmemoryInGBs
es opcional; el valor por defecto en gigabytes es 16 veces el número deocpus
.--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.
-
(Opcional) OCID del grupo de seguridad de red que se utilizará para los nodos de este pool de nodos. Utilice la opción
. No especifique más de un NSG.--nsg-ids
-
(Opcional) Etiquetas. La definición de etiquetas en los nodos permite definir pods de destino para la programación en nodos o grupos de nodos específicos. Utilice esta funcionalidad para asegurarse de que los 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 agregan a los nodos después de unirse al cluster de Kubernetes. Existen restricciones de claves de metadatos. Consulte Metadata Key Restrictions.A continuación, se muestra un ejemplo de etiqueta que se aplica a los nodos del pool de nodos:
--initial-node-labels '[{"key":"disktype","value":"ssd"}]
Una forma sencilla de seleccionar nodos según 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ónnodeSelector
.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
para asociar datos de usuario personalizados a nodos. Consulte el siguiente elemento de configuración de proxy para obtener un ejemplo específico.--node-metadata
Consulte Metadata Key Restrictions. El tamaño máximo de los metadatos de nodo es de 32.000 bytes.
-
(Opcional) Valores de proxy. Si la red necesita una configuración de proxy para permitir que los nodos de trabajador accedan a registros o repositorios externos, por ejemplo, cree un argumento para la opción
.--node-metadata
En el argumento de opción
, proporcione valores para--node-metadata
crio-proxy
ycrio-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 sus pods sean expulsados o al final de la duración de la gracia de desalojo.-
Duración de la gracia de desalojo. Este valor especifica la cantidad de tiempo que se permite acordonar y drenar nodos de trabajador.
Un nodo 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. El valor por defecto y el valor máximo son 60 minutos (PT60M). El valor mínimo es de 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 sus pods sean expulsados 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, se suprime el nodo, 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 propiedadisForceDeleteAfterGraceDuration
, su valor debe sertrue
. Los nodos siempre se suprimen después de que sus pods sean expulsados 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ícitamenteis_force_delete_after_grace_duration
en true, aunque true sea el valor por defecto. La configuración de la propiedadis_force_delete_after_grace_duration
no es opcional si utiliza Terraform. -
-
(Opcional) Etiquetas. Agregue etiquetas 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 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.
-
-
Ejecute el comando de creación de pool de nodos.
Ejemplo:
Consulte el procedimiento Uso de la consola para obtener información sobre las opciones que se muestran en este ejemplo y otras opciones, como
--node-boot-volume-size-in-gbs
ynsg-ids
. La opción--pod-subnet-ids
solo se aplica si el cluster utiliza redes de pod nativo 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"
Utilice el comando
work-request get
para comprobar el estado de la operación de creación del pool de nodos. El OCID de solicitud de trabajo está encreated-by-work-request-id
en la secciónmetadata
de la salidacluster 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
, dondeID
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 cadenaID
de este OCID de pool de nodos.
Para obtener una lista completa de los comandos, los indicadores y las opciones de la CLI, consulte la Referencia de la línea de comandos.
Siguiente paso:
-
Configure los registros o repositorios que necesitan 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.
-
Cree un servicio para exponer las aplicaciones en contenedores fuera de Compute Cloud@Customer. Consulte Exposición de aplicaciones en contenedores.
-
Cree un almacenamiento persistente para que lo utilicen las aplicaciones. Consulte Adición de almacenamiento para aplicaciones en contenedores.
Para cambiar las propiedades de los nodos existentes, puede crear un nuevo pool de nodos con la nueva configuración y mover el trabajo a los nuevos nodos.
-
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.
-
Configure los registros o repositorios que necesitan 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.
-
Cree un servicio para exponer las aplicaciones en contenedores fuera de Compute Cloud@Customer. Consulte Exposición de aplicaciones en contenedores.
-
Cree un almacenamiento persistente para que lo utilicen las aplicaciones. Consulte Adición de almacenamiento para aplicaciones en contenedores.
Para cambiar las propiedades de los nodos existentes, puede crear un nuevo pool de nodos con la nueva configuración y mover el trabajo a los nuevos nodos.
-