Configuration d'un équilibreur de charge d'application pour VPC
Exposez votre application sur le réseau public ou sur le réseau privé en configurant un service Kubernetes LoadBalancer dans votre cluster. Lorsque vous exposez votre application, un équilibreur de charge d'application pour VPC qui
achemine les demandes vers votre application est automatiquement créé dans votre VPC en dehors de votre cluster. Vous pouvez ensuite, si vous le souhaitez, enregistrer le VPC ALB à l'aide d'un enregistrement DNS et d'un certificat TLS.
Les ALB VPC prennent uniquement en charge le protocole TCP.
Ne confondez pas les équilibreurs de charge d'application pour VPC avec les équilibreurs de charge d'application Ingress d'Red Hat OpenShift on IBM Cloud. Les équilibreurs de charge d'application pour VPC sont exécutés en dehors de votre cluster
dans votre VPC et sont configurés par les services Kubernetes LoadBalancer que vous créez. Les équilibreurs de charge d'application Ingress sont des contrôleurs
Ingress exécutés sur des noeuds worker dans votre cluster.
Configuration d'un équilibreur de charge d'application VPC public ou privé
Avant de commencer
- Assurez-vous de disposer du rôle d’accès au service IAM Writer ou Manager IBM Cloud pour l’espace de noms dans lequel vous déployez le
service
LoadBalancerKubernetes pour le VPC ALB. - Accédez à votre cluster Red Hat OpenShift.
- Pour afficher les équilibreurs de charge d'application VPC, installez le plug-in
infrastructure-service. Le préfixe pour l'exécution des commandes estibmcloud is.ibmcloud plugin install infrastructure-service
Pour permettre à votre application de recevoir des requêtes publiques ou privées :
-
Déployez votre application sur le cluster. Prenez soin d'ajouter un libellé à votre déploiement dans la section "metadata" de votre fichier de configuration de déploiement. Ce libellé personnalisé identifie tous les pods dans lesquels s'exécute votre application afin de pouvoir les inclure dans l'équilibrage de charge.
-
Créez un fichier YAML de configuration pour votre service Kubernetes
LoadBalancer. Dans le fichier YAML, spécifiez l'annotationservice.kubernetes.io/ibm-load-balancer-cloud-provider-ip-typecomme"public"ou"private". La sectionannotationsdu fichier d'exemple ne comprend que certaines annotations disponibles. Pour une liste complète des annotations VPC ALB obligatoires et facultatives, voir Annotations et spécifications.Pour que votre VPC ALB soit facilement identifiable, pensez à nommer le service dans le format
<app_name>-vpc-alb-<VPC_zone>.apiVersion: v1 kind: Service metadata: name: myloadbalancer annotations: service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name: "`<app_name>-vpc-alb-<VPC_zone>`" service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol" service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "<public_or_private>" service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-node-selector: "<key>=<value>" spec: type: LoadBalancer selector: <selector_key>: <selector_value> ports: - name: http protocol: TCP port: 8080 targetPort: 8080 # Optional. By default, the `targetPort` is set to match the `port` value unless specified otherwise. - name: https protocol: TCP port: 443 targetPort: 443 # Optional. By default, the `targetPort` is set to match the `port` value unless specified otherwise. externalTrafficPolicy: Local # Specify Local or Cluster. -
Créez le service Kubernetes
LoadBalancerdans votre cluster.oc apply -f myloadbalancer.yaml -n <namespace> -
Vérifiez que le service Kubernetes
LoadBalancera bien été créé dans votre cluster. Lorsque le service est créé, la zone LoadBalancer Ingress est renseignée avec un nom d'hôte affecté par l'équilibreur de charge d'application VPC.
La mise à disposition dans votre VPC de l'équilibreur de charge d'application VPC dure quelques minutes. Vous ne pouvez pas accéder à votre application en utilisant le nom d'hôte de votre service Kubernetes LoadBalancer jusqu'à ce que l'ALB VPC soit entièrement mis à disposition.
```sh {: pre}
oc describe svc myloadbalancer -n <namespace>
```
Exemple de sortie de l'interface de ligne de commande pour un service `LoadBalancer` public :
```sh {: screen}
NAME: myvpcalb
Namespace: default
Labels: <none>
Annotations:
Selector: app=echo-server
Type: LoadBalancer
IP: 172.21.XX.XX
LoadBalancer Ingress: 1234abcd-us-south.lb.appdomain.cloud
Port: tcp-80 80/TCP
TargetPort: 8080/TCP
NodePort: tcp-80 30610/TCP
Endpoints: 172.17.17.133:8080,172.17.22.68:8080,172.17.34.18:8080 + 3 more...
Session Affinity: None
External Traffic Policy: Local
HealthCheck NodePort: 31438
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal EnsuringLoadBalancer 16m service-controller Ensuring load balancer
Normal EnsuredLoadBalancer 15m service-controller Ensured load balancer
Normal CloudVPCLoadBalancerNormalEvent 13m ibm-cloud-provider Event on cloud load balancer myvpcalb for service default/myvpcalb with UID 08cbacf0-2c93-4186-84b6-c4ab88a2faf9: The VPC load balancer that routes requests to this Kubernetes LoadBalancer service is currently online/active.
```
-
Vérifiez que l'équilibreur de charge d'application VPC a bien été créé dans votre VPC. Dans la sortie, vérifiez que pour l'équilibreur de charge d'application VPC, la zone Operating Status est définie sur
onlineet la zone Provision Status, suractive.ibmcloud is load-balancersDans l'exemple de sortie de l'interface de ligne de commande suivant, l'équilibreur de charge d'application VPC nommé
kube-bsaucubd07dhl66e4tgg-1f4f408ce6d2485499bcbdec0fa2d306est créé pour le service KubernetesLoadBalancer:ID Name Family Subnets Is public Provision status Operating status Resource group r006-d044af9b-92bf-4047-8f77-a7b86efcb923 kube-bsaucubd07dhl66e4tgg-1f4f408ce6d2485499bcbdec0fa2d306 Application mysubnet-us-south-3 true active online default -
Si vous avez créé un service public
LoadBalancer, exécutez une commande curl sur le nom d'hôte du service KubernetesLoadBalanceraffecté par l'équilibreur de charge d'application VPC identifié à l'étape 4. Exemple :curl 06496f64-us-south.lb.appdomain.cloud:8080Exemple de sortie
Hello world from hello-world-deployment-5fd7787c79-sl9hn! Your app is up and running in a cluster!Si vous avez créé un service
LoadBalancerprivé, vous devez être connecté à votre réseau VPC privé pour exécuter une commande curl sur le nom d'hôte.
Ne supprimez pas les sous-réseaux que vous avez associés à votre cluster lors de la création du cluster ou lorsque vous ajoutez des noeuds worker dans une zone. Si vous supprimez un sous-réseau VPC que votre cluster a utilisé, des problèmes peuvent se produire au niveau des équilibreurs de charge qui utilisent des adresses IP à partir du sous-réseau et il se peut que vous ne puissiez pas créer de nouveaux équilibreurs de charge.
Les ALB et NLB VPC qui ne sont pas associés à des clusters Kubernetes ou OpenShift peuvent être mis à jour directement à l'aide des commandes « ibmcloud is » ou via la section « Infrastructure VPC » de la console. Par exemple, modifier le port d'un auditeur frontal ou la valeur du délai d'attente d'un contrôle de santé. Toutefois, pour les équilibreurs de charge VPC associés à des clusters Kubernetes ou OpenShift, toute mise à jour doit être effectuée via des annotations dans la configuration Ingress. Le fournisseur « IBM Cloud » effectue périodiquement une resynchronisation avec tous les ALB et NLB du VPC associés afin de s'assurer que l'équilibreur de charge en cours d'exécution est conforme à la configuration attendue d'Ingress. Ainsi, si vous apportez des modifications à un tel équilibreur de charge directement via le VPC au lieu d'utiliser les annotations Ingress, ces modifications seront annulées.
Enregistrement d'un enregistrement DNS et d'un certificat TLS
L'équilibreur de charge d'application pour VPC (ALB de VPC) fournit un nom d'hôte HTTP par défaut au format 1234abcd-<region>.lb.appdomain.cloud à travers lequel vous pouvez accéder à votre application. Toutefois, si vous
souhaitez qu'un certificat TLS pour votre domaine d'application prenne en charge HTTPS, vous pouvez créer un sous-domaine fourni par IBM ou apporter votre propre domaine personnalisé pour les équilibreurs de charge d'application publics et
privés.
Après avoir créé un sous-domaine DNS pour un nom d'hôte ALB de VPC, vous ne pouvez pas utiliser les commandes nlb-dns health-monitor pour créer un contrôle d'intégrité personnalisé. Au lieu de cela, le diagnostic d'intégrité par
défaut de l'équilibreur de charge VPC fourni pour le nom d'hôte d'équilibreur de charge d'application par défaut est utilisé. Pour plus d'informations, voir la documentation VPC.
Avant de commencer
- Configurez un équilibreur de charge d'application VPC. Veillez à définir un port HTTPS dans votre service Kubernetes
LoadBalancerqui configure l'équilibreur de charge d'application VPC. - Pour utiliser le certificat TLS afin d'accéder à votre application via HTTPS, vous devez être en mesure de mettre fin à des connexions TLS.
Pour enregistrer un nom d'hôte d'équilibreur de charge d'application VPC avec un sous-domaine DNS :
-
Extrayez le nom d'hôte de votre VPC ALB en exécutant la commande
get svc. Dans la sortie, recherchez le nom d'hôte dans la colonne EXTERNAL-IP. Par exemple,1234abcd-us-south.lb.appdomain.cloud.oc get svc -o wideExemple de sortie
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR ... webserver-lb LoadBalancer 172.21.xxx.xxx 1234abcd-us-south.lb.appdomain.cloud 8080:30532/TCP 1d run=webserver -
Créez un sous-domaine DNS personnalisé ou fourni par IBM pour le nom d'hôte de l'équilibreur de charge.
-
Domaine personnalisé: fournissez votre propre domaine personnalisé et attribuez-lui un alias en spécifiant l'adresse IP externe de l'équilibreur de charge, au format
1234abcd-us-south.lb.appdomain.cloudd'un enregistrement de nom canonique (CNAME).- Enregistrez votre domaine personnalisé en utilisant votre fournisseur de DNS (Domain Name Service) ou IBM Cloud DNS.
- Définissez un alias pour votre domaine personnalisé en spécifiant l'adresse IP externe de l'équilibreur de charge en tant qu'enregistrement de nom canonique (CNAME). Dans l'exemple suivant, l'équilibreur de charge dont l'IP externe
est
1234abcd-us-south.lb.appdomain.cloudest accessible àwww.your-custom-domain.com.
- Hôte/Service
- Le préfixe où vous voulez accéder à votre application, par exemple,
www. - Type de ressource
- Sélectionnez
CNAME. - TTL
- Sélectionnez une période de vie.
- Valeur/Cible
- L'IP externe de LoadBalancer que vous avez récupérée précédemment. Par exemple,
1234abcd-us-south.lb.appdomain.cloud.. Notez que lorsque vous utilisez le DNS IBM Cloud, veillez à saisir un point final.
-
Sous-domaine fourni par IBM : utilisez les commandes
nlb-dnspour générer un sous-domaine avec un certificat TLS pour le nom d'hôte VPC ALB. IBM Cloud prend en charge automatiquement la génération et la gestion du certificat TLS générique pour le sous-domaine.- Créez un sous-domaine DNS et un certificat TLS.
ibmcloud oc nlb-dns create vpc-gen2 --cluster CLUSTER_NAME_OR_ID --lb-host VPC_LB_HOSTNAME --type (public|private) - Vérifiez que le sous-domaine est créé. Pour plus d'informations, voir Description du format de sous-domaine.
Exemple de sortieibmcloud oc nlb-dns ls --cluster CLUSTER_NAME_OR_IDSubdomain Load Balancer Hostname Health Monitor SSL Cert Status SSL Cert Secret Name mycluster-a1b2cdef345678g9hi012j3kl4567890-0001.us-south.containers.appdomain.cloud ["1234abcd-us-south.lb.appdomain.cloud"] None created <certificate>
- Créez un sous-domaine DNS et un certificat TLS.
-
-
Si vous avez créé un sous-domaine pour un ALB VPC public, ouvrez un navigateur Web et saisissez l'adresse URL pour accéder à votre application via ce sous-domaine, comme dans l'exemple
www.your-custom-domain.com. Si vous avez créé un sous-domaine pour un équilibreur de charge d'application VPC privé, vous devez être connecté à votre réseau VPC privé pour tester l'accès à votre sous-domaine.
Pour utiliser le certificat TLS afin d'accéder à votre application via HTTPS, prenez soin de définir un port HTTPS dans votre service Kubernetes LoadBalancer. Vous pouvez vérifier que les demandes routent
correctement via le port HTTPS en exécutant curl -v --insecure https://<domain>. Une erreur de connexion indique qu'aucun port HTTPS n'est ouvert sur le service. De plus, vérifiez que les connexions TLS peuvent être interrompues
par votre application. Vous pouvez vérifier que votre application termine correctement TLS en exécutant curl -v https://<domain>. Une erreur de certificat indique que votre application n'arrête pas correctement les connexions
TLS.
Enregistrement d'un enregistrement DNS privé pour un VPC ALB privé
Dans la version 4.15 ou ultérieure, vous pouvez utiliser les annotations facultatives suivantes pour associer un propre DNS instance qui sert un DNS personnalisé zone à un VPC ALB privé. Pour cela, les deux annotations
facultatives doivent être définies. Si elles ne sont pas spécifiées, les enregistrements DNS de type « A » correspondant à la propriété « hostname » de cet équilibreur de charge sont ajoutés à la zone DNS publique
lb.appdomain.cloud.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-instance-crn: "private-dns-crn"- L'
instanceDNS à associer à cet équilibreur de charge. L'instance spécifiée peut se trouver dans une région ou un compte différent, conformément aux politiques IAM. Valeurs possibles : 9 ≤ longueur ≤ 512 service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-zone-id: "dns-zone-id"- L'
zoneDNS à associer à cet équilibreur de charge. La zone spécifiée peut se trouver dans une région ou un compte différent, en fonction des politiques IAM. Valeurs possibles : 1 ≤ longueur ≤ 128, La valeur doit correspondre à l'expression régulière [1]*[a-z0-9]$
Les conditions suivantes doivent être remplies avant de pouvoir utiliser cette fonction :
- Créer la zone DNS qui peut être liée à un équilibreur de charge
- Activer l'autorisation de service à service entre les VPC LB et les DNS Services
- Ajouter le VPC du cluster aux réseaux autorisés de la zone
Pour des informations détaillées, voir les documents Intégration d'un équilibreur de charge d'application avec IBM Cloud DNS Services et Ajouter un VPC en tant que réseau autorisé à la zone DNS.
Exemple :
apiVersion: v1
kind: Service
metadata:
name: myloadbalancer
annotations:
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name: "my-load-balancer"
service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "private"
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-instance-crn: "crn:v1:bluemix:public:dns-svcs:global:a/bb1b52262f7441a586f49068482f1e60:f761b566-030a-4696-8649-cc9d09889e88::"
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-zone-id: "d66662cc-aa23-4fe1-9987-858487a61f45"
spec:
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: 169.60.115.164
...
Annotations et spécifications
Examinez les annotations et spécifications obligatoires et facultatives du VPC ALB.
Annotations et spécifications requises
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "alb"- Annotation pour créer un VPC ALB. Si vous n'incluez pas
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features, un VPC ALB est provisionné par défaut. service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "private"- (Obligatoire pour les ALB VPC privés) Annotation permettant de spécifier un service qui accepte les demandes publiques ou privées. Si cette annotation n'est pas incluse, un VPC ALB public est créé.
externalTrafficPolicy- Spécifiez
Clusterpour transmettre une demande à un nœud de travailleur qui contient le module d'application. Ce nœud de travail peut se trouver dans une zone différente. Par défaut, cette annotation est définie surCluster. - Spécifiez
Localpour empêcher le trafic entrant d'être transféré vers un autre nœud. Cette option configure également les contrôles d'intégrité HTTP. - Notez que pour utiliser l'IP source du client d'origine pour les VPC ALB, vous devez activer le protocole PROXY avec l'annotation
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol".
Annotations et spécifications facultatives
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name- Ajoutez un nom unique pour que votre équilibreur de charge VPC soit persistant. Les équilibreurs de charge VPC persistants ne sont pas supprimés lorsque le cluster auquel ils appartiennent est supprimé. Pour plus d'informations, voir Équilibreurs de charge VPC persistants. Cette annotation ne peut être définie que lors de la création de l'équilibreur de charge. Il ne peut pas être utilisé dans une opération de mise à jour.
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol"- Activez le protocole PROXY. L'équilibreur de charge transmet les informations de connexion client, notamment l'adresse IP du client, l'adresse IP du serveur proxy et les deux numéros de port, contenues dans les en-têtes de demande, à votre application de back end. Notez que votre application de back end doit être configurée pour accepter le protocole PROXY. Par exemple, vous pouvez configurer une application NGINX pour qu'elle accepte le protocole PROXY en suivant ces étapes.
service.kubernetes.io/ibm-load-balancer-cloud-provider-zone- Annotation permettant de spécifier une zone VPC à laquelle votre cluster est connecté. Lorsque vous spécifiez une zone dans cette annotation, deux processus se produisent : (1) le VPC ALB est déployé sur le même sous-réseau de cette zone
que celui auquel vos nœuds de travail sont connectés, et (2) seuls les nœuds de travail de votre cluster dans cette zone sont configurés pour recevoir le trafic du VPC ALB. Pour placer l'équilibreur de charge dans une zone spécifique,
vous devez spécifier cette annotation lorsque vous créez l'équilibreur de charge. Si vous modifiez ultérieurement cette annotation pour une zone différente, les nœuds d'écoute et les nœuds de travail backend sont automatiquement mis à
jour pour correspondre à la nouvelle zone. Si le label
dedicated: edgeest défini sur les nœuds de travail et que vous spécifiez cette annotation, seuls les nœuds périphériques de la zone spécifiée sont configurés pour recevoir du trafic. Les nœuds périphériques dans les autres zones et les nœuds non périphériques de la zone spécifiée ne reçoivent pas de trafic de l'équilibreur de charge. Pour afficher les zones, exécutezibmcloud ks zone ls --provider vpc-gen2. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-subnets- Annotation permettant de spécifier un ou plusieurs sous-réseaux sur lesquels le service VPC ALB est déployé. Si elle est spécifiée, cette annotation a priorité sur l'annotation
service.kubernetes.io/ibm-load-balancer-cloud-provider-zone. Sans cette annotation, les sous-réseaux que le VPC ALB déploie sont automatiquement mis à jour pour correspondre aux zones d'un cluster si ce dernier passe d'une région à zone unique à une région à zones multiples, ou vice versa. Vous pouvez spécifier un sous-réseau différent dans le même VPC que les sous-réseaux auxquels votre cluster est connecté. Dans ce cas, même si l'équilibreur de charge d'application VPC est déployé sur un autre sous-réseau du même VPC, il peut tout de même router le trafic vers vos noeuds worker sur les sous-réseaux du cluster. Pour afficher les sous-réseaux dans tous les groupes de ressources, exécutezibmcloud oc subnets --provider vpc-gen2 --vpc-id VPC_ID --zone ZONE. Cette annotation peut être ajoutée ou modifiée pour les VPC ALB existants. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-node-selector- Annotation permettant de spécifier un sélecteur d'étiquette de nœud de travail. Vous pouvez configurer des nœuds de travail spécifiques dans votre cluster pour recevoir du trafic en spécifiant des clés de sélection d'étiquettes. Vous ne
pouvez inclure qu'un seul sélecteur d'étiquette dans l'annotation, et ce sélecteur doit être spécifié au format
"key=value". Si cette annotation n'est pas spécifiée, tous les noeuds worker de votre cluster sont configurés pour recevoir le trafic de l'équilibreur de charge d'application VPC. Cette annotation prévaut sur l'annotationservice.kubernetes.io/ibm-load-balancer-cloud-provider-zone, et toutes les étiquettesdedicated: edgeprésentes sur les nœuds de travail sont ignorées. Pour limiter le trafic à une zone spécifique, vous pouvez utiliser cette annotation pour spécifier les nœuds de travail dans cette zone. Notez que la définition d'une nouvelle étiquette sur un nœud de travailleur de cluster ne configure pas automatiquement le nœud de travailleur pour qu'il reçoive du trafic ; vous devez recréer ou mettre à jour le VPC ALB pour que le nœud de travailleur nouvellement étiqueté reçoive du trafic. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-protocol- Le protocole de contrôle de santé sur la ressource d'équilibreur de charge VPC associée au service d'équilibreur de charge Kubernetes. Les options disponibles sont
http,https, outcp. Habituellement, le protocole de contrôle de santé VPC LB est déterminé par la valeur du paramètreexternalTrafficPolicydans la spécification du service d'équilibreur de charge Kubernetes, mais cette annotation supplante cette logique. Cette annotation ne not modifie pas la façon dont Kubernetes, et kube-proxy en particulier, se comporte par rapport aux différents paramètres deexternalTrafficPolicy. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-port- Le port de l' TCP, utilisé pour les contrôles d'intégrité. Cette annotation ne s'applique que si
ibm-load-balancer-cloud-provider-vpc-health-check-protocolest également spécifié. - Si votre cluster ne fonctionne pas avec Secure by Default, vous devrez peut-être apporter les modifications suivantes aux groupes de sécurité VPC appliqués. Si votre cluster fonctionne avec Secure by Default, ces changements sont appliqués automatiquement.
-
- Si le port TCP spécifié se situe en dehors de la plage de ports des nœuds Kubernetes (30 000-32 767), le groupe de sécurité VPC appliqué aux nœuds de travail du cluster doit être modifié afin d'autoriser le trafic entrant sur ce port.
-
- Si cette annotation est appliquée à un service de répartition de charge « Kubernetes » associé à un ALB VPC, les règles de sortie du groupe de sécurité attribué à l’ALB VPC doivent être modifiées afin d’autoriser le trafic sortant vers le port TCP spécifié.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-path- Le chemin d'accès au contrôle de santé URL pour les contrôles de santé HTTP et HTTPs. Cette annotation ne s'applique que si
ibm-load-balancer-cloud-provider-vpc-health-check-protocolest défini commehttpouhttps. Le chemin d'accès URL doit être au format d'une cible de demande de forme d'origine. Si cette annotation n'est pas spécifiée et que l'annotationibm-load-balancer-cloud-provider-vpc-health-check-protocolest définie commehttpouhttps, la valeur par défaut/est appliquée. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-delay- Nombre de secondes d'attente entre les tentatives de contrôle de l'état de santé. Par défaut, cette valeur est fixée à
5, avec un minimum de2et un maximum de60. Cette valeur doit être supérieure à la valeuribm-load-balancer-cloud-provider-vpc-health-check-timeout, qui est fixée par défaut à2. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-timeout- Nombre de secondes d'attente pour une réponse à un contrôle de santé. Par défaut, cette valeur est fixée à
2, avec un minimum de1et un maximum de59. Cette valeur doit être inférieure à la valeuribm-load-balancer-cloud-provider-vpc-health-check-delay, qui est fixée par défaut à5. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-health-check-retries- Nombre maximal de tentatives de contrôle de santé pour l'équilibreur de charge VPC. Par défaut, cette valeur est fixée à
2, avec un minimum de1et un maximum de10. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-idle-connection-timeout- Délai d'inactivité, en secondes, de la connexion du programme d'écoute. Le délai d'inactivité par défaut dépend des paramètres de votre compte. En général, cette valeur est
50. Toutefois, certains comptes figurant sur la liste des comptes autorisés ont des paramètres de délai plus importants. Si vous ne définissez pas l'annotation, vos équilibreurs de charge utilisent le délai d'attente défini dans votre compte. Vous pouvez spécifier explicitement le délai d'attente en définissant cette annotation. La valeur minimale est50. La longueur maximale est de7200. service.kubernetes.io/ibm-load-balancer-cloud-provider-dns-name: "example-ingress-domain.<region>.containers.appdomain.cloud"- Version 4.17 ou ultérieure.
- Enregistrer l'adresse IP de l'équilibreur de charge avec le domaine d'adresse spécifié. Si le domaine spécifié n'existe pas, un domaine est créé qui utilise le fournisseur interne
géré par IBM (
IBM NS1). Pour créer un nouveau domaine, le nom doit être unique pour tous les domaines existants (pas seulement ceux de votre cluster). La suppression du service d'équilibreur de charge supprime l'adresse IP du domaine. Cependant, la suppression de l'annotation ne supprime pas l'adresse IP du domaine. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-instance-crn: "private-dns-crn"- Version 4.15 ou ultérieure.
- Le DNS
instanceà associer à cet équilibreur de charge. Pour plus d'informations, voir Enregistrement d'un enregistrement DNS privé. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-private-dns-zone-id: "dns-zone-id"- Version 4.15 ou ultérieure.
- Le DNS
zoneà associer à cet équilibreur de charge. Pour plus d'informations, voir Enregistrement d'un enregistrement DNS privé. service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-member-quota- Le nombre de nœuds de travail par zone vers lesquels l'équilibreur de charge se dirige. La valeur par défaut est de 8. Pour un cluster dont les nœuds de travail sont répartis dans trois zones, cela signifie que l'équilibreur de charge achemine le trafic vers 24 nœuds de travail au total. Le nombre total de nœuds de travail dans toutes les zones vers lesquelles l'équilibreur de charge se dirige ne peut pas dépasser 50. Si la grappe compte moins de 50 nœuds de travail dans toutes les zones, spécifiez 0 pour router vers tous les nœuds de travail d'une zone.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-security-group- Version 1.30 ou ultérieure.
- Un groupe de sécurité géré par le client à ajouter à l'équilibreur de charge VPC. Si vous ne souhaitez pas utiliser le groupe de sécuritéIBM, spécifiez un groupe de sécurité que vous possédez et gérez. Cette option supprime le groupe de sécurité IBM et le remplace par le groupe de sécurité que vous spécifiez. La suppression de l'annotation d'un équilibreur de charge existant remplace le groupe de sécurité que vous avez ajouté par le groupe de sécurité IBM Vous pouvez ajouter ou supprimer cette annotation à tout moment. Vous êtes responsable de la gestion de votre groupe de sécurité et de sa mise à jour.
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-allow-outbound-traffic- Disponible pour les clusters qui exécutent Secure by Default. Annotation pour créer des groupes de sécurité pour chaque adresse IP d'un ALB associé à un port externe
que vous spécifiez. Ces règles sont créées dans le groupe de sécurité du cluster et sont automatiquement mises à jour si l'adresse IP du VPC ALB change. Spécifiez les ports externes valides dans une liste séparée par des virgules, par
exemple
80,443. Dans cet exemple, si chaque ALB public associé à chaque valeur de port externe possède deux adresses IP, une règle de sortie est créée par adresse IP, soit un total de 4 nouvelles règles. Vous pouvez ajouter ou supprimer cette annotation à tout moment. selector- Clé de libellé (
<selector_key>) et valeur (<selector_value>) que vous avez utilisées dans la sectionspec.template.metadata.labelsdu déploiement de votre application YAML. Ce libellé personnalisé identifie tous les pods dans lesquels s'exécute votre application afin de pouvoir les inclure dans l'équilibrage de charge. port- Port sur lequel le service est à l'écoute.
targetPort- Port vers lequel le service achemine le trafic. L'application s'exécutant dans le pod doit être à l'écoute du trafic entrant de type « TCP » sur ce port cible. Le port cible est souvent défini de manière statique dans l'image qui tourne dans le module d'application. Le port cible configuré dans le pod est différent du port du nœud pour le service et peut également être différent du port externe configuré sur le VPC LB.
-
a-z0-9- ↩︎