Neste documento, mostramos um exemplo de como alocar endereços IP para um cluster de administrador de alta disponibilidade (HA, na sigla em inglês) e dois clusters de usuário de alta disponibilidade.
Antes de começar
Para saber mais sobre clusters de administrador, clusters de usuário e alta disponibilidade, consulte Como escolher um modelo de implantação.
Exemplo de alocação de endereço IP
Nesta seção, você verá um exemplo de como alocar endereços IP em uma instalação que contém estes elementos:
Endereços IP para nós do cluster
Endereços IP para pods
Endereços IP do cluster para Serviços
Endereços IP virtuais (VIPs) para os planos de controle e proxies de entrada
VIPs a serem usados como endereços IP externos para serviços
Nós do cluster de administrador
O cluster de administrador neste exemplo tem três nós. Cada nó executa componentes do plano de controle.
Nós do cluster de usuário
Neste exemplo, cada cluster de usuário tem seis nós: três nós do plano de controle e três nós de trabalho.
Balanceamento de carga
Neste exemplo, suponha que os clusters estejam usando o balanceador de carga MetalLB integrado. O balanceador de carga é executado nos nós do cluster. Por isso, nenhuma outra máquina é necessária para o balanceamento de carga.
Sub-redes
Para este exemplo, suponha que cada cluster esteja no próprio domínio da camada 2 e os clusters estejam nestas sub-redes:
Cluster | Sub-rede | Gateway padrão |
---|---|---|
Cluster de administrador | 172.16.20.0/24 | 172.16.20.1 |
Cluster de usuário 1 | 172.16.21.0/24 | 172.16.21.1 |
Cluster de usuário 2 | 172.16.22.0/24 | 172.16.22.1 |
O diagrama a seguir ilustra as três sub-redes. Os VIPs não são mostrados associados a um nó específico em um cluster. Isso ocorre porque o balanceador de carga do MetalLB pode escolher qual nó anuncia o VIP de um Serviço individual. Por exemplo, no cluster de usuário 1, um nó pode anunciar 172.16.21.52 e outro pode anunciar 172.16.21.53.
Exemplo de endereços IP: nós de cluster de administrador
Você precisa de três endereços IP para os nós do cluster de administrador, todos executando componentes do plano de controle. Por exemplo, é possível usar os seguintes endereços IP para nós no cluster de administrador. Os endereços neste exemplo são consecutivos, mas isso não é um requisito:
Endereços IP para nós no cluster de administrador |
---|
172.16.20.2 - 172.16.20.4 |
Exemplo de endereço IP: VIP do plano de controle para o cluster de administrador
Você precisa reservar um VIP para o servidor da API Kubernetes do cluster de administrador.
No arquivo de configuração do cluster de administrador, ele é chamado de controlPlaneVIP
.
Por exemplo, é possível reservar o seguinte endereço IP para ser usado como o VIP do plano de controle para o cluster de administrador:
VIP do plano de controle para o cluster de administrador |
---|
172.16.20.50 |
Exemplo de endereços IP: nós do cluster de usuário 1
Exemplo: é possível usar os seguintes endereços IP para três nós do plano de controle e três nós de trabalho no cluster de usuário 1. Os endereços neste exemplo são consecutivos, mas isso não é um requisito:
Endereços IP para nós no cluster de usuário 1 |
---|
172.16.21.2 - 172.16.21.7 |
Exemplos de endereços IP: VIPs para o cluster de usuário 1
A tabela a seguir mostra um exemplo de como designar VIPs para configuração no balanceador de carga para o cluster de usuário 1. Os VIPs neste exemplo são consecutivos, mas isso não é um requisito:
VIP | Descrição | Endereço IP |
---|---|---|
VIP do plano de controle para o cluster de usuário 1. | Configurado no balanceador de carga para o cluster de usuário 1 | 172.16.21.50 |
VIP de entrada para o cluster de usuário 1 | Configurado no balanceador de carga para o cluster de usuário 1 | 172.16.21.51 |
VIPs de serviço para o cluster de usuário 1 | 10 endereços para serviços do tipo LoadBalancer .Configurado conforme necessário no balanceador de carga para o cluster de usuário 1. Esse intervalo inclui o VIP de entrada. Este é um requisito do balanceador MetalLB. |
172.16.21.51 - 172.16.21.60 |
Exemplo de endereços IP: nós do cluster de usuário 2
Exemplo: é possível usar os seguintes endereços IP para nós no cluster de usuário 2. Os endereços neste exemplo são consecutivos, mas isso não é um requisito:
Endereços IP para nós no cluster de usuário 2 |
---|
172.16.22.2 - 172.16.22.7 |
Exemplos de endereços IP: VIPs para o cluster de usuário 2
A tabela a seguir mostra um exemplo de como designar VIPs para configuração no balanceador de carga para o cluster de usuário 2. Os VIPs neste exemplo são consecutivos, mas isso não é um requisito.
VIP | Descrição | Endereço IP |
---|---|---|
VIP do plano de controle para o cluster de usuário 2 | Configurado no balanceador de carga para o cluster de usuário 2 | 172.16.22.50 |
VIP de entrada para o cluster de usuário 2 | Configurado no balanceador de carga para o cluster de usuário 2 | 172.16.22.51 |
VIPs de serviço para o cluster de usuário 2 | 10 endereços para serviços do tipo LoadBalancer .Configurado conforme necessário no balanceador de carga para o cluster de usuário 2. Esse intervalo inclui o VIP de entrada. Este é um requisito para o balanceador de carga do MetalLB. |
172.16.22.51 - 172.16.22.60 |
Exemplo de endereços IP: pods e serviços
Antes de criar um cluster, é preciso especificar um
intervalo de
CIDR a ser usado para endereços IP do pod e outro intervalo CIDR a ser usado para
os endereços ClusterIP
de Serviços do Kubernetes.
Decida quais intervalos CIDR você quer usar para pods e serviços. Por exemplo:
Finalidade | Intervalo CIDR |
---|---|
Pods no cluster de administrador | 192.168.0.0/16 |
Pods no cluster de usuário 1 | 192.168.0.0/16 |
Pods no cluster de usuário 2 | 192.168.0.0/16 |
Serviços no cluster de administrador | 10.96.0.0/20 |
Serviços no cluster de usuário 1 | 10.96.0.0/20 |
Serviços no cluster de usuário 2 | 10.96.0.0/20 |
Os exemplos anteriores ilustram esses pontos:
O intervalo CIDR do pod pode ser o mesmo para vários clusters no modelo de rede padrão do modo ilha. Em uma rede de modo plano, os pods precisam ter endereços IP exclusivos em todos os clusters. Para mais informações sobre os modelos de rede que afetam os pods, consulte Modelos de rede em modo plano e de ilha.
O intervalo CIDR do serviço pode ser o mesmo para vários clusters.
Normalmente, você precisa de mais pods do que Serviços. Por isso, para um determinado cluster, você provavelmente quer um intervalo CIDR de pod maior que o intervalo CIDR de Serviço. O intervalo de exemplo de pod para um cluster de usuário é 192.168.0.0/16, que tem 2^(32-16) = 2^16 endereços. Mas o intervalo de Serviços de exemplo para um cluster de usuário é 10.96.0.0/20, que tem apenas 2^(32-20) = 2^12 endereços.
Evitar sobreposição
Verifique se os intervalos CIDR não se sobrepõem aos endereços IP que podem ser acessados na rede. Os intervalos de Serviços e pods não podem se sobrepor a nenhum endereço fora do cluster que você quer acessar de dentro dele.
Por exemplo, suponha que seu intervalo de serviço seja 10.96.0.0/20 e seu intervalo de pod seja 192.168.0.0/16. Qualquer tráfego enviado de um pod para um endereço em qualquer um desses intervalos será tratado como tráfego no cluster e não acessará qualquer destino fora dele.
Os intervalos de serviços e pods não podem se sobrepor a:
Endereços IP de nós em qualquer cluster
Endereços IP usados por máquinas de balanceador de carga
VIPs usados por nós do plano de controle e balanceadores de carga
Endereços IP de servidores DNS e NTP
Recomendamos que os intervalos de serviços e pods estejam no espaço de endereço particular RFC 1918.
Veja um motivo por que recomendamos usar endereços RFC 1918. Suponha que o intervalo de pods ou de serviços contenha endereços IP externos. Qualquer tráfego enviado de um pod para um desses endereços externos será tratado como tráfego no cluster e não chegará ao destino externo.
Variações da alocação de endereços IP
O exemplo neste documento mostra uma maneira de alocar endereços IP para um tipo específico de instalação. No entanto, há várias maneiras de instalar o Google Distributed Cloud, e a variação escolhida afetará o planejamento dos endereços IP.
Por exemplo, é possível usar clusters que não sejam de alta disponibilidade ou ter nós do cluster distribuídos em vários domínios da camada 2. É possível usar uma rede no modo plano em vez de uma rede no modo ilha.
Para ver exemplos de como os endereços IP são especificados nos arquivos de configuração do cluster para vários tipos de instalações, consulte Amostras de configuração do cluster.
Para mais informações sobre como planejar seus endereços IP para diferentes tipos de instalações, consulte os documentos a seguir:
Modelo de rede no modo plano ou ilha
No modo plano, os pods têm endereços exclusivos em mais de um cluster. Ajuste os intervalos CIDR de pod adequadamente.
-
Nós, pods e Serviços têm endereços IPv4 e IPv6. A rede IPv6 está no modo plano, mas a rede IPv4 pode estar no modo ilha ou plano. Para redes no modo plano, é preciso organizar a acessibilidade dos pods.
Implementar o modelo de rede no modo IPv4 plano
É preciso organizar a acessibilidade dos pods. Transforme os subconjuntos de intervalos de nós e intervalo de pods de um intervalo maior.
Implementar um modelo de rede no modo plano com suporte do BGP
Você precisa de endereços IP flutuantes para os alto-falantes do BGP no cluster e precisa especificar os endereços IP de roteadores de peering.
Configurar balanceadores de carga em pacote com o BGP
Você precisa de endereços IP flutuantes para os alto-falantes do BGP no cluster e precisa especificar os endereços IP de roteadores de peering.
Configurar o gateway de conectividade de rede
É preciso especificar os endereços IP de peering e endereços IP de túnel local.