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

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

apiVersion: v1
clusters: 
1

- cluster:
    insecure-skip-tls-verify: true
    server: https://openshift1.example.com:8443
  name: openshift1.example.com:8443
- cluster:
    insecure-skip-tls-verify: true
    server: https://openshift2.example.com:8443
  name: openshift2.example.com:8443
contexts: 
2

- context:
    cluster: openshift1.example.com:8443
    namespace: alice-project
    user: alice/openshift1.example.com:8443
  name: alice-project/openshift1.example.com:8443/alice
- context:
    cluster: openshift1.example.com:8443
    namespace: joe-project
    user: alice/openshift1.example.com:8443
  name: joe-project/openshift1/alice
current-context: joe-project/openshift1.example.com:8443/alice 
3

kind: Config
preferences: {}
users: 
4

- name: alice/openshift1.example.com:8443
  user:
    token: xZHd2piv5_9vQrg-SKXRJ2Dsl9SceNJdhNTljEKTb8k
Copy to Clipboard Toggle word wrap

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
Copy to Clipboard Toggle word wrap

Exemple de sortie

oc status
In project Joe's Project (joe-project)

service database (172.30.43.12:5434 -> 3306)
  database deploys docker.io/openshift/mysql-55-centos7:latest
    #1 deployed 25 minutes ago - 1 pod

service frontend (172.30.159.137:5432 -> 8080)
  frontend deploys origin-ruby-sample:latest <-
    builds https://github.com/openshift/ruby-hello-world with joe-project/ruby-20-centos7:latest
    #1 deployed 22 minutes ago - 2 pods

To see more information about a service or deployment, use 'oc describe service <name>' or 'oc describe dc <name>'.
You can use 'oc get all' to see lists of each of the types described in this example.
Copy to Clipboard Toggle word wrap

Liste du projet en cours

$ oc project
Copy to Clipboard Toggle word wrap

Exemple de sortie

Using project "joe-project" from context named "joe-project/openshift1.example.com:8443/alice" on server "https://openshift1.example.com:8443".
Copy to Clipboard Toggle word wrap

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
Copy to Clipboard Toggle word wrap

Exemple de sortie

Now using project "alice-project" on server "https://openshift1.example.com:8443".
Copy to Clipboard Toggle word wrap

À 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.

Note

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
Copy to Clipboard Toggle word wrap

2.4.2. Configuration manuelle des profils CLI

Note

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:

Expand
Tableau 2.2. Configuration de CLI sous-commandes
Le sous-commandeL’utilisation

ensemble-cluster

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>]
[--certificate-authority=<path/to/certificate/authority>]
[--api-version=<apiversion>] [--insecure-skip-tls-verify=true]
Copy to Clipboard Toggle word wrap

ensemble-contexte

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>]
[--user=<user_nickname>] [--namespace=<namespace>]
Copy to Clipboard Toggle word wrap

contexte d’utilisation

Définit le contexte actuel en utilisant le surnom de contexte spécifié.

$ oc config use-context <context_nickname>
Copy to Clipboard Toggle word wrap

ensemble

Définit une valeur individuelle dans le fichier de configuration CLI.

$ oc config set <property_name> <property_value>
Copy to Clipboard Toggle word wrap

Le &lt;property_name&gt; est un nom délimité par point où chaque jeton représente un nom d’attribut ou une clé de carte. La valeur &lt;property_value&gt; est la nouvelle valeur définie.

déconnexion

Désactivez les valeurs individuelles dans le fichier de configuration CLI.

$ oc config unset <property_name>
Copy to Clipboard Toggle word wrap

Le &lt;property_name&gt; est un nom délimité par point où chaque jeton représente un nom d’attribut ou une clé de carte.

à voir

Affiche la configuration CLI fusionnée actuellement utilisée.

$ oc config view
Copy to Clipboard Toggle word wrap

Affiche le résultat du fichier de configuration CLI spécifié.

$ oc config view --config=<specific_filename>
Copy to Clipboard Toggle word wrap

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
Copy to Clipboard Toggle word wrap
  • Afficher l’entrée de cluster automatiquement créée:
$ oc config view
Copy to Clipboard Toggle word wrap

Exemple de sortie

apiVersion: v1
clusters:
- cluster:
    insecure-skip-tls-verify: true
    server: https://openshift1.example.com
  name: openshift1-example-com
contexts:
- context:
    cluster: openshift1-example-com
    namespace: default
    user: alice/openshift1-example-com
  name: default/openshift1-example-com/alice
current-context: default/openshift1-example-com/alice
kind: Config
preferences: {}
users:
- name: alice/openshift1.example.com
  user:
    token: ns7yVhuRNpDM9cgzfhhxQ7bM5s7N2ZVrkZepSRf4LC0
Copy to Clipboard Toggle word wrap

  • 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>
Copy to Clipboard Toggle word wrap
  • Examiner le contexte actuel, afin de confirmer que les changements sont mis en œuvre:
$ oc whoami -c
Copy to Clipboard Toggle word wrap

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

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.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat