Funciones de redes de Distributed Cloud conectado

En esta página, se describen las funciones de redes de Google Distributed Cloud connected, incluidas las subredes y el balanceo de cargas.

Habilita la API de Distributed Cloud Edge Network

Antes de configurar las redes en una implementación conectada de Distributed Cloud, debes habilitar la API de Distributed Cloud Edge Network. Para ello, completa los pasos de esta sección. De forma predeterminada, los servidores de Distributed Cloud conectado se envían con la API de Distributed Cloud Edge Network ya habilitada.

Console

  1. En la consola de Google Cloud , ve a la página de la API de Distributed Cloud Edge Network.

    Habilitar la API

  2. Haz clic en Habilitar.

gcloud

Usa el siguiente comando:

gcloud services enable edgenetwork.googleapis.com

Configura las redes en Distributed Cloud conectado

En esta sección, se describe cómo configurar los componentes de redes en tu implementación conectada de Distributed Cloud.

Se aplican las siguientes limitaciones a los servidores conectados de Distributed Cloud:

  • Solo puedes configurar subredes.
  • Las subredes solo admiten IDs de VLAN; no se admiten las subredes basadas en CIDR.

Una configuración de red típica para Distributed Cloud Connected consta de los siguientes pasos:

  1. Opcional: Inicializa la configuración de red de la zona de destino, si es necesario.

  2. Crear una red

  3. Crea una o más subredes dentro de la red.

  4. Prueba la configuración.

  5. Conecta las cápsulas a la red.

Inicializa la configuración de red de la zona de Distributed Cloud

Debes inicializar la configuración de red de tu zona conectada de Distributed Cloud inmediatamente después de que se haya instalado el hardware conectado de Distributed Cloud en tus instalaciones. La inicialización de la configuración de red de una zona es un procedimiento único.

Cuando se inicializa la configuración de red de una zona, se crea una red predeterminada llamada default. Esta configuración proporciona a tu implementación conectada de Distributed Cloud conectividad básica de vínculo ascendente a tu red local.

Para obtener instrucciones, consulta Inicializa la configuración de red de una zona.

Crea una red

Para crear una red nueva, sigue las instrucciones en Cómo crear una red. También debes crear al menos una subred dentro de la red para permitir que los nodos conectados de Distributed Cloud se conecten a la red.

Crea una o más subredes

Para crear una subred, sigue las instrucciones en Crea una subred. Debes crear al menos una subred en tu red para permitir que los nodos accedan a ella. La VLAN correspondiente a cada subred que crees estará disponible automáticamente para todos los nodos de la zona.

Prueba la configuración

Para probar la configuración de los componentes de red que creaste, haz lo siguiente:

  1. Verifica el estado operativo de la red.

  2. Verifica el estado de aprovisionamiento de cada subred.

Conecta los pods a la red

Para conectar tus pods a la red y configurar funciones de red avanzadas, sigue las instrucciones en Operador de funciones de red. Esta funcionalidad no está disponible para las cargas de trabajo de máquina virtual.

Configura el aislamiento de la red del clúster (opcional)

Distributed Cloud Connected admite el aislamiento de la red del clúster. Los nodos asignados a un clúster aislado de la red no pueden comunicarse con ningún otro nodo dentro de la misma zona conectada de Distributed Cloud. Para habilitar el aislamiento de la red del clúster, usa la marca --enable-cluster-isolation cuando crees o modifiques un clúster. Para obtener más información, consulta Crea y administra clústeres.

Configura el modo isla (opcional)

Distributed Cloud conectado admite el modo aislado para su subsistema de redes virtuales. El modo isla te permite especificar un rango de direcciones IP aislado en la interfaz de red secundaria de un Pod. Este rango de direcciones aislado es independiente del rango de direcciones de la VLAN de la interfaz de red principal. A los Pods configurados para el modo aislado solo se les asignan direcciones de este rango de direcciones "aislado". Para obtener más información, consulta Modelos de red de modo plano y de modo isla.

El rango de direcciones IP aislado que especifiques para el modo isla no debe entrar en conflicto con los siguientes rangos de direcciones IP:

  • CIDR de VLAN principal para cualquier red configurada en el clúster
  • El rango de direcciones IP virtuales del balanceador de cargas especificado en la anotación networking.gke.io/gdce-lb-service-vip-cidrs del recurso Network
  • Son los rangos de direcciones IP que se usan para el modo de isla en cualquier otra red del clúster.

Cómo configurar el modo isla

Para configurar el modo de isla a nivel del Pod, agrega la anotación networking.gke.io/gdce-pod-cidr al recurso personalizado Network correspondiente. Establece el valor de la anotación en el rango de direcciones IP aisladas de destino y aplica el recurso Network modificado a tu clúster. Por ejemplo:

networking.gke.io/gdce-pod-cidr: 172.15.10.32/27

También debes establecer los siguientes parámetros:

  • type debe establecerse en L3.
  • IPAMMode debe establecerse en Internal.

Por ejemplo:

apiVersion: networking.gke.io/v1
kind: Network
metadata:
  name: my-network
  annotations:
    # Enable island mode and specify the isolated address range.
    networking.gke.io/gdce-pod-cidr: 172.15.10.32/27
    # Specify the VLAN ID for this secondary network.
    networking.gke.io/gdce-vlan-id: "561"
    # Specify the CIDR block for load balancer services on this network.
    networking.gke.io/gdce-lb-service-vip-cidrs: 172.20.5.180/30
