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 :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get networks.config cluster -o jsonpath='{.spec.externalIP}{"\n"}'
$ 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 :Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: Service metadata: name: svc-with-externalip spec: ... externalIPs: - 192.174.120.10
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.Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch svc <name> -p \ '{
$ oc patch svc <name> -p \ '{ "spec": { "externalIPs": [ "<ip_address>" ] } }'
Par exemple :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch svc mysql-55-rhel7 -p '{"spec":{"externalIPs":["192.174.120.10"]}}'
$ oc patch svc mysql-55-rhel7 -p '{"spec":{"externalIPs":["192.174.120.10"]}}'
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow "mysql-55-rhel7" patched
"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.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get svc
$ oc get svc
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE mysql-55-rhel7 172.30.131.89 192.174.120.10 3306/TCP 13m
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE mysql-55-rhel7 172.30.131.89 192.174.120.10 3306/TCP 13m