Creación de nodos virtuales y pools de nodos virtuales en un nuevo cluster

Descubra cómo crear nodos virtuales y pools de nodos virtuales en un nuevo cluster mediante Kubernetes Engine (OKE).

Puede crear nodos virtuales creando un pool de nodos virtuales en un nuevo cluster. Solo puede crear nodos virtuales y pools de nodos virtuales en clusters mejorados.

Consulte también Creating a Virtual Node Pool.

Puede crear nodos virtuales y pools de nodos virtuales mediante la consola, la CLI y la API.

  • Para crear un cluster con un pool de nodos virtuales y nodos virtuales mediante la consola:

    1. Siga las instrucciones de Uso de la consola para crear un cluster con una configuración definida explícitamente en el flujo de trabajo "Creación personalizada" para crear un nuevo cluster.
    2. En la página Configuración de red, especifique red de pods nativa de VCN como tipo de red para el cluster.
    3. En la página Pools de nodos, especifique un nombre y un compartimento para el pool de nodos virtual que desea crear.
    4. Especifique el tipo de nodo: de los nodos de trabajador en este pool de nodos como Virtual.
    5. Defina el pool de nodos virtuales:
      1. Especifique los detalles de configuración para el pool de nodos virtuales:
        • Configuración de colocación de nodo:
          • Dominio de Disponibilidad: dominio de Disponibilidad en el que colocar nodos virtuales.
          • Dominios de errores: (opcional) uno o más dominios de errores en el dominio de disponibilidad en el que colocar los nodos virtuales.

          De manera opcional, seleccione Agregar fila para seleccionar dominios adicionales en los que colocar los nodos virtuales.

          Cuando se crean los nodos virtuales, se distribuyen lo más equitativamente posible en los dominios de disponibilidad y los dominios de errores que seleccione. Si no selecciona ningún dominio de errores para un dominio de disponibilidad concreto, los nodos virtuales se distribuyen lo más equitativamente posible en todos los dominios de errores de ese dominio de disponibilidad.

        • Recuento de nodos: el número de nodos virtuales que hay que crear en el pool de nodo virtual, situado en los dominios de disponibilidad que seleccione, y en la subred regional (recomendado) o en el subred específica de dominio que especifique para cada dominio del servicio.
        • Unidad de pod: la unidad que se utilizará para los pods que se ejecutan en nodos virtuales en el pool de nodos virtuales. La unidad determina el tipo de procesador en el que se va a ejecutar el pod.

          Solo se muestran aquellas unidades de computación disponibles en el arrendamiento soportadas por Kubernetes Engine. Consulte Imágenes soportadas (incluidas imágenes personalizadas) y unidades para nodos de trabajador.

          Tenga en cuenta que especifica explícitamente los requisitos de recursos de CPU y memoria para los nodos virtuales en la especificación de pod (consulte Asignación de recursos de memoria a contenedores y pods y Asignación de recursos de CPU a contenedores y pods en la documentación de Kubernetes).

        • Comunicación de nodo virtual:
          • Compartimento de subred: compartimento en el que reside la subred del nodo virtual.
          • Subred: una subred regional (recomendado) o subred específica de AD configurada para alojar nodos virtuales. Si especificó subredes del equilibrio de carga, las subredes del nodo virtual deben ser diferentes. Las subredes que especifique pueden ser privadas (recomendado) o públicas y pueden ser regionales (recomendado) o específicas de dominio de disponibilidad. Recomendamos que la subred de pod y la subred de nodo virtual sean la misma subred (en cuyo caso, la subred de nodo virtual debe ser privada). Consulte Configuración de subred.
          • Usar reglas de seguridad en el grupo de seguridad de red (NSG): controle el acceso a la subred del nodo virtual mediante reglas de seguridad definidas para uno o más grupos de seguridad de red (NSG) que especifique (hasta un máximo de cinco). Puede utilizar reglas de seguridad definidas para los NSG en lugar de las definidas para las listas de seguridad (se recomiendan los NSG). Para obtener más información sobre las reglas de seguridad que se deben especificar para el NSG, consulte Reglas de seguridad para nodos y pods de trabajador.
        • Comunicación de pod: los pods que se ejecutan en nodos virtuales utilizan redes de pods nativas de VCN. Especifique cómo se comunican los pods del pool de nodos entre sí mediante una subred de pod:
          • Compartimento de subred: compartimento en el que reside la subred del pod.
          • Subred: subred regional configurada para alojar pods. La subred de pod que especifique para los nodos virtuales debe ser privada. Recomendamos que la subred de pod y la subred de nodo virtual sean la misma subred (en cuyo caso, Oracle recomienda definir reglas de seguridad en los grupos de seguridad de red en lugar de en las listas de seguridad). Consulte Configuración de subred.
          • Usar reglas de seguridad en el grupo de seguridad de red (NSG): controle el acceso a la subred de pod mediante reglas de seguridad definidas para uno o más grupos de seguridad de red (NSG) que especifique (hasta un máximo de cinco). Puede utilizar reglas de seguridad definidas para los NSG en lugar de las definidas para las listas de seguridad (se recomiendan los NSG). Para obtener más información sobre las reglas de seguridad que se deben especificar para el NSG, consulte Reglas de seguridad para nodos y pods de trabajador.

          Para obtener más información sobre la comunicación de pod, consulte Redes de pod.

      2. Acepte los valores por defecto de las opciones avanzadas del pool de nodos virtuales o seleccione Opciones avanzadas y especifique alternativas de la siguiente manera:

        • Etiquetas de pool de nodos: (opcional) una o más etiquetas para agregar al pool de nodos virtuales. El etiquetado permite agrupar recursos dispares en compartimentos y, además, permite anotar recursos con sus propios metadatos. Consulte Etiquetado de recursos relacionados en clusters de Kubernetes.
        • etiquetas de Kubernetes: (opcional) una o más etiquetas (además de una etiqueta por defecto) para agregar a los nodos virtuales en el grupo de nodos virtuales a fin del objetivo de permitir el targeting de cargas de trabajo en pools de nodo específicos. Para obtener más información, consulte Asignación de pods a nodos en la documentación de Kubernetes.
        • Contenido de Kubernetes: (opcional) uno o más elementos que se deben agregar a los nodos virtuales en el pool de nodos virtuales. Los mantos permiten que los nodos virtuales repelan los pods, lo que garantiza que los pods no se ejecuten en nodos virtuales en un pool de nodos virtuales concreto. Tenga en cuenta que solo puede aplicar contaminantes a los nodos virtuales. Para obtener más información, consulte Asignación de pods a nodos en la documentación de Kubernetes.
    6. Seleccione Siguiente para revisar los detalles que ha introducido para el nuevo cluster.
    7. Seleccione Crear Cluster para crear el nuevo cluster.
  • Utilice los comandos oci ce cluster create y oci ce virtual-node-pool create (y los parámetros necesarios) para crear un nuevo cluster con un pool de nodos virtuales y nodos virtuales:

    1. Cree un nuevo cluster especificando el plugin CNI de red de pod nativo de VCN de OCI para redes de pod:
      oci ce cluster create \
      --compartment-id <compartment-ocid> \
      --name <cluster-name> \
      --vcn-id <vcn-ocid> \
      --type ENHANCED_CLUSTER \
      --kubernetes-version <kubernetes-version> \
      --service-lb-subnet-ids "[\"<lb-subnet-ocid>\"]" \
      --endpoint-subnet-id <api-endpoint-subnet-ocid> \
      --endpoint-public-ip-enabled <true|false> \
      --endpoint-nsg-ids "[\"<api-endpoint-nsg-ocid>"]" \
      --cluster-pod-network-options '[{"cniType":"OCI_VCN_IP_NATIVE"}]'

      Por ejemplo:

      oci ce cluster create \
      --compartment-id ocid1.compartment.oc1..aaaaaaaa______n5q \
      --name sales \
      --vcn-id ocid1.vcn.oc1.phx.aaaaaaaa______lhq \
      --type ENHANCED_CLUSTER \
      --kubernetes-version v1.25.4 \
      --service-lb-subnet-ids "[\"ocid1.subnet.oc1.phx.aaaaaaaa______g7q"]" \
      --endpoint-subnet-id ocid1.subnet.oc1.phx.aaaaaaaa______sna \
      --endpoint-public-ip-enabled true \
      --endpoint-nsg-ids "[\"ocid1.networksecuritygroup.oc1.phx.aaaaaaaa______5qq\"]" \
      --cluster-pod-network-options '[{"cniType":"OCI_VCN_IP_NATIVE"}]'
    2. Obtenga el OCID del nuevo cluster para utilizarlo en el siguiente paso.
    3. Cree un nuevo pool de nodos virtuales en el cluster:
      oci ce virtual-node-pool create \
      --cluster-id <cluster-ocid> \
      --compartment-id <compartment-ocid> \
      --display-name <node-pool-name> \
      --kubernetes-version <kubernetes-version> \
      --placement-configurations "[{\"availabilityDomain\":\"<ad-name>\",\"faultDomain\":[\"FAULT-DOMAIN-<n>\"],\"subnetId\":\"<virtualnode-subnet-ocid>\"}]" \
      --nsg-ids "[\"<virtual-node-nsg-ocid>\"]" \
      --pod-configuration "{\"subnetId\":\"<pod-subnet-ocid>\",\"nsgIds\":[\"<pod-nsg-ocid>\"],\"shape\":\"<shape-name>\"}" \
      --size <number-of-nodes>
      donde:
      • <ad-name> es el nombre del dominio de disponibilidad en el que colocar los nodos virtuales. Para averiguar el nombre de dominio de disponibilidad que se va a utilizar, ejecute:
        oci iam availability-domain list
      • <shape-name> es uno de los siguientes: Pod.Standard.E3.Flex, Pod.Standard.E4.Flex.

      Por ejemplo:

      oci ce virtual-node-pool create \
      --cluster-id ocid1.cluster.oc1.phx.aaaaaaaa______w5q \
      --compartment-id ocid1.compartment.oc1..aaaaaaaa______n5q \
      --display-name sales-vnp \
      --kubernetes-version v1.24.1 \
      --placement-configurations "[{\"availabilityDomain\":\"GMvH:PHX-AD-1\",\"faultDomain\":[\"FAULT-DOMAIN-1\"],\"subnetId\":\"ocid1.subnet.oc1.phx.aaaaaaaa______sra\"}]" \
      --nsg-ids "[\"ocid1.networksecuritygroup.oc1.phx.aaaaaaaa______hpa\"]" \
      --pod-configuration "{\"subnetId\":\"ocid1.subnet.oc1.phx.aaaaaaaa______o7q\",\"nsgIds\":[\"ocid1.networksecuritygroup.oc1.phx.aaaaaaaa______osq\"],\"shape\":\"Pod.Standard.E4.Flex\"}" \
      --size 1

    Para obtener una lista completa de parámetros y valores para los comandos de la CLI, consulte la Referencia de comandos de la CLI.

  • Ejecute la operación CreateVirtualNodePool para crear un pool de nodos virtuales y nodos virtuales en un cluster existente.