Implementar un modelo de red de modo IPv4 plano

Descripción general

En un modelo de red de modo plano, los Pods tienen direcciones IP únicas en los clústeres. Asegúrate de que los CIDR del Pod asignados sean únicos y no se superpongan con ninguna otra subred. Por ejemplo, las direcciones IP no pueden superponerse con las direcciones IP usadas para los nodos o los CIDR de otros Pods en otros clústeres. Se puede acceder a estas direcciones IP de forma externa y, por lo tanto, los Pods de cualquier nodo pueden comunicarse con todos los Pods de todos los demás nodos. La comunicación del pod a cualquier dirección IP externa no requiere la traducción de direcciones de red (NAT). Para obtener más información sobre el modelo de red de modo plano y cómo se compara con el modelo de red en isla predeterminado, consulta Modelos de red de modo plano versus en isla.

Los modelos de red de modo plano son de dos tipos: red en modo estático y red en modo dinámico (con el protocolo de puerta de enlace de frontera). El modo plano estático se puede usar cuando los nodos abarcan un solo dominio de capa 2. Para los nodos que abarcan varios dominios de capa 2, usa el modo de IP plana con BGP.

Usa un modelo de red de modo plano cuando tengas un gran espacio de direcciones IP y puedas asignar un CIDR de Pod único a un clúster. Puedes configurar los CIDR del Pod mediante ClusterCIDRConfigs de forma dinámica. Puedes agregar o borrar ClusterCIDRConfigs después de crear el clúster.

Para obtener más información sobre el modo plano con BGP, consulta Implementa un modelo de red de modo plano compatible con BGP.

Información sobre la accesibilidad de las direcciones IP del Pod

En el modo de red plana estática para IPv4, la accesibilidad de la dirección IP del Pod se basa en los paquetes del protocolo de resolución de direcciones (ARP). Por lo tanto, solo se puede acceder a las direcciones IP de los Pods cuando los Pods están en el mismo dominio de capa 2. Los nodos deben pertenecer al mismo dominio de capa 2. Las direcciones IP que especifiques para tus Pods (con ClusterCIDRConfigs) deben estar en la misma subred que los nodos del clúster. Los CIDR de los Pods configurados deben ser de la subred de los nodos. Por ejemplo, los nodos de un clúster usan la subred 222.1.0.0/16 y, luego, seleccionan una subred más pequeña dentro de la subred para los Pods, 222.1.2.0/24. Asegúrate de que ningún otro recurso en tu clúster use una dirección IP del rango asignado para tus Pods.

En la siguiente sección, se describe la configuración de redes de modo plano para IPv4.

Cómo implementar una red estática de modo plano

De forma predeterminada, el clúster de GKE en Bare Metal se crea en herramientas de redes de modo isla. En esta sección, se describe cómo configurar las herramientas de redes de modo plano para tu clúster.

Para implementar un clúster con un modelo de red de modo plano, realiza los siguientes cambios en el archivo de configuración del clúster:

Las herramientas de redes de modo plano solo se pueden habilitar para un clúster durante la creación del clúster. Para crear un clúster nuevo con herramientas de redes de modo plano, sigue estos pasos:

  1. Edita el archivo de configuración del clúster para agregar clusterNetwork.flatIPv4 y configúralo como true.

    Cuando habilitas las herramientas de redes de modo plano, se ignora el CIDR del Pod especificado en el archivo de configuración del clúster (clusterNetwork.pods.cidrBlocks).

  2. Adjunta un manifiesto ClusterCIDRConfig al archivo de configuración del clúster.

    En el manifiesto de ClusterCIDRConfig, incluye la siguiente información:

    • metadata.namespace: Es el espacio de nombres del clúster.

    • spec.ipv4.cidr: Es el rango de direcciones IP en formato de bloque CIDR que se usarán para los Pods del clúster. Este rango debe provenir de la misma subred que los nodos del clúster.

    • perNodeMaskSize: Las verificaciones previas de la creación del clúster comprueban que el valor perNodeMaskSize es suficiente para aprovisionar la cantidad de pods especificada en maxPodsPerNode.

    • nodeSelector: Si ninguna etiqueta de nodo coincide con el valor nodeSelector, la conciliación del nodo permanece pendiente y la creación del clúster no se completa.

En el siguiente extracto de un archivo de configuración de clúster, se muestra cómo implementar redes de modo plano sin compatibilidad con BGP. Los CIDR que aparecen en este extracto son solo ejemplos y tendrás que reemplazarlos por tus propios CIDR. Cuando reemplaces los CIDR por los tuyos, asegúrate de que cumplan con los criterios de accesibilidad de Pods, como se especifica en Comprende la accesibilidad de la dirección IP del Pod.

---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: flat-mode
  namespace: cluster-flat-mode
spec:
... (other cluster config omitted)

...
  # Cluster networking configuration
  clusterNetwork:
    flatIPv4: true
    services:
      cidrBlocks:
      - 10.96.0.0/12
... (other cluster config omitted)

...
---
apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: ClusterCIDRConfig
metadata:
  name: cluster-wide-1
  namespace: cluster-flat-mode
spec:
  ipv4:
    cidr: "222.1.0.0/16"
    perNodeMaskSize: 24

Limitaciones

La red estática de modo plano para GKE en Bare Metal tiene las siguientes limitaciones:

  • Se puede acceder a los pods que usan redes de modo plano dentro del único dominio de capa 2. Cualquier otra máquina que no esté en el clúster, pero en el mismo dominio de capa 2, también puede acceder a los Pods. Esta limitación también existe para IPv6 cuando se crean clústeres de doble pila y cuando IPv6 está en modo plano sin BGP. Para obtener más información, consulta Comprende la accesibilidad de las direcciones IP del Pod.

  • El controlador IPAM de GKE en Bare Metal realiza un seguimiento de la disponibilidad de direcciones IP dentro de los CIDR del Pod configurados. No realiza un seguimiento de las direcciones IP que ya usan otros dispositivos. Por lo tanto, ninguna otra IP en el dominio de la capa 2 no debe interferir con los CIDR del Pod. Para obtener más información, consulta Comprende la accesibilidad de las direcciones IP del Pod.