Em um universo isolado do Google Distributed Cloud (GDC), é possível criar organizações v1 ou v2 que abrangem várias zonas. No entanto, há dois cenários de criação de organização que exigem configurações adicionais de CIDR antes da criação:
- Crie uma organização v1 em uma nova zona.
- Crie uma organização v2 em uma zona que já tinha uma organização v1.
As seções a seguir abordam esses cenários e os pré-requisitos que você precisa concluir antes de criar a organização.
Configurar as definições de CIDR para a organização v1 na nova zona
Não é possível provisionar uma organização da v1 em uma nova zona por padrão, já que muitas reivindicações de CIDR exigidas pela organização da v1 já estão atribuídas à organização raiz.
Você também precisa usar o recurso de endereço IP personalizado atual para a organização v1.
Configurações de CIDR do plano
Reúna as configurações de CIDR atuais configuradas na sua zona para evitar a sobreposição de CIDR na nova organização v1.
Imprima o recurso
zone-infra-cidrCIDRClaimatual:kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG get cidrclaim \ -n gpc-system zone-infra-cidrVerifique os campos
status.ipv4AllocationStatus.cidrBlocksestatus.ipv6AllocationStatus.cidrBlocksdo recursoCIDRClaimna saída.Por exemplo, o recurso
CIDRClaima seguir reservou os blocos CIDR192.0.2.0/21,198.51.100.0/26,203.0.113.0/23e2001:db8::/66:apiVersion: system.private.gdc.goog/v1alpha1 kind: CIDRClaim metadata: name: zone-infra-cidr namespace: gpc-system spec: ipv4Spec: staticCidrBlocks: - 192.0.2.0/21 - 198.51.100.0/26 - 203.0.113.0/23 ipv6Spec: staticCidrBlocks: - 2001:db8::/66 status: ipv4AllocationStatus: cidrBlocks: - 192.0.2.0/21 - 198.51.100.0/26 - 203.0.113.0/23 ipv6AllocationStatus: cidrBlocks: - 2001:db8::/66Anote esses blocos CIDR para evitar usá-los ao criar o CIDR externo e interno personalizados para sua organização.
Verifique o
zone-infra-cidrde cada zona e observe que os blocos CIDR atuais não são usados. Assim, você evita usá-los ao criar o CIDR personalizado para sua organização. Para mudar contextos zonais, use a CLI gdcloud.Imprima todas as sub-redes atuais com o rótulo
network-root-range:kubectl --kubeconfig=GLOBAL_ROOT_ADMIN_KUBECONFIG get subnet \ -l ipam.gdc.goog/usage=network-root-range -AVerifique os campos
status.ipv4Allocation.cidrestatus.ipv6Allocation.cidrde cada recursoSubnet.Por exemplo, o
infra-vpc-root-cidra seguir reservou o CIDR192.0.2.0/15:apiVersion: ipam.global.gdc.goog/v1 kind: Subnet metadata: labels: ipam.gdc.goog/usage: network-root-range ipam.gdc.goog/vpc: infra-vpc name: infra-vpc-root-cidr namespace: org-1 spec: ipv4Request: cidr: 192.0.2.0/15 propagationStrategy: None type: Root status: ipv4Allocation: cidr: 192.0.2.0/15Anote esses CIDRs para evitar usá-los ao criar o CIDR externo e interno personalizados para sua organização.
Configurar endereço IP personalizado
Como parte do processo de bootstrap da organização v1, os CIDRs externos e internos personalizados são necessários como entrada para o recurso personalizado global OrganizationZonalConfig para oferecer suporte ao bootstrap da organização global v1.
Na especificação do recurso OrganizationZonalConfig, adicione as configurações personalizadas de endereço IP para o CIDR externo e o CIDR interno. Os CIDRs externos e internos personalizados são instanciados nas declarações de CIDR org-namespace/org-custom-external-cidr e org-namespace/org-custom-internal-cidr, respectivamente, para a organização zonal. Todas as outras declarações de CIDR e de sub-rede desta organização são filhas destas duas declarações de CIDR:
...
spec:
capacities:
customIPConfig:
externalCIDRs:
- CUSTOM_EXTERNAL_CIDR
internalCIDRs:
- CUSTOM_INTERNAL_CIDR
...
As seguintes condições precisam ser verdadeiras para os CIDR externos e internos personalizados:
- Exclusivo no recurso
OrganizationZonalConfigpara cada zona. - Único no recurso
OrganizationZonalConfigpara cada organização v1 em todas as zonas. - Não pode se sobrepor ao
zone-infra-cidrde cada zona. - Não é possível sobrepor com nenhuma sub-rede global com o rótulo
ipam.gdc.goog/usage=network-root-range.
Depois que esses requisitos forem atendidos, continue as etapas de bootstrap da organização padrão para fazer o bootstrap da organização v1 na nova zona.
Configurar as definições de CIDR para a organização v2 na zona atual
Para provisionar uma organização da v2 em uma zona atual, crie manualmente o
recurso CIDRClaim gpc-system/zone-infra-cidr. Também é necessário garantir que o bloco CIDR na nova declaração não se sobreponha a:
As reivindicações de CIDR
gpc-system/instance-na zona.Qualquer reivindicação de CIDR
gpc-system/zone-infra-cidrougpc-system/instance-em outras zonas do universo.
Configurações de CIDR do plano
Imprima os recursos
CIDRClaimatuais:kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG get cidrclaim -n gpc-systemVerifique os campos
status.ipv4AllocationStatus.cidrBlocksestatus.ipv6AllocationStatus.cidrBlocksde cada recursoCIDRClaimna saída.Por exemplo, o recurso
CIDRClaima seguir reservou os blocos CIDR192.0.2.0/21,198.51.100.0/26,203.0.113.0/23e2001:db8::/66:apiVersion: system.private.gdc.goog/v1alpha1 kind: CIDRClaim metadata: name: instance-external-cidr namespace: gpc-system spec: ipv4Spec: staticCidrBlocks: - 192.0.2.0/21 - 198.51.100.0/26 - 203.0.113.0/23 ipv6Spec: staticCidrBlocks: - 2001:db8::/66 status: ipv4AllocationStatus: cidrBlocks: - 192.0.2.0/21 - 198.51.100.0/26 - 203.0.113.0/23 ipv6AllocationStatus: cidrBlocks: - 2001:db8::/66Anote esses blocos CIDR para evitar usá-los ao criar o
zone-infra-cidrpara sua organização v2.
Criar a reivindicação de CIDR zone-infra-cidr
Encontre e anote as seguintes declarações de CIDR com o namespace
gpc-systemem cada zona do seu universo:instance-external-cidrinstance-internal-pod-network-cidrinstance-internal-cluster-ip-cidrinstance-internal-physical-network-cidrinstance-internal-cidrzone-infra-cidr
Por exemplo, o comando a seguir retorna as declarações de CIDR
instance-external-cidrpara a zona atual:kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG get cidrclaim -n gpc-system instance-external-cidrPara alternar contextos zonais, use a CLI gdcloud.
Crie um recurso
CIDRClaimchamadozone-infra-cidrque não se sobreponha às reivindicações de CIDR verificadas anteriormente:kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG apply -f - <<EOF apiVersion: system.private.gdc.goog/v1alpha1 kind: CIDRClaim metadata: name: zone-infra-cidr namespace: gpc-system spec: ipv4Spec: staticCidrBlocks: - IPV4_CIDR ipv6Spec: staticCidrBlocks: - IPV6_CIDR EOFOs CIDRs IPv4 e IPv6 precisam ser exclusivos e não podem se sobrepor a nenhuma reivindicação de CIDR
instance-no namespacegpc-systemna zona atual ou em qualquer outra zona.Verifique o status do
zone-infra-cidrpara garantir que ele esteja pronto:kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG \ get cidrclaim -n gpc-system zone-infra-cidrDepois que a reivindicação de CIDR for
Ready, continue com as etapas padrão de bootstrap da organização para fazer o bootstrap da organização v2 na nova zona.