Cette page explique comment créer un sous-réseau global dans Google Distributed Cloud (GDC) sous air gap et l'utiliser pour un équilibreur de charge interne (ILB).
Les sous-réseaux globaux vous permettent de configurer des opérations d'équilibrage de charge interne sur plusieurs zones de votre organisation GDC. L'équilibrage de charge améliore les performances, la fiabilité et la disponibilité des applications et des services en distribuant le trafic réseau sur plusieurs serveurs. Pour en savoir plus sur les sous-réseaux globaux pour l'équilibrage de charge, consultez À propos des sous-réseaux pour l'équilibrage de charge.
Cette page s'adresse aux développeurs du groupe d'opérateurs d'applications qui souhaitent gérer l'équilibrage de charge pour leur organisation. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.
Avant de commencer
Pour créer un sous-réseau global et le configurer pour les équilibreurs de charge internes, vous devez disposer des éléments suivants :
- Être propriétaire du projet pour lequel vous configurez l'équilibreur de charge. Pour en savoir plus, consultez Créer un projet.
Les rôles d'identité et d'accès nécessaires :
- Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle d'administrateur de l'équilibreur de charge (
load-balancer-admin). - Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle d'administrateur de l'équilibreur de charge global (
global-load-balancer-admin). - Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle d'administrateur de l'organisation de sous-réseau (
subnet-org-admin). Il s'agit d'un rôle d'administrateur de plate-forme pour l'organisation. - Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle d'administrateur de projet de sous-réseau (
subnet-project-admin). Il s'agit d'un rôle d'opérateur d'application pour le projet.
Pour en savoir plus, consultez Descriptions des rô101}les prédéfinis.
- Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle d'administrateur de l'équilibreur de charge (
Créer un sous-réseau global parent
Le sous-réseau global parent que vous créez dans cette section sert de pool d'adresses IP à partir duquel les adresses IP de votre équilibreur de charge interne sont issues. Vous spécifiez les parents de sous-réseau à l'aide du champ spec.parentReference.name.
Vous avez deux possibilités pour configurer le CIDR de ce sous-réseau parent :
- Créer un sous-réseau à l'aide d'une configuration CIDR statique
- Créer un sous-réseau à l'aide d'une configuration CIDR dynamique
Pour en savoir plus sur la différence entre les configurations CIDR statiques et dynamiques, consultez Configuration CIDR statique et dynamique.
Créer un sous-réseau à l'aide d'une configuration CIDR statique
Utilisez une configuration CIDR statique lorsque vous avez besoin d'un contrôle précis sur votre espace d'adresses IP.
Ce sous-réseau est de type Branch. Pour en savoir plus sur les types de sous-réseaux racine, branche,
et feuille, consultez Hiérarchie
des sous-réseaux.
Pour créer un sous-réseau parent global avec une configuration CIDR statique, ajoutez le bloc CIDR de votre choix au champ 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
Remplacez les éléments suivants :
GLOBAL_API_SERVER: chemin d'accès kubeconfig du serveur d'API de gestion globale. Pour en savoir plus, consultez Serveurs d'API globaux et zonaux. Si vous n'avez pas encore généré de fichier kubeconfig pour le serveur d'API, consultez Se connecter pour en savoir plus.ILB_PARENT_SUBNET_NAME: nom choisi pour votre sous-réseau parent global pour l'équilibreur de charge interne.STATIC_CIDR: bloc CIDR spécifique que vous souhaitez allouer à ce sous-réseau parent, tel que10.0.10.0/27.PARENT_NAME: nom du sous-réseau parent existant à partir duquel ce nouveau sous-réseau est créé.
Pour configurer ce sous-réseau afin qu'il fonctionne avec les équilibreurs de charge internes, vous devez créer un sous-réseau feuille pour l'équilibreur de charge interne.
Créer un sous-réseau à l'aide d'une configuration CIDR dynamique
La configuration CIDR dynamique alloue automatiquement un bloc CIDR disponible d'une taille spécifiée à partir du sous-réseau parent. Cela simplifie la gestion des adresses IP, en particulier dans les grands environnements.
Ce sous-réseau est de type Branch. Pour en savoir plus sur les types de sous-réseaux racine, branche,
et feuille, consultez Hiérarchie
des sous-réseaux.
Pour créer un sous-réseau parent global avec un CIDR dynamique, configurez le champ spec.ipv4Request.prefixLength avec la longueur de préfixe choisie :
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
Remplacez les éléments suivants :
ILB_PARENT_SUBNET_NAME: nom choisi pour le sous-réseau parent de l'équilibreur de charge interne, tel quelb-global-lancer-ilb-subnet.STATIC_CIDR: bloc CIDR spécifique que vous souhaitez utiliser, tel que10.0.10.0/27. Cette variable ne s'applique qu'à la configuration CIDR statique.PARENT_NAME: nom du sous-réseau parent existant à partir duquel ce nouveau sous-réseau est créé, tel quedefault-vpc-workload-cidr.PREFIX_LENGTH: longueur de préfixe choisie pour le CIDR alloué dynamiquement, telle que27. Cette variable ne s'applique qu'à la configuration CIDR dynamique.
Pour configurer ce sous-réseau afin qu'il fonctionne avec les équilibreurs de charge internes, vous devez créer un sous-réseau feuille pour l'équilibreur de charge interne.
Créer un sous-réseau feuille pour l'équilibreur de charge interne
Après avoir configuré le sous-réseau parent global, vous devez créer un sous-réseau feuille pour allouer une seule adresse IP au service d'équilibrage de charge interne global. Ce sous-réseau feuille doit
avoir une valeur de champ type de Leaf et doit résider dans le même espace de noms de projet
que vos ressources d'équilibreur de charge, telles que ForwardingRule,
BackendService et Backend.
Pour créer le sous-réseau feuille et le lier à l'équilibreur de charge interne, procédez comme suit :
Créez un sous-réseau feuille avec une valeur
prefixLengthde32, car il est destiné à allouer une seule adresse IP. La valeurparentReferencefait référence au sous-réseau global parent créé précédemment :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 EOFRemplacez les éléments suivants :
ILB_IP_SUBNET_NAME: nom choisi pour le sous-réseau feuille, tel quelb-project-ilb-ip.PROJECT_NAMESPACE: espace de noms Kubernetes correspondant à votre projet dans lequel se trouvent vos objets d'équilibreur de charge interne, par exemplelb-project.PARENT_REF: nom du sous-réseau parent à partir duquel ce sous-réseau feuille obtient son adresse IP, tel que le sous-réseau global parent que vous avez créé précédemment.
Connectez le sous-réseau feuille nouvellement créé, qui contient l'adresse IP allouée, à la ressource
ForwardingRuleInternalde votre équilibreur de charge interne. Dans votre ressourceForwardingRuleInternal, mettez à jour le champspec.cidrRef.namepour faire référence au nom du sous-réseau feuille que vous avez créé à l'étape précédente :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 EOFRemplacez les éléments suivants :
FRI_NAME: nom choisi pour l'objetForwardingRuleInternal, tel quenginx-ilb-static-fr.PORT: numéro de port sur lequel votre équilibreur de charge interne écoute le trafic entrant, tel que80.PROTOCOL: protocole réseau utilisé par votre équilibreur de charge interne, tel queTCPouUDP.BES_NAME: nom duBackendServiceassocié à cette ressourceForwardingRuleInternal, tel quenginx-bes.LEAF_SUBNET_NAME: nom du sous-réseau feuille que vous avez créé à l'étape précédente, tel quelb-project-ilb-ip.