En este documento se muestra un ejemplo de cómo asignar direcciones IP a un clúster de administrador de alta disponibilidad y a dos clústeres de usuario de alta disponibilidad.
Antes de empezar
Para obtener información sobre los clústeres de administradores, los clústeres de usuarios y la alta disponibilidad, consulta Elegir un modelo de implementación.
Ejemplo de asignación de direcciones IP
En esta sección se muestra un ejemplo de cómo asignar direcciones IP en una instalación que incluye los siguientes elementos:
Direcciones IP de los nodos del clúster
Direcciones IP de pods
Direcciones IP de clúster para servicios
Direcciones IP virtuales (VIPs) de los planos de control y los proxies de entrada
VIPs que se usarán como direcciones IP externas para los servicios
Nodos de clúster de administrador
El clúster de administrador de este ejemplo tiene tres nodos. Cada nodo ejecuta componentes del plano de control.
Nodos de clúster de usuarios
En este ejemplo, cada clúster de usuario tiene seis nodos: tres nodos del plano de control y tres nodos de trabajador.
Balanceo de carga
En este ejemplo, se da por supuesto que los clústeres usan el balanceador de carga MetalLB incluido. El balanceador de carga se ejecuta en los nodos del clúster, por lo que no se necesitan máquinas adicionales para el balanceo de carga.
Subredes
En este ejemplo, supongamos que cada clúster está en su propio dominio de capa 2 y que los clústeres están en estas subredes:
Clúster | Subred | Pasarela predeterminada |
---|---|---|
Clúster de administradores | 172.16.20.0/24 | 172.16.20.1 |
Clúster de usuarios 1 | 172.16.21.0/24 | 172.16.21.1 |
Clúster de usuarios 2 | 172.16.22.0/24 | 172.16.22.1 |
En el siguiente diagrama se muestran las tres subredes. Ten en cuenta que los VIPs no se muestran asociados a ningún nodo concreto de un clúster. Esto se debe a que el balanceador de carga de MetalLB puede elegir qué nodo anuncia la dirección IP virtual de un servicio concreto. Por ejemplo, en el clúster de usuarios 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 de clúster de administrador
Necesitas tres direcciones IP para los nodos de tu clúster de administración, todos ellos ejecutan componentes del plano de control. Por ejemplo, puede usar las siguientes direcciones IP para los nodos de su clúster de administrador. Las direcciones de este ejemplo son consecutivas, pero no es un requisito:
Direcciones IP de los nodos del clúster de administración |
---|
172.16.20.2 - 172.16.20.4 |
Dirección IP de ejemplo: IP virtual del plano de control del clúster de administrador
Debes reservar una IP virtual 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:
IP virtual del plano de control del clúster de administrador |
---|
172.16.20.50 |
Ejemplo de direcciones IP: nodos del clúster de usuario 1
Por ejemplo, puedes usar las siguientes direcciones IP para tres nodos del plano de control y tres nodos de trabajador en el clúster de usuario 1. Las direcciones de este ejemplo son consecutivas, pero no es un requisito:
Direcciones IP de los nodos del clúster de usuario 1 |
---|
172.16.21.2 - 172.16.21.7 |
Ejemplo de direcciones IP: IPs virtuales del clúster de usuario 1
En la siguiente tabla se muestra un ejemplo de cómo podría designar a los VIPs para que se configuren en el balanceador de carga del clúster de usuarios 1. En este ejemplo, las IPs virtuales son consecutivas, pero no es obligatorio que lo sean:
VIP | Descripción | Dirección IP |
---|---|---|
IP virtual del plano de control del clúster de usuarios 1 | Configurado en el balanceador de carga del clúster de usuarios 1 | 172.16.21.50 |
IP virtual de Ingress del clúster de usuarios 1 | Configurado en el balanceador de carga del clúster de usuarios 1 | 172.16.21.51 |
VIPs de servicio del clúster de usuarios 1 | Diez direcciones de servicios de tipo LoadBalancer .Configurado según sea necesario en el balanceador de carga del clúster de usuarios 1. Ten en cuenta que este intervalo incluye el VIP de entrada. Este es un requisito del balanceador MetalLB. |
172.16.21.51 - 172.16.21.60 |
Ejemplo de direcciones IP: clúster de usuario con 2 nodos
Por ejemplo, puedes usar las siguientes direcciones IP para los nodos del clúster de usuario 2. Las direcciones de este ejemplo son consecutivas, pero no es un requisito:
Direcciones IP de los nodos del clúster de usuarios 2 |
---|
172.16.22.2 - 172.16.22.7 |
Direcciones IP de ejemplo: IPs virtuales del clúster de usuario 2
En la siguiente tabla se muestra un ejemplo de cómo podría designar VIPs para que se configuren en el balanceador de carga del clúster de usuarios 2. En este ejemplo, los VIPs son consecutivos, pero no es un requisito.
VIP | Descripción | Dirección IP |
---|---|---|
IP virtual del plano de control del clúster de usuarios 2 | Configurado en el balanceador de carga del clúster de usuarios 2 | 172.16.22.50 |
IP virtual de Ingress del clúster de usuarios 2 | Configurado en el balanceador de carga del clúster de usuarios 2 | 172.16.22.51 |
VIPs de servicio del clúster de usuarios 2 | Diez direcciones de servicios de tipo LoadBalancer .Configurado según sea necesario en el balanceador de carga del clúster de usuario 2. Ten en cuenta que este intervalo incluye el VIP de entrada. Este es un requisito del balanceador de carga MetalLB. |
172.16.22.51 - 172.16.22.60 |
Direcciones IP de ejemplo: pods y servicios
Antes de crear un clúster, debes especificar un intervalo CIDR que se usará para las direcciones IP de los pods y otro intervalo CIDR que se usará para las direcciones ClusterIP
de los servicios de Kubernetes.
Decide qué intervalos CIDR quieres usar para los pods y los servicios. Por ejemplo:
Finalidad | Intervalo CIDR |
---|---|
Pods del clúster de administrador | 192.168.0.0/16 |
Pods del clúster de usuarios 1 | 192.168.0.0/16 |
Pods del clúster de usuarios 2 | 192.168.0.0/16 |
Servicios del clúster de administrador | 10.96.0.0/20 |
Servicios del clúster de usuario 1 | 10.96.0.0/20 |
Servicios del clúster de usuario 2 | 10.96.0.0/20 |
Los ejemplos anteriores ilustran estos puntos:
El intervalo de CIDR de los pods puede ser el mismo para varios clústeres en el modelo de red predeterminado en modo aislado. En una red en 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 plana y de isla.
El intervalo CIDR de servicio puede ser el mismo para varios clústeres.
Normalmente, necesitas más pods que servicios, por lo que, en un clúster determinado, probablemente quieras que el intervalo CIDR de los pods sea mayor que el intervalo CIDR de los servicios. El intervalo de pods de ejemplo de un clúster de usuarios es 192.168.0.0/16, que tiene 2^(32-16) = 2^16 direcciones. Sin embargo, un intervalo de servicio de ejemplo para un clúster de usuarios es 10.96.0.0/20, que solo tiene 2^(32-20) = 2^12 direcciones.
Evita las superposiciones
Asegúrate de que tus intervalos CIDR no se solapen con las direcciones IP a las que se puede acceder en tu red. Los intervalos de servicios y pods no deben solaparse con ninguna dirección fuera del clúster a la que quieras acceder desde dentro del clúster.
Por ejemplo, supongamos que tu intervalo de servicio es 10.96.0.0/20 y tu intervalo de pods es 192.168.0.0/16. El tráfico enviado desde un pod a una dirección de cualquiera de esos intervalos se tratará como tráfico dentro del clúster y no llegará a ningún destino fuera del clúster.
En concreto, los intervalos de servicios y pods no deben solaparse con lo siguiente:
Direcciones IP de los nodos de cualquier clúster
Direcciones IP que utilizan las máquinas del balanceador de carga
IPs virtuales usadas por los nodos del plano de control y los balanceadores de carga
Direcciones IP de servidores DNS y servidores NTP
Te recomendamos que los intervalos de servicios y pods estén en el espacio de direcciones privadas de RFC 1918.
Este es uno de los motivos por los que se recomienda usar direcciones RFC 1918. Supongamos que el intervalo de tu pod o servicio contiene direcciones IP externas. El tráfico enviado desde un pod a una de esas direcciones externas se tratará como tráfico dentro del clúster y no llegará al destino externo.
Variaciones en la asignación de direcciones IP
En el ejemplo de este documento se muestra una forma de asignar direcciones IP a un tipo concreto de instalación. Sin embargo, hay varias formas de instalar Google Distributed Cloud, y la variante que elijas afectará a la forma de planificar tus direcciones IP.
Por ejemplo, puedes decidir usar clústeres que no sean de alta disponibilidad o que los nodos de tu clúster se distribuyan en varios dominios de capa 2. Puede que decidas usar una red en modo plano en lugar de una red en 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 Ejemplos de configuración de clústeres.
Para obtener más información sobre cómo planificar las direcciones IP de los distintos tipos de instalaciones, consulte los siguientes documentos:
Modelo de red plana frente a modelo de red en isla
En el modo plano, los pods tienen direcciones únicas en más de un clúster. Ajusta los intervalos CIDR de los pods en consecuencia.
-
Los nodos, los pods y los servicios tienen direcciones IPv4 e IPv6. La red IPv6 está en modo Flat, pero la red IPv4 puede estar en modo Island o Flat. En las redes de modo plano, debes organizar la accesibilidad de los pods.
Implementar el modelo de red de modo IPv4 plano
Debes organizar la accesibilidad de los pods. Crea subconjuntos del intervalo de pods y del intervalo de nodos de un intervalo mayor.
Implementar el modelo de red en modo plano con compatibilidad con BGP
Necesitas direcciones IP flotantes para los altavoces BGP de tu clúster y debes especificar las direcciones IP de los routers de peer.
Configurar balanceadores de carga agrupados con BGP
Necesitas direcciones IP flotantes para los altavoces BGP de tu clúster y debes especificar las direcciones IP de los routers de la red de pares.
Configurar Network Connectivity Gateway
Debes especificar las direcciones IP de los pares y las direcciones IP del túnel local.