25.11. Configuration d'une liste de destination de pods de routeur de sortie à partir d'une carte de configuration
En tant qu'administrateur de cluster, vous pouvez définir un objet ConfigMap
qui spécifie les mappages de destination pour un module de routeur de sortie. Le format spécifique de la configuration dépend du type de module de routeur de sortie. Pour plus de détails sur le format, reportez-vous à la documentation du module de routeur de sortie spécifique.
25.11.1. Configuration des mappages de destination d'un routeur de sortie à l'aide d'une carte de configuration
Pour un ensemble de mappages de destination important ou changeant fréquemment, vous pouvez utiliser une carte de configuration pour gérer la liste de manière externe. L'avantage de cette approche est que l'autorisation de modifier la carte de configuration peut être déléguée à des utilisateurs ne disposant pas des privilèges cluster-admin
. Le pod de routeur de sortie nécessitant un conteneur privilégié, les utilisateurs ne disposant pas des privilèges cluster-admin
ne peuvent pas modifier directement la définition du pod.
Le module de routeur de sortie n'est pas automatiquement mis à jour lorsque la carte de configuration est modifiée. Vous devez redémarrer le module de routeur de sortie pour obtenir les mises à jour.
Conditions préalables
-
Installez le CLI OpenShift (
oc
). -
Connectez-vous en tant qu'utilisateur disposant des privilèges
cluster-admin
.
Procédure
Créez un fichier contenant les données de mappage pour le pod du routeur de sortie, comme dans l'exemple suivant :
# Egress routes for Project "Test", version 3 80 tcp 203.0.113.25 8080 tcp 203.0.113.26 80 8443 tcp 203.0.113.26 443 # Fallback 203.0.113.27
Vous pouvez insérer des lignes vierges et des commentaires dans ce fichier.
Créer un objet
ConfigMap
à partir du fichier :$ oc delete configmap egress-routes --ignore-not-found
$ oc create configmap egress-routes \ --from-file=destination=my-egress-destination.txt
Dans la commande précédente, la valeur
egress-routes
est le nom de l'objetConfigMap
à créer etmy-egress-destination.txt
est le nom du fichier à partir duquel les données sont lues.AstuceVous pouvez également appliquer le YAML suivant pour créer la carte de configuration :
apiVersion: v1 kind: ConfigMap metadata: name: egress-routes data: destination: | # Egress routes for Project "Test", version 3 80 tcp 203.0.113.25 8080 tcp 203.0.113.26 80 8443 tcp 203.0.113.26 443 # Fallback 203.0.113.27
Créez une définition de pod de routeur de sortie et spécifiez la strophe
configMapKeyRef
pour le champEGRESS_DESTINATION
dans la strophe d'environnement :... env: - name: EGRESS_DESTINATION valueFrom: configMapKeyRef: name: egress-routes key: destination ...