En este documento, se muestra un ejemplo de cómo asignar direcciones IP para un clúster de administrador con alta disponibilidad (HA) y dos clústeres de usuario con HA.
Antes de comenzar
Para obtener información sobre los clústeres de administrador, los clústeres de usuario y la alta disponibilidad, consulta Cómo elegir un modelo de implementación.
Ejemplo de asignación de dirección IP
En esta sección, se muestra un ejemplo de cómo asignar direcciones IP en una instalación que incluye estos elementos:
Direcciones IP para nodos de clúster
Direcciones IP para Pods
Direcciones IP del clúster para Services
Direcciones IP virtuales (VIP) para los planos de control y los proxies de entrada
VIPs que se usarán como direcciones IP externas para Services
Nodos del clúster de administrador
El clúster de administrador en este ejemplo tiene tres nodos. Cada nodo ejecuta componentes del plano de control.
Nodos del clúster de usuario
En este ejemplo, cada clúster de usuario tiene seis nodos: tres nodos del plano de control y tres nodos trabajadores.
Balanceo de cargas
Para este ejemplo, supongamos que los clústeres usan el balanceador de cargas en paquetes de MetalLB. El balanceador de cargas se ejecuta en los nodos del clúster, por lo que no se necesitan máquinas adicionales para el balanceo de cargas.
Subredes
Para este ejemplo, supongamos que cada clúster se encuentra en su propio dominio de capa 2 y que los clústeres se encuentran en estas subredes:
Clúster | Subred | Puerta de enlace predeterminada |
---|---|---|
Clúster de administrador | 172.16.20.0/24 | 172.16.20.1 |
Clúster de usuario 1 | 172.16.21.0/24 | 172.16.21.1 |
Clúster de usuario 2 | 172.16.22.0/24 | 172.16.22.1 |
En el siguiente diagrama, se ilustran las tres subredes. Ten en cuenta que las VIP no se muestran asociadas con ningún nodo en particular en un clúster. Esto se debe a que el balanceador de cargas de MetalLB puede elegir qué nodo anuncia la VIP para un Service individual. Por ejemplo, en el clúster de usuario 1, un nodo podría anunciar 172.16.21.52 y otro nodo podría anunciar 172.16.21.53.
Direcciones IP de ejemplo: nodos del clúster de administrador
Necesitas tres direcciones IP para los nodos del clúster de administrador, que ejecutan componentes del plano de control. Por ejemplo, puedes usar las siguientes direcciones IP para los nodos de tu clúster de administrador. Las direcciones de este ejemplo son consecutivas, pero eso no es un requisito:
Direcciones IP de los nodos del clúster de administrador |
---|
172.16.20.2 - 172.16.20.4 |
Dirección IP de ejemplo: VIP del plano de control para el clúster de administrador
Debes reservar una VIP para el servidor de la API de Kubernetes del clúster de administrador.
En el archivo de configuración del clúster, se llama controlPlaneVIP
.
Por ejemplo, puedes reservar la siguiente dirección IP para usarla como VIP del plano de control del clúster de administrador:
VIP del plano de control para el clúster de administrador |
---|
172.16.20.50 |
Direcciones IP de ejemplo: Nodos del clúster de usuario 1
Ejemplo: Puedes usar las siguientes direcciones IP para tres nodos del plano de control y tres nodos trabajadores en el clúster de usuario 1. Las direcciones de este ejemplo son consecutivas, pero eso no es un requisito:
Direcciones IP para los nodos del clúster de usuario 1 |
---|
172.16.21.2 - 172.16.21.7 |
Direcciones IP de ejemplo: VIP para el clúster de usuario 1
En la siguiente tabla, se muestra un ejemplo de cómo podrías designar las VIP que se configurarán en el balanceador de cargas para el clúster de usuario 1. Los VIP de este ejemplo son consecutivos, pero eso no es un requisito:
VIP | Descripción | Dirección IP |
---|---|---|
VIP de plano de control para el clúster de usuario 1 | Configurado en el balanceador de cargas para el clúster de usuario 1 | 172.16.21.50 |
VIP de entrada para el clúster de usuario 1 | Configurado en el balanceador de cargas para el clúster de usuario 1 | 172.16.21.51 |
VIP de Service para el clúster de usuario 1 | Diez direcciones para los Services de tipo LoadBalancer .Se configura según sea necesario en el balanceador de cargas para el clúster de usuario 1. Observa que este rango incluye la VIP de entrada. Este es un requisito para el balanceador de MetalLB. |
172.16.21.51 - 172.16.21.60 |
Direcciones IP de ejemplo: Nodos de clúster de usuario 2
Ejemplo: Puedes usar las siguientes direcciones IP para los nodos del clúster de usuario 2. Las direcciones de este ejemplo son consecutivas, pero eso no es un requisito:
Direcciones IP de los nodos del clúster de usuario 2 |
---|
172.16.22.2 - 172.16.22.7 |
Direcciones IP de ejemplo: VIP para el clúster de usuario 2
En la siguiente tabla, se muestra un ejemplo de cómo podrías designar las VIP que se configurarán en el balanceador de cargas para el clúster de usuario 2. Los VIP de este ejemplo son consecutivos, pero eso no es un requisito.
VIP | Descripción | Dirección IP |
---|---|---|
VIP del plano de control para el clúster de usuario 2 | Configurado en el balanceador de cargas para el clúster de usuario 2 | 172.16.22.50 |
VIP de entrada para el clúster de usuario 2 | Configurado en el balanceador de cargas para el clúster de usuario 2 | 172.16.22.51 |
VIP de Service para el clúster de usuario 2 | Diez direcciones para los Services de tipo LoadBalancer .Se configura según sea necesario en el balanceador de cargas para el clúster de usuario 2. Observa que este rango incluye la VIP de entrada. Este es un requisito para el balanceador de cargas de MetalLB. |
172.16.22.51 - 172.16.22.60 |
Direcciones IP de ejemplo: Pods y Services
Antes de crear un clúster, debes especificar un rango CIDR para usar en las direcciones IP del Pod y otro rango en CIDR que se usará en las direcciones ClusterIP
de los servicios de Kubernetes.
Decide qué rangos CIDR quieres usar para los Pods y Services. Por ejemplo:
Objetivo | Rango de CIDR |
---|---|
Pods en el clúster de administrador | 192.168.0.0/16 |
Pods en el clúster de usuario 1 | 192.168.0.0/16 |
Pods en el clúster de usuario 2 | 192.168.0.0/16 |
Services en el clúster de administrador | 10.96.0.0/20 |
Services en el clúster de usuario 1 | 10.96.0.0/20 |
Services en el clúster de usuario 2 | 10.96.0.0/20 |
En los ejemplos anteriores, se ilustran estos puntos:
El rango de CIDR de Pod puede ser el mismo para varios clústeres en el modelo de red predeterminado del modo isla. En una red de modo plano, los Pods deben tener direcciones IP únicas en todos los clústeres. Para obtener más información sobre los modelos de red que afectan a los pods, consulta modelos de red de modo plano frente a modo isla.
El rango de CIDR de Services puede ser el mismo para varios clústeres.
Por lo general, necesitarás más Pods que Services, por lo que, para un clúster determinado, es probable que quieras un rango de CIDR de pod que sea mayor que el rango de CIDR del Service. El rango de Pod de ejemplo para un clúster de usuario es 192.168.0.0/16, que tiene 2^(32-16) = 2^16 direcciones. Sin embargo, un ejemplo de rango de Service para un clúster de usuario es de 10.96.0.0/20, que solo tiene 2^(32-20) = 2^12 direcciones.
Evita la superposición
Asegúrate de que los rangos de CIDR no se superpongan con las direcciones IP a las que se puede acceder en tu red. Los rangos de Service y Pod no deben superponerse con ninguna dirección fuera del clúster a la que deseas llegar desde dentro del clúster.
Por ejemplo, supongamos que el rango de Service es 10.96.0.0/20 y el rango de Pod es 192.168.0.0/16. El tráfico enviado desde un Pod a una dirección en cualquiera de esos rangos se tratará como tráfico en el clúster y no llegará a ningún destino fuera del clúster.
En particular, los rangos de Service y Pod no deben superponerse con lo siguiente:
Direcciones IP de nodos en cualquier clúster
Direcciones IP que usan las máquinas del balanceador de cargas
VIP que usan los balanceadores de cargas y los nodos del plano de control
Direcciones IP de los servidores DNS y NTP
Recomendamos que los rangos de Service y Pod estén en el espacio de direcciones privadas RFC 1918.
Esta es una razón para que la recomendación use direcciones RFC 1918. Supongamos que tu rango de Pod o Service contiene direcciones IP externas. Cualquier tráfico enviado desde un Pod a una de esas direcciones externas se tratará como tráfico en el clúster y no llegará al destino externo.
Variaciones en la asignación de direcciones IP
En el ejemplo que se proporciona en este documento, se muestra una forma de asignar direcciones IP para un tipo de instalación en particular. Sin embargo, existen varias maneras de instalar Google Distributed Cloud, y la variación que elijas afectará la forma en que planifiques tus direcciones IP.
Por ejemplo, puedes decidir usar clústeres sin HA o puedes optar por que los nodos del clúster se distribuyan en varios dominios de capa 2. Puedes decidir usar una red de modo plano en lugar de una red de modo isla.
Para ver ejemplos de cómo se especifican las direcciones IP en los archivos de configuración de clústeres para varios tipos de instalaciones, consulta Muestras de configuración de clústeres.
Para obtener más información sobre cómo planificar tus direcciones IP para diferentes tipos de instalaciones, consulta los siguientes documentos:
Modelo de red de modo plano frente a modo isla
En el modo plano, los Pods tienen direcciones únicas en más de un clúster. Ajusta los rangos de CIDR del Pod según corresponda.
Herramientas de redes de pila doble IPv4/IPv6
Los nodos, los pods y los Services tienen direcciones IPv4 e IPv6. La red IPv6 está en modo plano, pero la red IPv4 puede estar en modo de isla o en modo plano. En el caso de las redes de modo plano, debes organizar la accesibilidad de los Pods.
Implementa el modelo de red de modo IPv4 plano
Debes organizar la accesibilidad del Pod. Haz que el rango de pods y el rango de nodos sean subconjuntos de un rango más grande.
Implementa un modelo de red de modo plano con compatibilidad con BGP
Necesitas direcciones IP flotantes para los amplificadores de BGP en tu clúster y debes especificar las direcciones IP de los routers de intercambio de tráfico.
Configura balanceadores de cargas agrupados con BGP
Necesitas direcciones IP flotantes para los amplificadores de BGP en tu clúster y debes especificar las direcciones IP de los routers de intercambio de tráfico.
Configurar la Network Connectivity Gateway
Debes especificar las direcciones IP de intercambio de tráfico y las direcciones IP del túnel local.