2.4. Limiter le serveur API au domaine privé
Après avoir déployé un cluster sur Amazon Web Services (AWS) ou Microsoft Azure, vous pouvez reconfigurer le serveur API pour qu'il n'utilise que la zone privée.
Conditions préalables
-
Installez le CLI OpenShift (
oc
). -
Avoir accès à la console web en tant qu'utilisateur avec les privilèges
admin
.
Procédure
Dans le portail web ou la console de votre fournisseur de cloud, effectuez les actions suivantes :
Localisez et supprimez le composant d'équilibreur de charge approprié :
- Pour AWS, supprimez l'équilibreur de charge externe. L'entrée API DNS dans la zone privée pointe déjà vers l'équilibreur de charge interne, qui utilise une configuration identique, de sorte qu'il n'est pas nécessaire de modifier l'équilibreur de charge interne.
-
Pour Azure, supprimez la règle
api-internal
pour l'équilibreur de charge.
-
Supprimez l'entrée DNS
api.$clustername.$yourdomain
dans la zone publique.
Supprimer les équilibreurs de charge externes :
ImportantVous ne pouvez exécuter les étapes suivantes que pour un cluster d'infrastructure fournie par l'installateur (IPI). Pour un cluster d'infrastructure fourni par l'utilisateur (UPI), vous devez supprimer ou désactiver manuellement les équilibreurs de charge externes.
Si votre cluster utilise un jeu de machines du plan de contrôle, supprimez les lignes suivantes dans la ressource personnalisée du jeu de machines du plan de contrôle :
providerSpec: value: loadBalancers: - name: lk4pj-ext 1 type: network 2 - name: lk4pj-int type: network
Si votre cluster n'utilise pas d'ensemble de machines du plan de contrôle, vous devez supprimer les équilibreurs de charge externes de chaque machine du plan de contrôle.
Depuis votre terminal, listez les machines du cluster en exécutant la commande suivante :
$ oc get machine -n openshift-machine-api
Exemple de sortie
NAME STATE TYPE REGION ZONE AGE lk4pj-master-0 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-master-1 running m4.xlarge us-east-1 us-east-1b 17m lk4pj-master-2 running m4.xlarge us-east-1 us-east-1a 17m lk4pj-worker-us-east-1a-5fzfj running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1a-vbghs running m4.xlarge us-east-1 us-east-1a 15m lk4pj-worker-us-east-1b-zgpzg running m4.xlarge us-east-1 us-east-1b 15m
Les machines du plan de contrôle contiennent
master
dans leur nom.Supprimez l'équilibreur de charge externe de chaque machine du plan de contrôle :
Modifiez un objet machine du plan de contrôle en exécutant la commande suivante :
$ oc edit machines -n openshift-machine-api <control_plane_name> 1
- 1
- Indiquez le nom de l'objet machine du plan de contrôle à modifier.
Supprimez les lignes qui décrivent l'équilibreur de charge externe, qui sont marquées dans l'exemple suivant :
providerSpec: value: loadBalancers: - name: lk4pj-ext 1 type: network 2 - name: lk4pj-int type: network
- Enregistrez vos modifications et quittez la spécification d'objet.
- Répétez ce processus pour chacune des machines du plan de contrôle.
2.4.1. Configuration de l'étendue de la publication du contrôleur d'entrée sur Interne
Lorsqu'un administrateur de cluster installe un nouveau cluster sans spécifier qu'il s'agit d'un cluster privé, le contrôleur d'entrée par défaut est créé avec un scope
défini sur External
. Les administrateurs de clusters peuvent modifier un contrôleur d'entrée à portée External
en Internal
.
Conditions préalables
-
Vous avez installé le CLI
oc
.
Procédure
Pour modifier un contrôleur d'entrée à portée de
External
enInternal
, entrez la commande suivante :$ oc -n openshift-ingress-operator patch ingresscontrollers/default --type=merge --patch='{"spec":{"endpointPublishingStrategy":{"type":"LoadBalancerService","loadBalancer":{"scope":"Internal"}}}}'
Pour vérifier l'état du contrôleur d'entrée, entrez la commande suivante :
$ oc -n openshift-ingress-operator get ingresscontrollers/default -o yaml
La condition d'état
Progressing
indique si vous devez prendre d'autres mesures. Par exemple, la condition d'état peut indiquer que vous devez supprimer le service en entrant la commande suivante :$ oc -n openshift-ingress delete services/router-default
Si vous supprimez le service, l'opérateur d'entrée le recrée en tant que
Internal
.