2.4. Gestion des profils CLI
Le fichier de configuration CLI vous permet de configurer différents profils, ou contextes, pour une utilisation avec la vue d’ensemble des outils CLI. Le contexte consiste en l’information du serveur Red Hat OpenShift sur AWS (ROSA) associée à un surnom.
2.4.1. À propos des changements entre les profils CLI Copier lienLien copié sur presse-papiers!
Les contextes vous permettent de basculer facilement entre plusieurs utilisateurs sur plusieurs serveurs ROSA, ou clusters, lors de l’utilisation des opérations CLI. Les surnoms facilitent la gestion des configurations CLI en fournissant des références courtes aux contextes, aux identifiants d’utilisateur et aux détails des clusters. Après qu’un utilisateur se connecte avec le CLI oc pour la première fois, ROSA crée un fichier ~/.kube/config si l’on n’existe pas déjà. Comme plus de détails d’authentification et de connexion sont fournis au CLI, soit automatiquement lors d’une opération de connexion oc, soit en configurant manuellement les profils CLI, les informations mises à jour sont stockées dans le fichier de configuration:
CLI config fichier
- 1
- La section clusters définit les détails de connexion pour les clusters ROSA, y compris l’adresse de leur serveur maître. Dans cet exemple, un cluster est surnommé openshift1.example.com:8443 et un autre est surnommé openshift2.example.com:8443.
- 2
- Cette section de contextes définit deux contextes: l’un surnommé alice-project/openshift1.example.com:8443/alice, en utilisant le projet alice-projet, openshift1.example.com:8443, cluster et alice user, et un autre surnommé joe-project/openshift1.example.com:8443/alice, en utilisant le projet joe-project, openshift1.example.com:8443 et a
- 3
- Le paramètre current-context montre que le contexte joe-project/openshift1.example.com:8443/alice est actuellement utilisé, permettant à l’utilisateur alice de travailler dans le projet joe-project sur le cluster openshift1.example.com:8443.
- 4
- La section utilisateurs définit les identifiants d’utilisateur. Dans cet exemple, le surnom d’utilisateur alice/openshift1.example.com:8443 utilise un jeton d’accès.
Le CLI peut prendre en charge plusieurs fichiers de configuration qui sont chargés au moment de l’exécution et fusionnés avec toutes les options de remplacement spécifiées à partir de la ligne de commande. Après avoir été connecté, vous pouvez utiliser l’état d’oc ou la commande projet oc pour vérifier votre environnement de travail actuel:
Vérifier l’environnement de travail actuel
oc status
$ oc status
Exemple de sortie
Liste du projet en cours
oc project
$ oc project
Exemple de sortie
Using project "joe-project" from context named "joe-project/openshift1.example.com:8443/alice" on server "https://openshift1.example.com:8443".
Using project "joe-project" from context named "joe-project/openshift1.example.com:8443/alice" on server "https://openshift1.example.com:8443".
Il est possible d’exécuter à nouveau la commande oc login et de fournir les informations requises au cours du processus interactif, pour vous connecter à l’aide de toute autre combinaison d’informations d’identification utilisateur et de détails de cluster. Le contexte est construit sur la base des informations fournies si l’on n’existe pas déjà. Lorsque vous êtes déjà connecté et que vous souhaitez passer à un autre projet auquel l’utilisateur actuel a déjà accès, utilisez la commande oc project et entrez le nom du projet:
oc project alice-project
$ oc project alice-project
Exemple de sortie
Now using project "alice-project" on server "https://openshift1.example.com:8443".
Now using project "alice-project" on server "https://openshift1.example.com:8443".
À tout moment, vous pouvez utiliser la commande oc config view pour afficher votre configuration CLI actuelle, comme le montre la sortie. Des commandes de configuration CLI supplémentaires sont également disponibles pour une utilisation plus avancée.
Lorsque vous avez accès à des identifiants d’administrateur mais que vous n’êtes plus connecté en tant que système utilisateur par défaut:admin, vous pouvez vous connecter en tant qu’utilisateur à tout moment tant que les informations d’identification sont toujours présentes dans votre fichier de configuration CLI. La commande suivante se connecte et passe au projet par défaut:
oc login -u system:admin -n default
$ oc login -u system:admin -n default
2.4.2. Configuration manuelle des profils CLI Copier lienLien copié sur presse-papiers!
Cette section couvre l’utilisation plus avancée des configurations CLI. Dans la plupart des situations, vous pouvez utiliser les commandes oc login et oc project pour vous connecter et basculer entre les contextes et les projets.
Lorsque vous souhaitez configurer manuellement vos fichiers de configuration CLI, vous pouvez utiliser la commande oc config au lieu de modifier directement les fichiers. La commande oc config comprend un certain nombre de sous-commandes utiles à cet effet:
Le sous-commande | L’utilisation |
---|---|
| Définit une entrée de cluster dans le fichier de configuration CLI. Lorsque le surnom de cluster référencé existe déjà, les informations spécifiées sont fusionnées. oc config set-cluster <cluster_nickname> [--server=<master_ip_or_fqdn>]
|
| Définit une entrée contextuelle dans le fichier de configuration CLI. Lorsque le surnom de contexte référencé existe déjà, les informations spécifiées sont fusionnées. oc config set-context <context_nickname> [--cluster=<cluster_nickname>]
|
| Définit le contexte actuel en utilisant le surnom de contexte spécifié. oc config use-context <context_nickname>
|
| Définit une valeur individuelle dans le fichier de configuration CLI. oc config set <property_name> <property_value>
Le <property_name> est un nom délimité par point où chaque jeton représente un nom d’attribut ou une clé de carte. La valeur <property_value> est la nouvelle valeur définie. |
| Désactivez les valeurs individuelles dans le fichier de configuration CLI. oc config unset <property_name>
Le <property_name> est un nom délimité par point où chaque jeton représente un nom d’attribut ou une clé de carte. |
| Affiche la configuration CLI fusionnée actuellement utilisée. oc config view
Affiche le résultat du fichier de configuration CLI spécifié. oc config view --config=<specific_filename>
|
Exemple d’utilisation
- Connectez-vous en tant qu’utilisateur qui utilise un jeton d’accès. Ce jeton est utilisé par l’utilisateur alice:
oc login https://openshift1.example.com --token=ns7yVhuRNpDM9cgzfhhxQ7bM5s7N2ZVrkZepSRf4LC0
$ oc login https://openshift1.example.com --token=ns7yVhuRNpDM9cgzfhhxQ7bM5s7N2ZVrkZepSRf4LC0
- Afficher l’entrée de cluster automatiquement créée:
oc config view
$ oc config view
Exemple de sortie
- Actualisez le contexte actuel pour que les utilisateurs se connectent à l’espace de noms souhaité:
oc config set-context `oc config current-context` --namespace=<project_name>
$ oc config set-context `oc config current-context` --namespace=<project_name>
- Examiner le contexte actuel, afin de confirmer que les changements sont mis en œuvre:
oc whoami -c
$ oc whoami -c
L’ensemble des opérations de CLI ultérieures utilise le nouveau contexte, sauf indication contraire par la suppression des options CLI ou jusqu’à ce que le contexte soit changé.
2.4.3. Charger et fusionner les règles Copier lienLien copié sur presse-papiers!
Lors de l’émission des opérations CLI pour le chargement et la fusion de l’ordre pour la configuration CLI, vous pouvez suivre ces règles:
Les fichiers de configuration CLI sont récupérés à partir de votre poste de travail, en utilisant la hiérarchie suivante et les règles de fusion:
- Lorsque l’option --config est définie, seul ce fichier est chargé. Le drapeau est fixé une fois et aucune fusion n’a lieu.
- Lorsque la variable d’environnement $KUBECONFIG est définie, elle est utilisée. La variable peut être une liste de chemins, et si c’est le cas, les chemins sont fusionnés ensemble. Lorsqu’une valeur est modifiée, elle est modifiée dans le fichier qui définit la strophe. Lorsqu’une valeur est créée, elle est créée dans le premier fichier existant. En l’absence de fichiers dans la chaîne, il crée le dernier fichier dans la liste.
- Dans le cas contraire, le fichier ~/.kube/config est utilisé et aucune fusion n’a lieu.
Le contexte à utiliser est déterminé en fonction de la première correspondance dans le flux suivant:
- La valeur de l’option --context.
- La valeur contextuelle actuelle du fichier de configuration CLI.
- À ce stade, une valeur vide est autorisée.
L’utilisateur et le cluster à utiliser sont déterminés. À ce stade, vous pouvez ou non avoir un contexte; ils sont construits en fonction de la première correspondance dans le flux suivant, qui est exécuté une fois pour l’utilisateur et une fois pour le cluster:
- La valeur de --user pour le nom d’utilisateur et l’option --cluster pour le nom de cluster.
- Lorsque l’option --context est présente, utilisez la valeur du contexte.
- À ce stade, une valeur vide est autorisée.
L’information réelle du cluster à utiliser est déterminée. À ce stade, vous pouvez avoir ou non des informations de cluster. Chaque élément de l’information de cluster est construit en fonction de la première correspondance dans le flux suivant:
Les valeurs de l’une des options de ligne de commande suivantes:
- --serveur,
-
--API-version
-
--certificat-autorité
-
--insécurité-skip-tls-vérifier
- Lorsque des informations de cluster et une valeur pour l’attribut sont présentes, utilisez-les.
- Dans le cas où vous n’avez pas d’emplacement de serveur, il y a une erreur.
Les informations réelles de l’utilisateur à utiliser sont déterminées. Les utilisateurs sont construits en utilisant les mêmes règles que les clusters, sauf que vous ne pouvez avoir qu’une seule technique d’authentification par utilisateur; les techniques contradictoires causent l’échec de l’opération. Les options de ligne de commande ont préséance sur les valeurs de fichier de configuration. Les options de ligne de commande valides sont:
-
--auth-chemin
-
--certificat client
-
--client-clé
-
--jeton
-
- Dans le cas de toute information manquante, des valeurs par défaut sont utilisées et des invitations sont fournies pour des informations supplémentaires.