Dans un univers Google Distributed Cloud (GDC) isolé, vous pouvez créer des organisations v1 ou v2 qui couvrent plusieurs zones. Toutefois, deux scénarios de création d'organisation nécessitent des configurations CIDR supplémentaires avant de créer l'organisation :
- Créez une organisation v1 dans une nouvelle zone.
- Créez une organisation v2 dans une zone qui contenait auparavant une organisation v1.
Les sections suivantes couvrent ces scénarios et les conditions préalables que vous devez remplir avant de créer l'organisation.
Configurer les paramètres CIDR pour une organisation v1 dans une nouvelle zone
Par défaut, vous ne pouvez pas provisionner d'organisation v1 dans une nouvelle zone, car de nombreuses revendications CIDR requises par l'organisation v1 sont déjà attribuées à l'organisation racine.
Vous devez également utiliser la fonctionnalité d'adresse IP personnalisée existante pour l'organisation v1.
Paramètres CIDR du plan
Rassemblez les paramètres CIDR existants configurés dans votre zone afin d'éviter tout chevauchement de CIDR dans votre nouvelle organisation v1.
Imprimez la ressource
zone-infra-cidrCIDRClaimexistante :kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG get cidrclaim \ -n gpc-system zone-infra-cidrVérifiez les champs
status.ipv4AllocationStatus.cidrBlocksetstatus.ipv6AllocationStatus.cidrBlocksde la ressourceCIDRClaimdans le résultat.Par exemple, la ressource
CIDRClaimsuivante a réservé les blocs CIDR192.0.2.0/21,198.51.100.0/26,203.0.113.0/23et2001: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::/66Notez ces blocs CIDR pour éviter de les utiliser lorsque vous créerez les CIDR externes et internes personnalisés pour votre organisation.
Vérifiez le
zone-infra-cidrde chaque zone et notez que les blocs CIDR existants ne sont pas utilisés. Vous pouvez ainsi éviter de les utiliser lorsque vous créez le CIDR personnalisé pour votre organisation. Pour changer de contexte zonal, utilisez la CLI gdcloud.Affichez tous les sous-réseaux existants avec le libellé
network-root-range:kubectl --kubeconfig=GLOBAL_ROOT_ADMIN_KUBECONFIG get subnet \ -l ipam.gdc.goog/usage=network-root-range -AVérifiez les champs
status.ipv4Allocation.cidretstatus.ipv6Allocation.cidrpour chaque ressourceSubnet.Par exemple, le
infra-vpc-root-cidrsuivant a réservé le 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/15Notez ces CIDR pour éviter de les utiliser lorsque vous créerez les CIDR externes et internes personnalisés pour votre organisation.
Configurer une adresse IP personnalisée
Dans le cadre du processus d'amorçage de l'organisation v1, des CIDR externes et internes personnalisés sont requis en entrée de la ressource personnalisée globale OrganizationZonalConfig pour prendre en charge l'amorçage de l'organisation v1 globale.
Dans la spécification de la ressource OrganizationZonalConfig, vous devez ajouter les configurations d'adresses IP personnalisées pour le CIDR externe et le CIDR interne. Les CIDR externes et internes personnalisés sont instanciés respectivement dans les revendications CIDR org-namespace/org-custom-external-cidr et org-namespace/org-custom-internal-cidr pour l'organisation zonale. Toutes les autres revendications CIDR et de sous-réseaux de cette organisation sont des enfants de ces deux revendications CIDR :
...
spec:
capacities:
customIPConfig:
externalCIDRs:
- CUSTOM_EXTERNAL_CIDR
internalCIDRs:
- CUSTOM_INTERNAL_CIDR
...
Les conditions suivantes doivent être remplies pour le CIDR externe personnalisé et le CIDR interne personnalisé :
- Unique dans la ressource
OrganizationZonalConfigpour chaque zone. - Unique dans la ressource
OrganizationZonalConfigpour chaque organisation v1 existante dans toutes les zones. - Ne peut pas chevaucher le
zone-infra-cidrde chaque zone. - Ne peut pas chevaucher un sous-réseau global portant le libellé
ipam.gdc.goog/usage=network-root-range.
Une fois ces exigences remplies, vous pouvez poursuivre les étapes d'amorçage de l'organisation par défaut pour amorcer l'organisation v1 dans la nouvelle zone.
Configurer les paramètres CIDR pour une organisation v2 dans une zone existante
Pour provisionner une organisation v2 dans une zone existante, vous devez créer manuellement la ressource CIDRClaim gpc-system/zone-infra-cidr. Vous devez également vous assurer que le bloc CIDR de la nouvelle revendication CIDR ne chevauche pas les éléments suivants :
Les revendications CIDR
gpc-system/instance-dans la zone.Toute revendication CIDR
gpc-system/zone-infra-cidrougpc-system/instance-dans d'autres zones de l'univers.
Paramètres CIDR du plan
Imprimez les ressources
CIDRClaimexistantes :kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG get cidrclaim -n gpc-systemVérifiez les champs
status.ipv4AllocationStatus.cidrBlocksetstatus.ipv6AllocationStatus.cidrBlockspour chaque ressourceCIDRClaimdans le résultat.Par exemple, la ressource
CIDRClaimsuivante a réservé les blocs CIDR192.0.2.0/21,198.51.100.0/26,203.0.113.0/23et2001: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::/66Notez ces blocs CIDR pour éviter de les utiliser lorsque vous créerez le
zone-infra-cidrpour votre organisation v2.
Créer la revendication CIDR zone-infra-cidr
Recherchez et notez les revendications CIDR suivantes avec l'espace de noms
gpc-systemdans chaque zone de votre univers :instance-external-cidrinstance-internal-pod-network-cidrinstance-internal-cluster-ip-cidrinstance-internal-physical-network-cidrinstance-internal-cidrzone-infra-cidr
Par exemple, la commande suivante renvoie les revendications CIDR
instance-external-cidrpour la zone actuelle :kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG get cidrclaim -n gpc-system instance-external-cidrPour basculer entre les contextes zonaux, utilisez la CLI gdcloud.
Créez une ressource
CIDRClaimnomméezone-infra-cidrqui ne chevauche pas les revendications CIDR vérifiées précédemment :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 EOFLes CIDR IPv4 et IPv6 doivent être uniques et ne peuvent pas chevaucher les revendications CIDR
instance-existantes dans l'espace de nomsgpc-systemde la zone actuelle ni d'aucune autre zone existante.Vérifiez l'état de
zone-infra-cidrpour vous assurer qu'il est prêt :kubectl --kubeconfig=ROOT_ADMIN_KUBECONFIG \ get cidrclaim -n gpc-system zone-infra-cidrUne fois la revendication CIDR
Ready, vous pouvez poursuivre les étapes d'amorçage de l'organisation par défaut pour amorcer l'organisation v2 dans la nouvelle zone.