Existem sub-redes raiz globais atribuídas para cada zona isolada do Google Distributed Cloud (GDC) com a sub-rede da API pública de gestão de endereços IP (IPAM). As sub-redes raiz globais alojam o conjunto de endereços IP raiz (CIDR) que é dividido em cada zona para arrancar todos os clusters na organização do inquilino, incluindo o cluster de infraestrutura da organização e as VMs de carga de trabalho. Uma pequena parte do intervalo de endereços IP também é disponibilizada às sub-redes raiz como o conjunto de endereços IP de anycast.
Depois de criar uma organização, pode concluir as seguintes tarefas operacionais para as sub-redes no seu universo do GDC:
- Crie as sub-redes necessárias para uma nova zona.
- Crie sub-redes adicionais para uma zona existente.
- Crie sub-redes de nós adicionais para a organização.
Crie sub-redes globais de intervalo raiz para a nova zona
Cada zona tem de ter sub-redes globais de intervalo de raiz. Durante a fase de inicialização da organização do universo do GDC, cada zona tem as sub-redes globais geradas automaticamente. No entanto, se for adicionada uma nova zona após a instalação inicial, tem de criar manualmente as sub-redes globais do intervalo de raiz para a nova zona.
Defina o intervalo CIDR para as sub-redes do intervalo raiz da rede da nova zona
Semelhante às orientações de instalação da organização para definir um intervalo CIDR, os intervalos CIDR não podem sobrepor-se entre si nem sobrepor-se à zone-infra-cidr e às sub-redes globais raiz existentes, que são sub-redes com a etiqueta ipam.gdc.goog/usage: network-root-range na respetiva especificação de recurso personalizado.
O zone-infra-cidr existe em cada zona e pode ser obtido no Questionário de
Admissão de Clientes (CIQ) se o cliente o tiver definido.
Para obter o
zone-infra-cidr, execute o seguinte comando:kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get cidrclaim -n gpc-system zone-infra-cidrTenha em atenção o intervalo CIDR.
Tem de ter um espaço de nomes com um nome que corresponda ao nome que vai atribuir à sua organização. Confirme se este espaço de nomes existe:
kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get namespace ORG_NAMERecupere as sub-redes globais raiz existentes:
Para o cluster de administrador raiz global, execute:
kubectl –kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get subnet \ -n ORG_NAME -l ipam.gdc.goog/usage=network-root-rangePara o servidor da API de administrador da organização global, execute:
kubectl –kubeconfig GLOBAL_ORG_API_SERVER_KUBECONFIG get subnet \ -n platform -l ipam.gdc.goog/usage=network-root-rangeTome nota de todos os intervalos CIDR da saída.
Confirme que os novos intervalos CIDR planeados não se sobrepõem a nenhum dos intervalos CIDR anteriores.
Depois de confirmar que o novo intervalo CIDR é válido para a nova zona, confirme que o intervalo CIDR cumpre as seguintes regras:
| Campo de intervalo CIDR. | Tamanho mínimo | VPC/VRF | Servidor de API global |
|---|---|---|---|
zoneInfraVPCCIDR |
17 | VPC de infraestrutura | Raiz global |
zoneDefaultVPCCIDR |
18 | VPC predefinido | Organização global |
zoneOrgAdminExternalCIDR |
23 | Segmento de rede de administrador | Raiz global |
zoneOrgDataExternalCIDR |
23 | Segmento de rede de dados | Raiz global |
Crie sub-redes no servidor da API de administrador global raiz
Para criar as sub-redes no servidor da API de administrador principal global, conclua os seguintes passos:
Liste as zonas no seu universo e encontre o nome da nova zona:
kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get zone -ACrie a sub-rede
infra-vpcda gama raiz da rede da zona para a nova zona da organização:kubectl apply -f --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/vpc: infra-vpc ipam.gdc.goog/usage: zone-network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: infra-vpc-NEW_ZONE_NAME-root-cidr namespace: ORG_NAME spec: ipv4Request: cidr: zoneInfraVPCCIDR zone: NEW_ZONE_NAME propagationStrategy: SingleZone type: Root EOFCrie o segmento de rede de dados da sub-rede do intervalo raiz da rede da zona para a nova zona da organização:
kubectl apply -f --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/network-segment: data ipam.gdc.goog/usage: zone-network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: data-external-NEW_ZONE_NAME-root-cidr namespace: ORG_NAME spec: ipv4Request: cidr: zoneOrgDataExternalCIDR zone: NEW_ZONE_NAME propagationStrategy: SingleZone type: Root EOFCrie a sub-rede do segmento de rede do administrador do intervalo raiz da rede da zona para a nova zona da organização:
kubectl apply -f --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/network-segment: admin ipam.gdc.goog/usage: zone-network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: admin-external-NEW_ZONE_NAME-root-cidr namespace: ORG_NAME spec: ipv4Request: cidr: zoneOrgAdminExternalCIDR zone: NEW_ZONE_NAME propagationStrategy: SingleZone type: Root EOF
Crie sub-redes no servidor da API de administrador da organização global
Tem de criar a sub-rede da VPC predefinida no servidor da API do administrador da organização global
no espaço de nomes platform depois de o servidor da API estar em execução.
Crie e aplique o seguinte Subnet recurso personalizado:
kubectl apply -f --kubeconfig=GLOBAL_ORG_API_SERVER_KUBECONFIG - <<EOF
apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
labels:
ipam.gdc.goog/vpc: default-vpc
ipam.gdc.goog/usage: zone-network-root-range
name: default-vpc-NEW_ZONE_NAME-root-cidr
namespace: platform
spec:
type: Root
ipv4Request:
cidr: zoneDefaultVPCCIDR
zone: NEW_ZONE_NAME
propagationStrategy: SingleZone
EOF
Aumente a escala das sub-redes
O recurso público Subnet não suporta o aumento da escala automaticamente. Para adicionar
mais intervalos CIDR a uma VPC ou um segmento de rede gerido pelo cliente, tem
de criar novas sub-redes e agrupá-las com determinadas etiquetas. Devido ao acesso necessário ao cluster de administrador principal, um cliente não pode aumentar as suas sub-redes de forma independente.
Regras de agrupamento de sub-redes
As sub-redes são agrupadas em diferentes categorias por etiquetas:
| Categoria | Etiqueta |
|---|---|
| VPC predefinido | ipam.gdc.goog/vpc: default-vpc |
| VPC de infraestrutura | ipam.gdc.goog/vpc: infra-vpc |
| Segmento de rede de administrador | ipam.gdc.goog/network-segment: admin |
| Segmento de rede de dados | ipam.gdc.goog/network-segment: data |
Durante o arranque inicial, foram especificados quatro intervalos CIDR no
Questionário de admissão da organização (OIQ). Essas quatro sub-redes globais foram criadas no servidor da API global durante a criação da organização do cliente.
Essas sub-redes globais são o intervalo CIDR de nível raiz para cada categoria em todas as zonas de uma organização. Todas as sub-redes globais ao nível da raiz têm a etiqueta
ipam.gdc.goog/usage: network-root-range.
Para cada zona, é criada uma sub-rede global secundária no servidor da API global, dividindo-a das sub-redes ao nível da raiz. Cada sub-rede global secundária aloja o intervalo CIDR para uma categoria na zona específica e tem a etiqueta ipam.gdc.goog/usage: zone-network-root-range. A sub-rede global secundária de uma zona é propagada automaticamente para a zona específica.
Exemplos de utilização típicos da melhoria
Para a atribuição mais eficiente de sub-redes adicionais para aumentar a escala das suas sub-redes existentes, considere os exemplos de utilização recomendados para cada categoria de sub-rede. Determine a categoria que quer aumentar antes de iniciar o processo de aumento.
VPC predefinido
As sub-redes na default-vpc são usadas principalmente para atribuir os CIDRs de pods e serviços para o cluster de serviços partilhados, o cluster de utilizadores e o default-vpc-default-node-subnet para o endereço IP do nó do cluster e o endereço IP da carga de trabalho para a organização.
A falha na criação de um cluster de utilizadores é um cenário comum em que pode ser necessário aumentar a escala da sub-rede.
A criação de um cluster de utilizadores pode falhar devido à incapacidade de encontrar a sub-rede principal para o CIDR do pod ou do serviço do cluster de utilizadores. Uma mensagem de exemplo para esta falha é semelhante à seguinte:
could not find parent for subnet platform/user-vm-1-service-cidr
Este problema pode dever-se a vários motivos diretamente relacionados com a necessidade de aumentar a escala de uma sub-rede. Considere os seguintes passos para confirmar:
Verifique os campos
podCIDRSizeeserviceCIDRSizena secção.spec.clusterNetworkdo recurso personalizadoCluster:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get cluster \ -n platform USER_CLUSTER_NAME -oyamlO resultado tem um aspeto semelhante ao seguinte:
Example: spec: clusterNetwork: podCIDRSize: 20 serviceCIDRSize: 20Encontre as sub-redes principais da sub-rede existente:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet -n platform -l \ ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage=zone-network-root-rangeO resultado tem um aspeto semelhante ao seguinte:
Example: NAME PARENT READY IPV4 CIDR IPV6 CIDR default-vpc-zone0-cidr True 198.51.100.0/18Encontre todas as sub-redes atribuídas pelas sub-redes principais:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet -n platform -l \ ipam.gdc.goog/vpc=default-vpc,ipam.gdc.goog/usage!=zone-network-root-rangeO resultado tem um aspeto semelhante ao seguinte:
Example: default-vpc-default-node-subnet {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.100.0/23 g-org-1-shared-service-pod-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.16.0/20 g-org-1-shared-service-service-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.2.0/23 user-vm-1-pod-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.8.0/21 user-vm-1-service-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.4.0/23 user-vm-2-pod-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.32.0/21 user-vm-2-service-cidr {"name":"default-vpc-zone0-cidr","namespace":"platform"} True 198.51.6.0/23
Neste exemplo, um CIDR principal /18 atribuiu quatro CIDRs /23, um CIDR /20, dois CIDRs /21 e o novo cluster de utilizadores está a pedir um CIDR /20 para podCIDRSize e um CIDR /20 para serviceCIDRSize, o que é insuficiente.
Neste caso, tem de adicionar mais sub-redes para uma categoria para a VPC predefinida.
VPC de infraestrutura
As sub-redes na infra-vpc são usadas principalmente para atribuir os CIDRs de serviços e pods de uma organização para o cluster de infraestrutura da organização e o cluster de perímetro, bem como o endereço IP do nó para o cluster de perímetro.
Uma vez que isto pertence à configuração da infraestrutura GDC interna e cada organização tem apenas um cluster de infraestrutura da organização e um cluster de perímetro, normalmente, o infra-vpc não precisa de operações de expansão.
Segmento de rede de administrador
As sub-redes no segmento de rede de administração são usadas principalmente para atribuir endereços IP no encaminhamento e reencaminhamento virtuais (VRF) de administração da organização. Existe uma sub-rede de nó predefinida ou a sub-rede com informações de gateway criada na organização. Essa sub-rede predefinida atribui o endereço IP para o endereço IP do nó do cluster da infraestrutura da organização e o endereço IP do nó do cluster do perímetro.
Uma vez que o segmento de rede de administrador pertence à configuração da infraestrutura do GDC interno, e cada organização só pode ter um cluster de infraestrutura da organização e um cluster de perímetro, normalmente, esta sub-rede não precisa de ser aumentada.
Segmento de rede de dados
As sub-redes no segmento de rede de dados são usadas principalmente para atribuir endereços IP no VRF de dados da organização. Existe uma sub-rede de nós predefinida ou uma sub-rede com informações de gateway criada na organização. Essa sub-rede predefinida atribui os endereços IP para o endereço IP do nó do cluster de infraestrutura da organização e o endereço IP do nó do cluster de perímetro.
Uma vez que o segmento de rede de dados pertence à configuração da infraestrutura do GDC interno, e cada organização só pode ter um cluster de infraestrutura da organização e um cluster de perímetro, normalmente, esta sub-rede não precisa de ser aumentada.
Adicione mais sub-redes para uma categoria
Pode adicionar mais sub-redes para uma categoria com base no tipo de sub-rede. Os seguintes tipos são elegíveis para a adição de mais sub-redes:
- VPC de infraestrutura
- Segmento de rede de administrador
- Segmento de rede de dados
- VPC predefinido
Determine o tipo de sub-rede para o qual quer adicionar mais sub-redes e, em seguida, conclua os seguintes passos para esse tipo de sub-rede:
No servidor da API de administrador raiz global, obtenha o tipo de sub-rede raiz e verifique o respetivo campo CIDR
maskSizedesubnet.status.ipv4Allocation.cidr:kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get subnet -n ORG_NAME \ -l ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage=network-root-rangeSubstitua o seguinte:
GLOBAL_ROOT_ADMIN_KUBECONFIG: o caminho para o ficheiro kubeconfig do cluster de administrador raiz.ORG_NAME: o nome da organização.SUBNET_TYPE: o tipo de sub-rede, comovpc=infra-vpc,network-segment=admin,network-segment=dataouvpc=default-vpc.
Tenha em atenção este valor como o CIDR total, que será referenciado mais tarde.
Obtenha todas as sub-redes secundárias da sub-rede raiz e verifique cada campo CIDR
maskSizedesubnet.status.ipv4Allocation.cidr:kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG get subnet -n ORG_NAME \ -l ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage!=network-root-rangeRegiste cada valor como o CIDR usado, que será referenciado mais tarde.
Calcule o CIDR disponível da sub-rede com base no CIDR total e no CIDR usado. Se o CIDR disponível não for suficientemente grande para atribuir a nova sub-rede, adicione uma nova sub-rede global de intervalo de raiz de rede. Em seguida, avance para o passo seguinte.
Crie a nova sub-rede no servidor da API de administrador principal global:
kubectl --kubeconfig GLOBAL_ROOT_ADMIN_KUBECONFIG apply -f - <<EOF apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/SUBNET_TYPE_LABEL ipam.gdc.goog/usage: zone-network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: SUBNET_NAME namespace: ORG_NAME spec: ipv4Request: prefixLength: CIDR_PREFIX_LENGTH zone: ZONE_NAME propagationStrategy: SingleZone type: Branch parentReference: name: PARENT_SUBNET_NAME namespace: ORG_NAME EOFSubstitua o seguinte:
GLOBAL_ROOT_ADMIN_KUBECONFIG: o caminho para o ficheiro kubeconfig do cluster de administrador raiz.SUBNET_TYPE_LABEL: o tipo de sub-rede, que tem de ser um dos seguintes valores:vpc: infra-vpc,network-segment: admin,network-segment: dataouvpc: default-vpc.SUBNET_NAME: o nome da nova sub-rede.ORG_NAME: o nome da organização.CIDR_PREFIX_LENGTH: o comprimento do prefixo da nova sub-rede, como20.ZONE_NAME: o nome da zona da sub-rede, comozone1.PARENT_SUBNET_NAME: o nome da sub-rede principal, comoinfra-vpc-root-cidr,admin-external-root-cidr,data-external-root-cidroudefault-vpc-root-cidr.
Verifique se a sub-rede está pronta, verificando se o respetivo tipo de estado
Readyétrue.Verifique se foi criada uma sub-rede global no servidor de API global da organização e se está pronta:
kubectl --kubeconfig GLOBAL_ORG_ADMIN_KUBECONFIG get subnet -n NAMESPACE -l \ ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage=zone-network-root-rangeSubstitua NAMESPACE pelo espaço de nomes da sub-rede. Use
infra-networkpara a sub-redeinfra-vpceplatformpara os outros tipos de sub-redes.Verifique se a sub-rede zonal foi criada no espaço de nomes da organização do cluster de administrador raiz e se está pronta:
kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get subnet -n ORG_NAME \ -l ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage=zone-network-root-rangeVerifique se a sub-rede zonal foi criada no servidor da API Management no espaço de nomes
platforme se está pronta:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get subnet -n NAMESPACE \ -l ipam.gdc.goog/SUBNET_TYPE,ipam.gdc.goog/usage=zone-network-root-range
A expansão da sub-rede para a sua organização na zona especificada está concluída. Os seus administradores podem criar mais sub-redes secundárias a partir da nova sub-rede.
Adicione um novo intervalo de raiz da rede, uma sub-rede global
As sub-redes globais com a etiqueta ipam.gdc.goog/usage: network-root-range alojam o CIDR para todas as zonas desta categoria. Se for usado, tem de criar uma nova sub-rede no servidor de API global.network-root-range Pode criar várias sub-redes globais raiz, se necessário.
Para criar uma nova network-root-range sub-rede, conclua os seguintes passos:
Crie um ficheiro YAML, como
subnet-network-root.yaml, para o novo intervalo raiz da rede sub-rede global:apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/SUBNET_TYPE ipam.gdc.goog/usage: network-root-range annotations: ipam.gdc.goog/pivot-destination: global-org name: SUBNET_NAME namespace: ORG_NAME spec: ipv4Request: cidr: NEW_CIDR type: RootSubstitua o seguinte:
SUBNET_TYPE: o tipo de sub-rede, que tem de ser um dos seguintes valores:vpc: infra-vpc,network-segment: admin,network-segment: dataouvpc: default-vpc.API_SERVER_ANNOTATION: a anotação para identificar que esta sub-rede tem de mudar para outro servidor de API. Parainfra-vpcou os segmentos de rede de administrador e de dados, useipam.gdc.goog/pivot-destination: global-org. Se estiver a adicionar um novo intervalo de raizdefault-vpc, não defina esta anotação.SUBNET_NAME: o nome da nova sub-rede.ORG_NAME: o nome da organização.NEW_CIDR: o novo CIDR para a sub-rede. Este CIDR não pode sobrepor-se a nenhum CIDR em todas as sub-redes existentes com a etiquetaipam.gdc.goog/usage: network-root-rangeno mesmo servidor da API de administração global de raiz.