Creación de nodos autónomos

Descubra cómo crear un nuevo nodo autogestionado y agregarlo a un cluster existente.

Utilice el servicio Compute para crear la instancia informática en la que ejecutar un nodo autogestionado. Una vez creado el nodo autogestionado, debe agregarlo a un cluster mejorado existente.

Si desea que un nodo autogestionado utilice el plugin CNI de canal para redes de pod, puede crear el nodo autogestionado mediante la consola, la CLI y la API. Si desea que un nodo autogestionado utilice el plugin CNI de red de pod nativo de VCN de OCI para redes de pod, puede crear el nodo autogestionado mediante la CLI y la API.

Nota

Para obtener información sobre la creación de nodos autogestionados que ejecutan Ubuntu, consulte Ejecución de Ubuntu en nodos de trabajador mediante imágenes personalizadas.
  • Para crear un nodo autogestionado mediante la consola:

    1. Cree el script cloud-init que contiene el punto final privado de la API de Kubernetes y el certificado de CA codificado por base64 del cluster mejorado al que desea agregar el nodo autogestionado. Consulte Creación de scripts de Cloud-init para nodos autogestionados.
    2. Cree una nueva instancia informática para alojar el nodo autogestionado:
      1. Abra el menú de navegación y seleccione Recursos informáticos. En Recursos informáticos, seleccione Instancias.
      2. Siga las instrucciones de la documentación del servicio de recursos informáticos para crear una nueva instancia informática. Tenga en cuenta que deben existir políticas adecuadas para permitir que la nueva instancia informática se una al cluster mejorado. Consulte Creating a Dynamic Group and a Policy for Self-Managed Nodes.
      3. En la sección Imagen y unidad, haga clic en Cambiar imagen.
      4. Haga clic en Mis imágenes, seleccione la opción OCID de imagen y, a continuación, introduzca el OCID de la imagen de Oracle Linux 7 (OL7) u Oracle Linux 8 (OL8) de OKE que desea utilizar. Consulte Requisitos de imagen.
      5. Haga clic en Mostrar opciones avanzadas y, en el separador Gestión, seleccione la opción Pegar script cloud-init.
      6. Copie y pegue el script cloud-init que contiene el punto final privado de la API de Kubernetes y el certificado de CA codificado por base64 en el campo Script cloud-init. Consulte Creación de scripts de Cloud-init para nodos autogestionados.
      7. Haga clic en Crear para crear la instancia informática para alojar el nodo autogestionado.

      Cuando se crea la instancia informática, se agrega como nodo autogestionado al cluster con el punto final de API de Kubernetes especificado.

    3. Verifique que el nodo autogestionado se haya agregado al cluster de Kubernetes y confirme el estado de preparación del nodo introduciendo:
      kubectl get nodes

      Por ejemplo:

      kubectl get nodes
      
      NAME           STATUS   ROLES    AGE   VERSION
      10.0.103.170   Ready    <none>   40m   v1.25.4
    4. Confirme que las etiquetas se han agregado al nodo y que se han definido como se esperaba introduciendo:
      kubectl get node <node-name> -o json | jq '.metadata.labels'

      Por ejemplo,

      kubectl get node 10.0.103.170 -o json | jq '.metadata.labels'
      
      {
      ...
      "displayName": "oke-self-managed-node",
      "oci.oraclecloud.com/node.info.byon": "true",
      ...
      }
  • Utilice el comando oci Compute instance launch y los parámetros necesarios para crear un nodo autogestionado:

    oci compute instance launch --availability-domain <availability-domain> --compartment-id <compartment-ocid> --shape <shape> --subnet-id <subnet-ocid> [OPTIONS]

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

    Consejos:

    • Especifique el nombre del archivo que contiene el script cloud-init (necesario para agregar la instancia informática al cluster como nodo autogestionado) mediante el parámetro --user-data-file del comando oci Compute instance launch. Consulte Creación de scripts de Cloud-init para nodos autogestionados.
    • Especifique la imagen que se va a utilizar para crear el nodo autogestionado definiendo el parámetro --image-id del comando oci Compute instance launch. Consulte Requisitos de imagen.
    • Si desea que el nodo autogestionado utilice el plugin CNI de red de pod nativo de VCN de OCI para redes de pod, agregue el parámetro --metadata al comando oci compute instance launch, de la siguiente manera:
      --metadata '{"oke-native-pod-networking": "true", "oke-max-pods": "<max-pods-per-node>", "pod-subnets": "<pod-subnet-ocid>", "pod-nsgids": "<nsg-ocid>"}'

      donde:

      • "oke-native-pod-networking": "true" especifica que desea que el nodo autogestionado utilice el plugin de CNI de red de pods nativos de VCN de OCI para redes de pods.
      • "oke-max-pods": "<max-pods-per-node>" especifica el número máximo de pods que desea ejecutar en el nodo autogestionado.
      • "pod-subnets": "<pod-subnet-ocid>" especifica el OCID de la subred de pod que soporta la comunicación entre pods y el acceso directo a pods individuales mediante direcciones IP de pod privado. La subred de pod debe ser una subred privada.
      • "pod-nsgids": "<nsg-ocid>" especifica opcionalmente el OCID de uno o más grupos de seguridad de red (NSG) que contienen reglas de seguridad para enrutar el tráfico de red a pods. Al especificar varios NSG, utilice una lista delimitada por comas con el formato "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

      Para obtener más información sobre el plugin de CNI de red de pod nativo de VCN de OCI, consulte Uso del plugin de CNI de red de pod nativo de VCN de OCI para redes de pod.

    • Si desea que el nodo autogestionado sea un nodo IPv4/IPv6 de pila doble (con direcciones IPv4 y IPv6), agregue el parámetro --metadata al comando oci compute instance launch, de la siguiente manera:
      --metadata '{"ip-families": "IPv4,IPv6"}'

    Ejemplos:

    Ejemplo 1: Comando para crear un nodo autogestionado que utilice el plugin CNI de canal para redes de pod.

    oci compute instance launch \
        --profile oc1 \
        --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \
        --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \
        --shape VM.Standard2.2 \
        --availability-domain zkJl:PHX-AD-1 \
        --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \
        --display-name smn \
        --user-data-file my-cloud-init-file \
        --ssh-authorized-keys-file my-ssh-key-file

    Ejemplo 2: comando para crear un nodo autogestionado que utilice el plugin CNI de red de pod nativo de VCN de OCI para redes de pod.

    oci compute instance launch \
        --profile oc1 \
        --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \
        --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \
        --shape VM.Standard2.2 \
        --availability-domain zkJl:PHX-AD-1 \
        --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \
        --display-name smn-npn \
        --user-data-file my-cloud-init-file \
        --ssh-authorized-keys-file my-ssh-key-file \
        --metadata '{"oke-native-pod-networking": "true", 
          "oke-max-pods": "21", 
          "pod-subnets": "ocid1.subnet.oc1.phx.aaaaaaa______4wka"},
          "pod-nsgids": "ocid1.networksecuritygroup.oc1.phx.aaaaaaa______qfca,ocid1.networksecuritygroup.oc1.phx.aaaaaaa______ohea"'

    Ejemplo 3: comando alternativo para crear un nodo autogestionado que utilice el plugin CNI de red de pod nativo de VCN de OCI para redes de pod.

    oci compute instance launch \
        --profile oc1 \
        --compartment-id ocid1.compartment.oc1..aaaaaaa______neoq \
        --subnet-id ocid1.subnet.oc1.phx.aaaaaaa______hzia \
        --shape VM.Standard2.2 \
        --availability-domain zkJl:PHX-AD-1 \
        --image-id ocid1.image.oc1.phx.aaaaaaa______lcra \
        --display-name smn-npn \
        --metadata '{"ssh_authorized_keys": "ssh-rsa AAAAB3NzaC1yc2EAAAA...",
          "oke-native-pod-networking": "true",
          "oke-max-pods": "21",
          "pod-subnets": "ocid1.subnet.oc1.phx.aaaaaaa______4wka,ocid1.subnet.oc1.phx.aaaaaaa______hzia",
          "pod-nsgids": "ocid1.networksecuritygroup.oc1.phx.aaaaaaa______qfca,ocid1.networksecuritygroup.oc1.phx.aaaaaaa______",
          "user_data": "IyEvdXNyL2Jpbi9lbnYgYmFzaA..."}'
  • Ejecute la operación LaunchInstance para crear un nodo autogestionado.

    Si desea que el nodo autogestionado utilice el plugin CNI de red de pod nativo de VCN de OCI para redes de pod, utilice el atributo metadata para especificar valores para las siguientes claves:

    • oke-native-pod-networking: defínalo en true para especificar que desea que el nodo autogestionado utilice el plugin de CNI de red de pods nativos de VCN de OCI para las redes de pods.
    • oke-max-pods: número máximo de pods que desea ejecutar en el nodo autogestionado.
    • pod-subnets: OCID de la subred de pod que soporta la comunicación entre pods y el acceso directo a pods individuales mediante direcciones IP de pod privadas. La subred de pod debe ser una subred privada.
    • pod-nsgids: (opcional) OCID de uno o más grupos de seguridad de red (NSG) que contienen reglas de seguridad para enrutar el tráfico de red a pods. Al especificar varios NSG, utilice una lista delimitada por comas con el formato "pod-nsgids": "<nsg-ocid-1>,<nsg-ocid-2>"

    Para obtener más información sobre el plugin de CNI de red de pod nativo de VCN de OCI, consulte Uso del plugin de CNI de red de pod nativo de VCN de OCI para redes de pod.