spec:
  # Network type must be L3 for island mode.
  type: L3
  # IPAMMode must be Internal for island mode.
  IPAMMode: Internal
  nodeInterfaceMatcher:
    interfaceName: gdcenet0.561 # The name for the target network interface.
  gateway4: 172.20.5.177 # Gateway IP address; must be unique in this CR.
  externalDHCP4: false
  dnsConfig:
    nameservers:
    - 8.8.8.8

Para verificar que el modo isla esté habilitado, haz lo siguiente:

  1. Crea un Pod de prueba y aplícalo a tu clúster. Por ejemplo:

    apiVersion: v1
    kind: Pod
    metadata:
      name: island-pod-tester
      annotations:
        networking.gke.io/interfaces: '[{"interfaceName":"eth1","network":"test-network-vlan561"}]'
        networking.gke.io/default-interface: "eth1"
    spec:
      containers:
      - name: sample-container
        image: busybox
        command: ["/bin/sh", "-c", "sleep 3600"]
    
  2. Obtén la dirección IP del Pod:

    kubectl get pod island-pod-tester -o wide
    

    El comando devuelve la dirección IP del Pod, que se encuentra dentro del rango de direcciones aislado que especificaste.

Configura el modo isla con el servicio ClusterIP

Para configurar el modo de isla con el servicio ClusterIP, completa los pasos de la sección anterior, luego agrega la anotación networking.gke.io/gke-gateway-clusterip-cidr a tu recurso Network y establece su valor según las necesidades de tu empresa. Los rangos de direcciones especificados en el recurso Network no deben superponerse. Por ejemplo:

apiVersion: networking.gke.io/v1
kind: Network
metadata:
  annotations:
    networking.gke.io/gdce-lb-service-vip-cidrs: 172.20.5.180/30
    networking.gke.io/gdce-pod-cidr: 172.15.10.32/27
    networking.gke.io/gdce-vlan-id: "561"
    networking.gke.io/gke-gateway-clusterip-cidr: 10.20.1.0/28
  name: test-network-vlan561
spec:
  IPAMMode: Internal
  dnsConfig:
    nameservers:
    - 8.8.8.8
  externalDHCP4: false
  gateway4: 172.20.5.177
  nodeInterfaceMatcher:
    interfaceName: gdcenet0.561
  type: L3

Balanceo de cargas

Distributed Cloud se entrega con una solución de balanceo de cargas de red incluida basada en MetalLB en modo de capa 2. Puedes usar esta solución para exponer los servicios que se ejecutan en tu zona de Distributed Cloud al mundo exterior con direcciones IP virtuales (VIP) de la siguiente manera:

  1. El administrador de red planifica la topología de red y especifica la subred de direcciones IPv4 virtuales requerida cuando solicita Distributed Cloud. Google configura el hardware de Distributed Cloud según corresponda antes de la entrega. Ten en cuenta lo siguiente:
    • Esta subred de VIP se comparte entre todos los clústeres de Kubernetes que se ejecutan en tu zona de Distributed Cloud.
    • La primera (ID de red), la segunda (puerta de enlace predeterminada) y la última (dirección de transmisión) direcciones de la subred están reservadas para la funcionalidad principal del sistema. No asignes esas direcciones a los grupos de direcciones de tus configuraciones de MetalLB.
    • Cada clúster debe usar un rango de VIP independiente que se encuentre dentro de la subred de VIP configurada.
  2. Cuando creas un clúster en tu zona de Distributed Cloud, el administrador del clúster especifica los grupos de direcciones de servicio de Pod y ClusterIP con la notación CIDR. El administrador de red proporciona la subred de VIP LoadBalancer adecuada al administrador del clúster.
  3. Después de crear el clúster, el administrador del clúster configura los grupos de VIP correspondientes. Debes especificar los grupos de VIP con la marca --external-lb-address-pools cuando crees el clúster. La marca acepta un archivo con una carga útil en formato YAML o JSON con el siguiente formato:

     addressPools:
     - name: foo
       addresses:
       - 10.2.0.212-10.2.0.221
       - fd12::4:101-fd12::4:110
       avoid_buggy_ips: true
       manual_assign: false
    
     - name: bar
       addresses:
       - 10.2.0.202-10.2.0.203
       - fd12::4:101-fd12::4:102
       avoid_buggy_ips: true
       manual_assign: false
    

    Para especificar un grupo de direcciones VIP, proporciona la siguiente información en la carga útil:

    • name: Es un nombre descriptivo que identifica de forma única este grupo de direcciones VIP.
    • addresses: Es una lista de direcciones IPv4, rangos de direcciones y subredes que se incluirán en este grupo de direcciones.
    • avoid_buggy_ips: Excluye las direcciones IP que terminan en .0 o .255.
    • manual_assign: Te permite asignar manualmente direcciones de este grupo en la configuración del servicio LoadBalancer de destino en lugar de que el controlador de MetalLB las asigne automáticamente.

    Para obtener más información sobre la configuración de grupos de direcciones VIP, consulta Cómo especificar grupos de direcciones en la documentación de MetalLB.

  4. El administrador del clúster crea los servicios de LoadBalancer de Kubernetes adecuados.

Los nodos de Distributed Cloud en un solo grupo de nodos comparten un dominio de capa 2 común y, por lo tanto, también son nodos del balanceador de cargas de MetalLB.

ClusterDNS recurso

Distributed Cloud connected admite el recurso ClusterDNS de Google Distributed Cloud para configurar servidores de nombres ascendentes para dominios específicos con la sección spec.domains. Para obtener más información sobre cómo configurar este recurso, consulta spec.domains.

¿Qué sigue?