Esta página descreve os recursos de rede do Google Distributed Cloud conectado, 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 fazer isso, conclua as etapas desta seção. Por padrão, os servidores conectados do Distributed Cloud são enviados com a API Distributed Cloud Edge Network já ativada.
Console
No Google Cloud console, 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 Distributed Cloud conectado
Esta seção descreve 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.
- As sub-redes só oferecem suporte a IDs de VLAN. As sub-redes baseadas em CIDR não são aceitas.
Uma configuração de rede típica para o Distributed Cloud conectado 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 seus 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 à implantação conectada do Distributed Cloud conectividade de uplink básica à rede local.
Para instruções, consulte Inicializar a configuração de rede de uma zona.
Criar uma rede
Para criar uma nova rede, siga as instruções em Criar uma rede. Também é necessário criar pelo menos uma sub-rede na rede para permitir que os nós conectados do Distributed Cloud se conectem à rede.
Criar uma ou mais sub-redes
Para criar uma sub-rede, siga as instruções em Criar uma sub-rede. É necessário criar pelo menos uma sub-rede na 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 criados, faça o seguinte:
Conectar 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 conectado oferece suporte ao isolamento de rede do 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 de 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 de ilha
O Distributed Cloud conectado oferece suporte ao modo de ilha para o subsistema de rede virtual. O modo de ilha permite especificar um intervalo de endereços IP isolado na 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 de ilha recebem apenas endereços desse intervalo de endereços "ilha" 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 de ilha não pode entrar em conflito com os seguintes intervalos de endereços IP:
- 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 de ilha para outras redes no cluster
Configurar o modo de ilha
Para configurar o modo de ilha 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 isolado de destino e aplique o recurso Network modificado ao cluster. Exemplo:
networking.gke.io/gdce-pod-cidr: 172.15.10.32/27
Também é necessário definir os seguintes parâmetros:
typeprecisa ser definido comoL3.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 de ilha 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"]Consiga 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 isolado especificado.
Configurar o modo de ilha com o serviço ClusterIP
Para configurar o modo de ilha com o serviço ClusterIP, conclua as etapas da seção anterior e 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 agrupada com base no MetalLB no modo de camada 2. É possível usar essa solução para expor serviços executados na 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 isso antes da entrega.
Tenha em mente o seguinte:
- Essa sub-rede VIP é compartilhada entre todos os clusters do Kubernetes executados na zona do Distributed Cloud.
- O primeiro (ID da rede), o segundo (gateway padrão) e o último (endereço de transmissão ) endereços na 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 zona do Distributed Cloud, o administrador do cluster especifica os pools de endereços de serviço de pod e ClusterIP usando a notação CIDR. O administrador de rede fornece a sub-rede VIP
LoadBalancerapropriada ao administrador do cluster. Depois que o cluster é criado, o administrador do cluster configura os pools de VIP correspondentes. É necessário especificar os pools de VIP 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 esse pool de endereços VIP.addresses: uma lista de endereços IPv4, intervalos de endereços e sub-redes a serem incluídos nesse 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ço de destinoLoadBalancer, em vez de fazer com 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 Kubernetes
LoadBalancerapropriados.
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. Ao seguir estas etapas, o balanceamento de carga da camada 2 com o MetalLB é configurado automaticamente.
Recurso ClusterDNS
O Distributed Cloud conectado oferece suporte ao 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.