27.6. Configuration du trafic entrant du cluster pour un service IP externe
Vous pouvez attacher une adresse IP externe à un service afin qu'il soit disponible pour le trafic en dehors du cluster. Ceci n'est généralement utile que pour un cluster installé sur du matériel bare metal. L'infrastructure réseau externe doit être configurée correctement pour acheminer le trafic vers le service.
27.6.1. Conditions préalables
Votre cluster est configuré avec ExternalIPs activé. Pour plus d'informations, lisez Configuration des ExternalIPs pour les services.
NoteN'utilisez pas le même ExternalIP pour l'IP de sortie.
27.6.2. Attacher un ExternalIP à un service
Vous pouvez attacher un ExternalIP à un service. Si votre cluster est configuré pour allouer un ExternalIP automatiquement, vous n'aurez peut-être pas besoin d'attacher manuellement un ExternalIP au service.
Procédure
En outre, il est possible de confirmer les plages d'adresses IP configurées pour l'utilisation de ExternalIP : Pour confirmer quelles plages d'adresses IP sont configurées pour être utilisées avec ExternalIP, entrez la commande suivante :
$ oc get networks.config cluster -o jsonpath='{.spec.externalIP}{"\n"}'
Si
autoAssignCIDRs
est défini, OpenShift Container Platform attribue automatiquement un ExternalIP à un nouvel objetService
si le champspec.externalIPs
n'est pas spécifié.Attacher un ExternalIP au service.
Si vous créez un nouveau service, indiquez le champ
spec.externalIPs
et fournissez un tableau d'une ou plusieurs adresses IP valides. Par exemple :apiVersion: v1 kind: Service metadata: name: svc-with-externalip spec: ... externalIPs: - 192.174.120.10
Si vous attachez un ExternalIP à un service existant, entrez la commande suivante. Remplacez
<name>
par le nom du service. Remplacez<ip_address>
par une adresse ExternalIP valide. Vous pouvez fournir plusieurs adresses IP séparées par des virgules.$ oc patch svc <name> -p \ '{ "spec": { "externalIPs": [ "<ip_address>" ] } }'
Par exemple :
$ oc patch svc mysql-55-rhel7 -p '{"spec":{"externalIPs":["192.174.120.10"]}}'
Exemple de sortie
"mysql-55-rhel7" patched
Pour confirmer qu'une adresse ExternalIP est attachée au service, entrez la commande suivante. Si vous avez spécifié une adresse ExternalIP pour un nouveau service, vous devez d'abord créer le service.
$ oc get svc
Exemple de sortie
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE mysql-55-rhel7 172.30.131.89 192.174.120.10 3306/TCP 13m