Esta página explica como criar uma sub-rede global no Google Distributed Cloud (GDC) isolado e usar essa sub-rede para um balanceador de carga interno (ILB).
As sub-redes globais permitem-lhe configurar operações de equilíbrio de carga internas em várias zonas na sua organização do GDC. O balanceamento de carga oferece as vantagens de um desempenho, uma fiabilidade e uma disponibilidade melhorados das aplicações e dos serviços através da distribuição do tráfego de rede por vários servidores. Para mais informações sobre as sub-redes globais para o equilíbrio de carga, consulte o artigo Acerca das sub-redes para o equilíbrio de carga.
Esta página destina-se a programadores no grupo de operadores de aplicações que querem gerir o equilíbrio de carga para a respetiva organização. Para mais informações, consulte a documentação sobre públicos-alvo para o GDC com isolamento de ar.
Antes de começar
Para criar uma sub-rede global e configurá-la para ILBs, tem de ter o seguinte:
- Ser proprietário do projeto para o qual está a configurar o equilibrador de carga. Para mais informações, consulte Crie um projeto.
As funções de identidade e acesso necessárias:
- Peça ao administrador de IAM da organização para lhe conceder a função de administrador do Load Balancer (
load-balancer-admin
). - Peça ao administrador de IAM da organização para lhe conceder a função de administrador do Global Load Balancer (
global-load-balancer-admin
). - Peça ao administrador de IAM da organização para lhe conceder a função de administrador da organização de sub-redes (
subnet-org-admin
). Esta é uma função de administrador da plataforma para a organização. - Peça ao administrador de IAM da organização para lhe conceder a função de administrador do projeto de sub-rede (
subnet-project-admin
). Esta é uma função de operador de aplicações para o projeto.
Para mais informações, consulte as descrições de funções predefinidas.
- Peça ao administrador de IAM da organização para lhe conceder a função de administrador do Load Balancer (
Crie uma sub-rede global principal
A sub-rede global principal que cria nesta secção serve como o conjunto de endereços IP
a partir do qual os endereços IP do ILB são obtidos. Especifica os pais das sub-redes
usando o campo spec.parentReference.name
.
Tem duas opções para configurar o CIDR para esta sub-rede principal:
- Crie uma sub-rede com uma configuração CIDR estática
- Crie uma sub-rede com uma configuração CIDR dinâmica
Para mais informações sobre a diferença entre as configurações CIDR estáticas e dinâmicas, consulte o artigo Configuração CIDR estática e dinâmica.
Crie uma sub-rede com uma configuração CIDR estática
Use uma configuração CIDR estática quando precisar de um controlo preciso sobre o seu espaço de endereços IP.
Esta sub-rede tem um tipo de Branch
. Para mais informações sobre os tipos de sub-redes raiz, ramificação e folha, consulte o artigo Hierarquia de sub-redes.
Para criar uma sub-rede principal global com uma configuração CIDR estática, adicione o bloco CIDR escolhido ao campo spec.ipv4Request.cidr
:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/vpc: default-vpc
name: ILB_PARENT_SUBNET_NAME
namespace: platform
spec:
ipv4Request:
cidr: STATIC_CIDR
parentReference:
name: PARENT_NAME
namespace: platform
propagationStrategy: None
type: Branch
EOF
Substitua o seguinte:
GLOBAL_API_SERVER
: o caminho kubeconfig do servidor de gestão global. Para mais informações, consulte os servidores da API globais e zonais. Se ainda não gerou um ficheiro kubeconfig para o servidor da API, consulte Iniciar sessão para ver detalhes.ILB_PARENT_SUBNET_NAME
: o nome escolhido para a sub-rede principal global do ILB.STATIC_CIDR
: o bloco CIDR específico que quer atribuir a esta sub-rede principal, como10.0.10.0/27
.PARENT_NAME
: o nome da sub-rede principal existente a partir da qual esta nova sub-rede é criada.
Para configurar esta sub-rede de modo a funcionar com ILBs, tem de criar uma sub-rede folha para o ILB.
Crie uma sub-rede com uma configuração CIDR dinâmica
A configuração dinâmica de CIDR atribui automaticamente um bloco de CIDR disponível
de um tamanho especificado da sub-rede principal. Isto simplifica a gestão de endereços IP, especialmente em ambientes grandes.
Esta sub-rede tem um tipo de Branch
. Para mais informações sobre os tipos de sub-redes raiz, ramificação e folha, consulte o artigo Hierarquia de sub-redes.
Para criar uma sub-rede principal global com um CIDR dinâmico, configure o campo spec.ipv4Request.prefixLength
com o comprimento do prefixo escolhido:
kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/vpc: default-vpc
name: ILB_PARENT_SUBNET_NAME
namespace: platform
spec:
ipv4Request:
prefixLength: PREFIX_LENGTH
parentReference:
name: PARENT_NAME
namespace: platform
propagationStrategy: None
type: Branch
EOF
Substitua o seguinte:
ILB_PARENT_SUBNET_NAME
: o nome escolhido para a sub-rede principal do ILB, comolb-global-lancer-ilb-subnet
.STATIC_CIDR
: o bloco CIDR específico que quer usar, como10.0.10.0/27
. Esta variável só é aplicável à configuração CIDR estática.PARENT_NAME
: o nome da sub-rede principal existente a partir da qual esta nova sub-rede é criada, comodefault-vpc-workload-cidr
.PREFIX_LENGTH
: o comprimento do prefixo escolhido para o CIDR alocado dinamicamente, como27
. Esta variável só é aplicável à configuração CIDR dinâmica.
Para configurar esta sub-rede de modo a funcionar com ILBs, tem de criar uma sub-rede folha para o ILB.
Crie uma sub-rede folha para o ILB
Depois de configurar a sub-rede principal global, tem de criar uma sub-rede folha para
atribuir um único endereço IP ao serviço ILB global. Esta sub-rede folha tem de ter um valor do campo type
de Leaf
e tem de residir no mesmo espaço de nomes do projeto que os recursos do equilibrador de carga, como ForwardingRule
, BackendService
e Backend
.
Para criar a sub-rede folha e associá-la ao ILB, siga estes passos:
Crie uma sub-rede folha com um valor
prefixLength
de32
, uma vez que se destina a atribuir um único endereço IP. O valorparentReference
faz referência à sub-rede global principal criada anteriormente:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/allocation-preference: default ipam.gdc.goog/vpc: default-vpc name: ILB_IP_SUBNET_NAME namespace: PROJECT_NAMESPACE spec: ipv4Request: prefixLength: 32 parentReference: name: PARENT_REF namespace: platform type: Leaf EOF
Substitua o seguinte:
ILB_IP_SUBNET_NAME
: o nome escolhido para a sub-rede de folha, comolb-project-ilb-ip
.PROJECT_NAMESPACE
: o namespace do Kubernetes correspondente ao seu projeto onde os objetos ILB estão localizados, por exemplo,lb-project
.PARENT_REF
: o nome da sub-rede principal a partir da qual esta sub-rede folha obtém o respetivo endereço IP, como a sub-rede global principal que criou anteriormente.
Associe a sub-rede folha recém-criada, que contém o endereço IP atribuído, ao recurso
ForwardingRuleInternal
do ILB. No recursoForwardingRuleInternal
, atualize o campospec.cidrRef.name
para referenciar o nome da sub-rede folha que criou no passo anterior:kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF apiVersion: networking.global.gdc.goog/v1 kind: ForwardingRuleInternal metadata: name: FRI_NAME namespace: PROJECT_NAMESPACE spec: ports: - port: PORT protocol: PROTOCOL backendServiceRef: name: BES_NAME cidrRef: name: LEAF_SUBNET_NAME EOF
Substitua o seguinte:
FRI_NAME
: o nome escolhido para o objetoForwardingRuleInternal
, comonginx-ilb-static-fr
.PORT
: o número da porta na qual o ILB escuta o tráfego recebido, como80
.PROTOCOL
: o protocolo de rede que o ILB usa, comoTCP
ouUDP
.BES_NAME
: o nome doBackendService
associado a este recursoForwardingRuleInternal
, comonginx-bes
.LEAF_SUBNET_NAME
: o nome da sub-rede folha que criou no passo anterior, comolb-project-ilb-ip
.