Esta página descreve os recursos de rede do Google Distributed Cloud Connected, incluindo sub-redes e balanceamento de carga.
Ativar a API Distributed Cloud Edge Network
Antes de configurar a rede em uma implantação conectada do Distributed Cloud, é necessário ativar a API Distributed Cloud Edge Network. Para isso, siga as etapas nesta seção. Por padrão, os servidores do Distributed Cloud connected são enviados com a API Distributed Cloud Edge Network já ativada.
Console
No console do Google Cloud , acesse a página da API Distributed Cloud Edge Network.
Clique em Ativar.
gcloud
Use o comando a seguir:
gcloud services enable edgenetwork.googleapis.com
Configurar a rede no Google Distributed Cloud conectado
Nesta seção, descrevemos como configurar os componentes de rede na implantação conectada do Distributed Cloud.
As seguintes limitações se aplicam aos servidores conectados do Distributed Cloud:
- Só é possível configurar sub-redes, e
- As sub-redes só são compatíveis com IDs de VLAN. Sub-redes baseadas em CIDR não são compatíveis.
Uma configuração de rede típica para o Distributed Cloud Connected consiste nas seguintes etapas:
Opcional: inicialize a configuração de rede da zona de destino, se necessário.
Criar uma rede.
Crie uma ou mais sub-redes na rede.
Teste sua configuração.
Conecte os pods à rede.
Inicializar a configuração de rede da zona do Distributed Cloud
É necessário inicializar a configuração de rede da zona conectada do Distributed Cloud imediatamente após a instalação do hardware conectado do Distributed Cloud no local. A inicialização da configuração de rede de uma zona é um procedimento único.
A inicialização da configuração de rede de uma zona cria uma rede padrão chamada default.
Essa configuração fornece à sua implantação conectada do Distributed Cloud conectividade de uplink básica com sua rede local.
Para instruções, consulte Inicializar a configuração de rede de uma zona.
Criar uma rede
Para criar uma rede, siga as instruções em Criar uma rede. Você também precisa criar pelo menos uma sub-rede dentro da rede para permitir que os nós conectados do Distributed Cloud se conectem a ela.
Criar uma ou mais sub-redes
Para criar uma sub-rede, siga as instruções em Criar uma sub-rede. É preciso criar pelo menos uma sub-rede na sua rede para permitir que os nós acessem a rede. A VLAN correspondente a cada sub-rede criada fica disponível automaticamente para todos os nós na zona.
Testar a configuração
Para testar a configuração dos componentes de rede que você criou, faça o seguinte:
Conecte seus pods à rede
Para conectar seus pods à rede e configurar funções de rede avançadas, siga as instruções em Operador de função de rede. Essa funcionalidade não está disponível para cargas de trabalho máquina virtual.
(Opcional) Configurar o isolamento de rede do cluster
O Distributed Cloud Connected oferece suporte ao isolamento de rede de cluster. Os nós atribuídos a um cluster isolado da rede não podem se comunicar com outros nós na mesma zona conectada do Distributed Cloud. Para ativar o isolamento da rede do cluster, use a flag --enable-cluster-isolation ao criar ou modificar um cluster.
Para mais informações, consulte Criar e gerenciar clusters.
(Opcional) Configurar o modo isolado
O Distributed Cloud Connected oferece suporte ao modo isolado para o subsistema de rede virtual. O modo de ilha permite especificar um intervalo de endereços IP isolado em uma interface de rede secundária de um pod. Esse intervalo de endereços isolado é independente do intervalo de endereços da VLAN da interface de rede principal. Os pods configurados para o modo isolado recebem apenas endereços desse intervalo isolado. Para mais informações, consulte Modelos de rede no modo plano x ilha.
O intervalo de endereços IP isolado especificado para o modo isolado não pode entrar em conflito com os seguintes intervalos:
- O CIDR da VLAN principal para qualquer rede configurada no cluster
- O intervalo de endereços IP virtuais do balanceador de carga especificado na anotação
networking.gke.io/gdce-lb-service-vip-cidrsno recursoNetwork - Os intervalos de endereços IP usados para o modo isolado em outras redes no cluster
Configurar o modo isolado
Para configurar o modo isolado no nível do pod, adicione a anotação networking.gke.io/gdce-pod-cidr
ao recurso personalizado Network correspondente. Defina o valor da anotação como o intervalo de endereços IP isolados de destino
e aplique o recurso Network modificado ao cluster. Exemplo:
networking.gke.io/gdce-pod-cidr: 172.15.10.32/27
Você também precisa definir os seguintes parâmetros:
- O campo
typeprecisa ser definido comoL3. - O campo
IPAMModeprecisa ser definido comoInternal.
Exemplo:
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 se o modo isolado está ativado, faça o seguinte:
Crie um pod de teste e aplique-o ao cluster. Exemplo:
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"]Acesse o endereço IP do pod:
kubectl get pod island-pod-tester -o wideO comando retorna o endereço IP do pod, que está dentro do intervalo de endereços isolados especificado.
Configurar o modo isolado com o serviço ClusterIP
Para configurar o modo ilha com o serviço ClusterIP, conclua as etapas na seção anterior, adicione a anotação networking.gke.io/gke-gateway-clusterip-cidr ao recurso Network e defina o valor de acordo com as necessidades da sua empresa. Os intervalos de endereços especificados no recurso Network não podem se sobrepor. Exemplo:
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
Balanceamento de carga
O Distributed Cloud é fornecido com uma solução de balanceamento de carga de rede em pacote baseada no MetalLB no modo de Camada 2. É possível usar essa solução para expor serviços executados na sua zona do Distributed Cloud ao mundo externo usando endereços IP virtuais (VIPs) da seguinte maneira:
- O administrador de rede planeja a topologia de rede e especifica a sub-rede de endereço IPv4 virtual necessária ao fazer o pedido do Distributed Cloud. O Google configura o hardware do Distributed Cloud de acordo com suas necessidades antes da entrega.
Lembre-se do seguinte:
- Essa sub-rede de VIP é compartilhada entre todos os clusters do Kubernetes que são executados na sua zona do Distributed Cloud.
- O primeiro (ID da rede), o segundo (gateway padrão) e o último (endereço de transmissão) endereços da sub-rede são reservados para a funcionalidade principal do sistema. Não atribua esses endereços aos pools de endereços das configurações do MetalLB.
- Cada cluster precisa usar um intervalo de VIP separado que esteja dentro da sub-rede VIP configurada.
- Ao criar um cluster na sua zona do Distributed Cloud,
o administrador do cluster especifica os pools de endereços de serviço do pod e do ClusterIP
usando a notação CIDR. O administrador de rede fornece a sub-rede VIP
LoadBalanceradequada ao administrador do cluster. Depois que o cluster é criado, o administrador configura os pools de VIPs correspondentes. É necessário especificar os pools de VIPs usando a flag
--external-lb-address-poolsao criar o cluster. A flag aceita um arquivo com um payload YAML ou JSON no seguinte 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: falsePara especificar um pool de endereços VIP, forneça as seguintes informações no payload:
name: um nome descritivo que identifica exclusivamente este pool de endereços VIP.addresses: uma lista de endereços IPv4, intervalos de endereços e sub-redes a serem incluídos neste pool de endereços.avoid_buggy_ips: exclui endereços IP que terminam com.0ou.255.manual_assign: permite atribuir manualmente endereços desse pool na configuração do serviçoLoadBalancerde destino em vez de deixar que o controlador do MetalLB os atribua automaticamente.
Para mais informações sobre como configurar pools de endereços VIP, consulte Especificar pools de endereços na documentação do MetalLB.
O administrador do cluster cria os serviços
LoadBalancerdo Kubernetes adequados.
Os nós do Distributed Cloud em um único pool de nós compartilham um domínio comum da camada 2 e, portanto, também são nós do balanceador de carga do MetalLB.
ClusterDNS recurso
O Distributed Cloud Connected é compatível com o recurso ClusterDNS do Google Distributed Cloud para configurar servidores de nomes upstream para domínios específicos usando a seção spec.domains. Para mais informações sobre como configurar esse
recurso, consulte
spec.domains.