Les outils CLI


OpenShift Dedicated 4

Apprendre à utiliser les outils de ligne de commande pour OpenShift Dedicated

Red Hat OpenShift Documentation Team

Résumé

Ce document fournit des informations sur l’installation, la configuration et l’utilisation des outils de ligne de commande avec des clusters dédiés OpenShift. Il contient également une référence des commandes CLI et des exemples de la façon de les utiliser.

Chapitre 1. Aperçu des outils CLI dédiés à OpenShift

L’utilisateur effectue une série d’opérations tout en travaillant sur OpenShift Dedicated tel que:

  • Gestion des clusters
  • Construire, déployer et gérer des applications
  • Gestion des processus de déploiement
  • Développer des opérateurs
  • Création et maintenance de catalogues d’opérateurs

L’OpenShift Dedicated propose un ensemble d’outils d’interface de commande-ligne (CLI) qui simplifient ces tâches en permettant aux utilisateurs d’effectuer diverses opérations d’administration et de développement à partir du terminal. Ces outils exposent des commandes simples pour gérer les applications, ainsi que pour interagir avec chaque composant du système.

1.1. Liste des outils CLI

Les outils CLI suivants sont disponibles dans OpenShift Dedicated:

  • CLI OpenShift (oc) : C’est l’outil CLI le plus couramment utilisé par les utilisateurs d’OpenShift Dedicated. Il aide les administrateurs de clusters et les développeurs à effectuer des opérations de bout en bout sur OpenShift Dedicated à l’aide du terminal. Contrairement à la console Web, il permet à l’utilisateur de travailler directement avec le code source du projet à l’aide de scripts de commande.
  • Knative CLI (kn): L’outil Knative (kn) CLI fournit des commandes terminales simples et intuitives qui peuvent être utilisées pour interagir avec des composants OpenShift Serverless, tels que Knative Serving et Eventing.
  • Les pipelines CLI (tkn): OpenShift Pipelines est une solution d’intégration continue et de livraison continue (CI/CD) dans OpenShift Dedicated, qui utilise en interne Tekton. L’outil tkn CLI fournit des commandes simples et intuitives pour interagir avec OpenShift Pipelines à l’aide du terminal.
  • CLI OPM : L’outil Opm CLI aide les développeurs d’opérateurs et les administrateurs de clusters à créer et à maintenir les catalogues d’opérateurs à partir du terminal.
  • Le SDK de l’opérateur, un composant du Cadre d’opérateur, fournit un outil CLI que les développeurs d’opérateurs peuvent utiliser pour construire, tester et déployer un opérateur à partir du terminal. Il simplifie le processus de création d’applications natives Kubernetes, ce qui peut nécessiter des connaissances opérationnelles approfondies et spécifiques à l’application.

Chapitre 2. CLI OpenShift (oc)

2.1. Débuter avec l’OpenShift CLI

2.1.1. À propos de l’OpenShift CLI

Avec OpenShift CLI (oc), vous pouvez créer des applications et gérer des projets OpenShift Dedicated à partir d’un terminal. L’OpenShift CLI est idéal dans les situations suivantes:

  • En travaillant directement avec le code source du projet
  • Scripting OpenShift Opérations dédiées
  • Gérer des projets tout en étant limité par les ressources de bande passante et la console Web est indisponible

2.1.2. Installation de l’OpenShift CLI

Il est possible d’installer l’OpenShift CLI (oc) en téléchargeant le binaire ou en utilisant un RPM.

2.1.2.1. Installation de l’OpenShift CLI

Il est possible d’installer le CLI OpenShift (oc) pour interagir avec les clusters dédiés OpenShift à partir d’une interface de ligne de commande. Il est possible d’installer oc sous Linux, Windows ou macOS.

Important

Lorsque vous avez installé une version antérieure d’oc, vous ne pouvez pas l’utiliser pour compléter toutes les commandes dans OpenShift Dedicated 4. Installez et téléchargez la nouvelle version d’oc.

Installation du CLI OpenShift sur Linux

En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur Linux.

Procédure

  1. Accédez à la page de téléchargements OpenShift Dedicated sur le portail client Red Hat.
  2. Choisissez l’architecture dans la liste déroulante Variante de produit.
  3. Choisissez la version appropriée dans la liste déroulante Version.
  4. Cliquez sur Télécharger maintenant à côté de l’entrée OpenShift v4 Linux Clients et enregistrez le fichier.
  5. Décompressez l’archive:

    $ tar xvf <file>
    Copy to Clipboard Toggle word wrap
  6. Déposez le binaire oc dans un répertoire qui est sur votre PATH.

    Afin de vérifier votre PATH, exécutez la commande suivante:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

La vérification

  • Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:

    $ oc <command>
    Copy to Clipboard Toggle word wrap
Installation du CLI OpenShift sur Windows

En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur Windows.

Procédure

  1. Accédez à la page de téléchargements OpenShift Dedicated sur le portail client Red Hat.
  2. Choisissez la version appropriée dans la liste déroulante Version.
  3. Cliquez sur Télécharger maintenant à côté de l’entrée client Windows OpenShift v4 et enregistrez le fichier.
  4. Décompressez l’archive avec un programme ZIP.
  5. Déplacez le binaire oc vers un répertoire qui est sur votre PATH.

    Afin de vérifier votre PATH, ouvrez l’invite de commande et exécutez la commande suivante:

    C:\> path
    Copy to Clipboard Toggle word wrap

La vérification

  • Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:

    C:\> oc <command>
    Copy to Clipboard Toggle word wrap
Installation de l’OpenShift CLI sur macOS

En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur macOS.

Procédure

  1. Accédez à la page de téléchargements OpenShift Dedicated sur le portail client Red Hat.
  2. Choisissez la version appropriée dans la liste déroulante Version.
  3. Cliquez sur Télécharger maintenant à côté de l’entrée OpenShift v4 macOS Clients et enregistrez le fichier.

    Note

    Dans le cas de macOS arm64, choisissez l’entrée client OpenShift v4 macOS arm64.

  4. Décompressez et décompressez l’archive.
  5. Déplacez le binaire oc vers un répertoire sur votre PATH.

    Afin de vérifier votre PATH, ouvrez un terminal et exécutez la commande suivante:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

La vérification

  • Contrôlez votre installation à l’aide d’une commande oc:

    $ oc <command>
    Copy to Clipboard Toggle word wrap

Il est possible d’installer l’OpenShift CLI (oc) pour interagir avec les clusters dédiés OpenShift à partir d’une console Web. Il est possible d’installer oc sous Linux, Windows ou macOS.

Important

Lorsque vous avez installé une version antérieure d’oc, vous ne pouvez pas l’utiliser pour compléter toutes les commandes dans OpenShift Dedicated 4. Installez et téléchargez la nouvelle version d’oc.

En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur Linux.

Procédure

  1. Cliquez ici pour télécharger la dernière version de oc CLI pour votre système d’exploitation à partir de la page Téléchargements sur OpenShift Cluster Manager.
  2. Extrayez le fichier binaire oc de l’archive téléchargée.

    $ tar xvf <file>
    Copy to Clipboard Toggle word wrap
  3. Déplacez le binaire oc vers un répertoire qui est sur votre PATH.

    Afin de vérifier votre PATH, exécutez la commande suivante:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:

$ oc <command>
Copy to Clipboard Toggle word wrap

En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur Windows.

Procédure

  1. Cliquez ici pour télécharger la dernière version de oc CLI pour votre système d’exploitation à partir de la page Téléchargements sur OpenShift Cluster Manager.
  2. Extrayez le fichier binaire oc de l’archive téléchargée.
  3. Déplacez le binaire oc vers un répertoire qui est sur votre PATH.

    Afin de vérifier votre PATH, ouvrez l’invite de commande et exécutez la commande suivante:

    C:\> path
    Copy to Clipboard Toggle word wrap

Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:

C:\> oc <command>
Copy to Clipboard Toggle word wrap

En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur macOS.

Procédure

  1. Cliquez ici pour télécharger la dernière version de oc CLI pour votre système d’exploitation à partir de la page Téléchargements sur OpenShift Cluster Manager.
  2. Extrayez le fichier binaire oc de l’archive téléchargée.
  3. Déplacez le binaire oc vers un répertoire sur votre PATH.

    Afin de vérifier votre PATH, ouvrez un terminal et exécutez la commande suivante:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:

$ oc <command>
Copy to Clipboard Toggle word wrap
2.1.2.3. Installation du CLI OpenShift à l’aide d’un RPM

Dans Red Hat Enterprise Linux (RHEL), vous pouvez installer l’OpenShift CLI (oc) en tant que RPM si vous disposez d’un abonnement dédié OpenShift actif sur votre compte Red Hat.

Important

Il faut installer oc pour RHEL 9 en téléchargeant le binaire. L’installation d’oc à l’aide d’un paquet RPM n’est pas prise en charge sur Red Hat Enterprise Linux (RHEL) 9.

Conditions préalables

  • Doit avoir des privilèges racine ou sudo.

Procédure

  1. Inscrivez-vous avec Red Hat Subscription Manager:

    # subscription-manager register
    Copy to Clipboard Toggle word wrap
  2. Retirez les dernières données d’abonnement:

    # subscription-manager refresh
    Copy to Clipboard Toggle word wrap
  3. Liste des abonnements disponibles:

    # subscription-manager list --available --matches '*OpenShift*'
    Copy to Clipboard Toggle word wrap
  4. Dans la sortie de la commande précédente, trouvez l’identifiant de pool pour un abonnement dédié OpenShift et attachez l’abonnement au système enregistré:

    # subscription-manager attach --pool=<pool_id>
    Copy to Clipboard Toggle word wrap
  5. Activer les référentiels requis par OpenShift Dedicated 4.

    # subscription-manager repos --enable="rhocp-4-for-rhel-8-x86_64-rpms"
    Copy to Clipboard Toggle word wrap
  6. Installez le package openshift-clients:

    # yum install openshift-clients
    Copy to Clipboard Toggle word wrap

La vérification

  • Contrôlez votre installation à l’aide d’une commande oc:
$ oc <command>
Copy to Clipboard Toggle word wrap

Dans macOS, vous pouvez installer l’OpenShift CLI (oc) en utilisant le gestionnaire de paquets Homebrew.

Conditions préalables

  • Homebrew (brew) doit être installé.

Procédure

  • Installez le package openshift-cli en exécutant la commande suivante:

    $ brew install openshift-cli
    Copy to Clipboard Toggle word wrap

La vérification

  • Contrôlez votre installation à l’aide d’une commande oc:
$ oc <command>
Copy to Clipboard Toggle word wrap

2.1.3. Connexion à l’OpenShift CLI

Connectez-vous à OpenShift CLI (oc) pour accéder et gérer votre cluster.

Conditions préalables

  • Il faut avoir accès à un cluster dédié OpenShift.
  • L’OpenShift CLI (oc) est installé.
Note

Afin d’accéder à un cluster accessible uniquement sur un serveur proxy HTTP, vous pouvez définir les variables HTTP_PROXY, HTTPS_PROXY et NO_PROXY. Ces variables d’environnement sont respectées par le CLI oc afin que toute communication avec le cluster passe par le proxy HTTP.

Les en-têtes d’authentification ne sont envoyés que lorsque vous utilisez le transport HTTPS.

Procédure

  1. Entrez la commande oc login et passez dans un nom d’utilisateur:

    $ oc login -u user1
    Copy to Clipboard Toggle word wrap
  2. Lorsque vous l’invitez, entrez les informations requises:

    Exemple de sortie

    Server [https://localhost:8443]: https://openshift.example.com:6443 
    1
    
    The server uses a certificate signed by an unknown authority.
    You can bypass the certificate check, but any data you send to the server could be intercepted by others.
    Use insecure connections? (y/n): y 
    2
    
    
    Authentication required for https://openshift.example.com:6443 (openshift)
    Username: user1
    Password: 
    3
    
    Login successful.
    
    You don't have any projects. You can try to create a new project, by running
    
        oc new-project <projectname>
    
    Welcome! See 'oc help' to get started.
    Copy to Clipboard Toggle word wrap

    1
    Entrez l’URL du serveur dédié OpenShift.
    2
    Entrez s’il faut utiliser des connexions non sécurisées.
    3
    Entrez le mot de passe de l’utilisateur.
Note

Lorsque vous êtes connecté à la console Web, vous pouvez générer une commande de connexion oc qui inclut vos informations de jeton et de serveur. La commande vous permet de vous connecter à OpenShift Dedicated CLI sans les instructions interactives. Afin de générer la commande, sélectionnez Copier la commande de connexion dans le menu déroulant du nom d’utilisateur en haut à droite de la console Web.

Il est maintenant possible de créer un projet ou d’émettre d’autres commandes pour la gestion de votre cluster.

Connectez-vous à OpenShift CLI (oc) à l’aide d’un navigateur Web pour accéder et gérer votre cluster. Cela permet aux utilisateurs d’éviter d’insérer leur jeton d’accès dans la ligne de commande.

Avertissement

La connexion au CLI via le navigateur Web exécute un serveur sur localhost avec HTTP, et non HTTPS; utilisez avec prudence sur les stations de travail multi-utilisateurs.

Conditions préalables

  • Il faut avoir accès à un cluster dédié OpenShift.
  • Il faut avoir installé l’OpenShift CLI (oc).
  • Il faut installer un navigateur.

Procédure

  1. Entrez la commande de connexion oc avec le drapeau --web:

    $ oc login <cluster_url> --web 
    1
    Copy to Clipboard Toggle word wrap
    1
    En option, vous pouvez spécifier l’URL du serveur et le port de rappel. A titre d’exemple, oc login &lt;cluster_url&gt; --web --callback-port 8280 localhost:8443.
  2. Le navigateur web s’ouvre automatiquement. Dans le cas contraire, cliquez sur le lien dans la sortie de commande. Dans le cas où vous ne spécifiez pas le serveur dédié OpenShift, vous essayez d’ouvrir la console Web du cluster spécifié dans le fichier de configuration oc actuel. En l’absence de configuration d’oc, oc invite de manière interactive l’URL du serveur.

    Exemple de sortie

    Opening login URL in the default browser: https://openshift.example.com
    Opening in existing browser session.
    Copy to Clipboard Toggle word wrap

  3. Lorsque plus d’un fournisseur d’identité est disponible, sélectionnez votre choix parmi les options fournies.
  4. Entrez votre nom d’utilisateur et votre mot de passe dans les champs de navigateur correspondants. Après avoir été connecté, le navigateur affiche le jeton d’accès texte reçu avec succès; s’il vous plaît revenir à votre terminal.
  5. Consultez le CLI pour une confirmation de connexion.

    Exemple de sortie

    Login successful.
    
    You don't have any projects. You can try to create a new project, by running
    
        oc new-project <projectname>
    Copy to Clipboard Toggle word wrap

Note

La console Web par défaut au profil utilisé lors de la session précédente. Afin de basculer entre les profils Administrateur et Développeur, déconnectez-vous de la console Web OpenShift et effacez le cache.

Il est maintenant possible de créer un projet ou d’émettre d’autres commandes pour la gestion de votre cluster.

2.1.5. À l’aide de l’OpenShift CLI

Examinez les sections suivantes pour apprendre à accomplir des tâches communes à l’aide de l’ICC.

2.1.5.1. Créer un projet

La commande oc new-project permet de créer un nouveau projet.

$ oc new-project my-project
Copy to Clipboard Toggle word wrap

Exemple de sortie

Now using project "my-project" on server "https://openshift.example.com:6443".
Copy to Clipboard Toggle word wrap

2.1.5.2. Créer une nouvelle application

La commande oc new-app permet de créer une nouvelle application.

$ oc new-app https://github.com/sclorg/cakephp-ex
Copy to Clipboard Toggle word wrap

Exemple de sortie

--> Found image 40de956 (9 days old) in imagestream "openshift/php" under tag "7.2" for "php"

...

    Run 'oc status' to view your app.
Copy to Clipboard Toggle word wrap

2.1.5.3. Affichage des gousses

La commande oc get pods permet d’afficher les pods du projet en cours.

Note

Lorsque vous exécutez oc à l’intérieur d’un pod et ne spécifiez pas un espace de noms, l’espace de noms du pod est utilisé par défaut.

$ oc get pods -o wide
Copy to Clipboard Toggle word wrap

Exemple de sortie

NAME                  READY   STATUS      RESTARTS   AGE     IP            NODE                           NOMINATED NODE
cakephp-ex-1-build    0/1     Completed   0          5m45s   10.131.0.10   ip-10-0-141-74.ec2.internal    <none>
cakephp-ex-1-deploy   0/1     Completed   0          3m44s   10.129.2.9    ip-10-0-147-65.ec2.internal    <none>
cakephp-ex-1-ktz97    1/1     Running     0          3m33s   10.128.2.11   ip-10-0-168-105.ec2.internal   <none>
Copy to Clipboard Toggle word wrap

2.1.5.4. Affichage des journaux des pod

La commande oc logs permet d’afficher les journaux d’un pod particulier.

$ oc logs cakephp-ex-1-deploy
Copy to Clipboard Toggle word wrap

Exemple de sortie

--> Scaling cakephp-ex-1 to 1
--> Success
Copy to Clipboard Toggle word wrap

2.1.5.5. Affichage du projet en cours

La commande oc project permet d’afficher le projet en cours.

$ oc project
Copy to Clipboard Toggle word wrap

Exemple de sortie

Using project "my-project" on server "https://openshift.example.com:6443".
Copy to Clipboard Toggle word wrap

2.1.5.6. Affichage de l’état du projet en cours

La commande d’état oc permet d’afficher des informations sur le projet en cours, tels que les services, les déploiements et les configurations de build.

$ oc status
Copy to Clipboard Toggle word wrap

Exemple de sortie

In project my-project on server https://openshift.example.com:6443

svc/cakephp-ex - 172.30.236.80 ports 8080, 8443
  dc/cakephp-ex deploys istag/cakephp-ex:latest <-
    bc/cakephp-ex source builds https://github.com/sclorg/cakephp-ex on openshift/php:7.2
    deployment #1 deployed 2 minutes ago - 1 pod

3 infos identified, use 'oc status --suggest' to see details.
Copy to Clipboard Toggle word wrap

2.1.5.7. Liste des ressources d’API prises en charge

La commande oc api-ressources permet d’afficher la liste des ressources API prises en charge sur le serveur.

$ oc api-resources
Copy to Clipboard Toggle word wrap

Exemple de sortie

NAME                                  SHORTNAMES       APIGROUP                              NAMESPACED   KIND
bindings                                                                                     true         Binding
componentstatuses                     cs                                                     false        ComponentStatus
configmaps                            cm                                                     true         ConfigMap
...
Copy to Clipboard Toggle word wrap

2.1.6. Avoir de l’aide

Avec les commandes CLI et OpenShift, vous pouvez obtenir de l’aide de la manière suivante:

  • Faites appel à l’aide d’oc pour obtenir une liste et une description de toutes les commandes CLI disponibles:

    Exemple : Obtenez de l’aide générale pour le CLI

    $ oc help
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    OpenShift Client
    
    This client helps you develop, build, deploy, and run your applications on any OpenShift or Kubernetes compatible
    platform. It also includes the administrative commands for managing a cluster under the 'adm' subcommand.
    
    Usage:
      oc [flags]
    
    Basic Commands:
      login           Log in to a server
      new-project     Request a new project
      new-app         Create a new application
    
    ...
    Copy to Clipboard Toggle word wrap

  • Employez le drapeau --help pour obtenir de l’aide sur une commande CLI spécifique:

    Exemple : Obtenez de l’aide pour la commande oc create

    $ oc create --help
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    Create a resource by filename or stdin
    
    JSON and YAML formats are accepted.
    
    Usage:
      oc create -f FILENAME [flags]
    
    ...
    Copy to Clipboard Toggle word wrap

  • La commande oc explicative permet d’afficher la description et les champs d’une ressource particulière:

    Exemple : Voir la documentation pour la ressource Pod

    $ oc explain pods
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    KIND:     Pod
    VERSION:  v1
    
    DESCRIPTION:
         Pod is a collection of containers that can run on a host. This resource is
         created by clients and scheduled onto hosts.
    
    FIELDS:
       apiVersion	<string>
         APIVersion defines the versioned schema of this representation of an
         object. Servers should convert recognized schemas to the latest internal
         value, and may reject unrecognized values. More info:
         https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
    
    ...
    Copy to Clipboard Toggle word wrap

2.1.7. Déverrouillage de l’OpenShift CLI

Déconnectez le CLI OpenShift pour terminer votre session en cours.

  • La commande oc logout est utilisée.

    $ oc logout
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    Logged "user1" out on "https://openshift.example.com"
    Copy to Clipboard Toggle word wrap

Cela supprime le jeton d’authentification enregistré du serveur et le supprime de votre fichier de configuration.

2.2. Configuration de l’OpenShift CLI

2.2.1. Activer la fin de l’onglet

Il est possible d’activer la fin de l’onglet pour les shells Bash ou Zsh.

2.2.1.1. Activer la réalisation de l’onglet pour Bash

Après avoir installé le CLI OpenShift (oc), vous pouvez activer l’achèvement de l’onglet pour compléter automatiquement les commandes oc ou suggérer des options lorsque vous appuyez sur Tab. La procédure suivante permet de compléter l’onglet pour le shell Bash.

Conditions préalables

  • Il faut que la CLI OpenShift (oc) soit installée.
  • Il faut installer le paquet bash-completion.

Procédure

  1. Enregistrez le code d’achèvement Bash dans un fichier:

    $ oc completion bash > oc_bash_completion
    Copy to Clipboard Toggle word wrap
  2. Copiez le fichier dans /etc/bash_completion.d/:

    $ sudo cp oc_bash_completion /etc/bash_completion.d/
    Copy to Clipboard Toggle word wrap

    Il est également possible d’enregistrer le fichier dans un répertoire local et de le sourcer à partir de votre fichier .bashrc à la place.

L’achèvement de l’onglet est activé lorsque vous ouvrez un nouveau terminal.

2.2.1.2. Activer la réalisation de l’onglet pour Zsh

Après avoir installé le CLI OpenShift (oc), vous pouvez activer l’achèvement de l’onglet pour compléter automatiquement les commandes oc ou suggérer des options lorsque vous appuyez sur Tab. La procédure suivante permet de compléter l’onglet pour le shell Zsh.

Conditions préalables

  • Il faut que la CLI OpenShift (oc) soit installée.

Procédure

  • Afin d’ajouter l’onglet oc à votre fichier .zshrc, exécutez la commande suivante:

    $ cat >>~/.zshrc<<EOF
    autoload -Uz compinit
    compinit
    if [ $commands[oc] ]; then
      source <(oc completion zsh)
      compdef _oc oc
    fi
    EOF
    Copy to Clipboard Toggle word wrap

L’achèvement de l’onglet est activé lorsque vous ouvrez un nouveau terminal.

2.3. L’utilisation des commandes oc et kubectl

L’interface de ligne de commande Kubernetes (CLI), kubectl, peut être utilisée pour exécuter des commandes contre un cluster Kubernetes. Comme OpenShift Dedicated est une distribution certifiée Kubernetes, vous pouvez utiliser les binaires kubectl pris en charge qui sont livrés avec OpenShift Dedicated, ou vous pouvez obtenir des fonctionnalités étendues en utilisant le binaire oc.

2.3.1. Le binaire oc

Le binaire oc offre les mêmes capacités que le binaire kubectl, mais il prend en charge nativement des fonctionnalités supplémentaires OpenShift Dedicated, y compris:

  • Assistance complète pour OpenShift Ressources dédiées

    Les ressources telles que DeploymentConfig, BuildConfig, Route, ImageStream et ImageStreamTag sont spécifiques aux distributions dédiées OpenShift et s’appuient sur les primitives Kubernetes standard.

  • Authentification
  • Commandes supplémentaires

    La nouvelle application de commande supplémentaire, par exemple, facilite le démarrage de nouvelles applications à l’aide du code source existant ou d’images pré-construites. De même, la commande supplémentaire oc new-project facilite le démarrage d’un projet que vous pouvez passer par défaut.

Important

Lorsque vous avez installé une version antérieure du binaire oc, vous ne pouvez pas l’utiliser pour compléter toutes les commandes dans OpenShift Dedicated 4 . Lorsque vous voulez les dernières fonctionnalités, vous devez télécharger et installer la dernière version du binaire oc correspondant à votre version de serveur dédié OpenShift.

Les changements d’API non sécurisés entraîneront, au minimum, deux versions mineures (4.1 à 4.2 à 4.3, par exemple) pour permettre à d’anciens binaires d’oc de mettre à jour. L’utilisation de nouvelles capacités peut nécessiter de nouveaux binaires oc. Le serveur 4.3 peut avoir des capacités supplémentaires qu’un binaire 4.2 oc ne peut pas utiliser et un binaire 4,3 oc peut avoir des capacités supplémentaires qui ne sont pas prises en charge par un serveur 4.2.

Expand
Tableau 2.1. Compatibilité Matrix
 

Client x.Y (oc client)

* x.Y+N note de bas de page:versionpolicyn[Là où N est un nombre supérieur ou égal à 1.] (oc Client)

Catégorie:X.Y (Serveur)

redcircle 1

redcircle 3

Ajouter au panier x.Y+N note de bas de page:versionpolicyn[] (Server)

redcircle 2

redcircle 1

redcircle 1 Entièrement compatible.

redcircle 2 le client OC peut ne pas être en mesure d’accéder aux fonctionnalités du serveur.

redcircle 3 le client OC peut fournir des options et des fonctionnalités qui pourraient ne pas être compatibles avec le serveur accédé.

2.3.2. Le binaire kubectl

Le binaire kubectl est fourni comme un moyen de prendre en charge les flux de travail et les scripts existants pour les nouveaux utilisateurs dédiés OpenShift provenant d’un environnement Kubernetes standard, ou pour ceux qui préfèrent utiliser le kubectl CLI. Les utilisateurs existants de kubectl peuvent continuer à utiliser le binaire pour interagir avec les primitifs de Kubernetes, sans modification nécessaire au cluster OpenShift Dedicated.

Il est possible d’installer le binaire kubectl pris en charge en suivant les étapes pour installer le CLI OpenShift. Le binaire kubectl est inclus dans l’archive si vous téléchargez le binaire, ou est installé lorsque vous installez le CLI en utilisant un RPM.

Consultez la documentation kubectl pour plus d’informations.

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 un serveur dédié OpenShift associé à 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 ou clusters dédiés OpenShift 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, OpenShift Dedicated 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 dédiés OpenShift, 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.

2.5. Extension du CLI OpenShift avec des plugins

Il est possible d’écrire et d’installer des plugins pour construire sur les commandes oc par défaut, ce qui vous permet d’effectuer de nouvelles tâches plus complexes avec OpenShift CLI.

2.5.1. Ecrire des plugins CLI

Il est possible d’écrire un plugin pour OpenShift CLI dans n’importe quel langage de programmation ou script qui vous permet d’écrire des commandes en ligne de commande. Il est à noter que vous ne pouvez pas utiliser un plugin pour écraser une commande oc existante.

Procédure

Cette procédure crée un plugin Bash simple qui imprime un message vers le terminal lorsque la commande oc foo est émise.

  1. Créez un fichier appelé oc-foo.

    Lorsque vous nommez votre fichier plugin, gardez à l’esprit ce qui suit:

    • Le fichier doit commencer par oc- ou kubectl- pour être reconnu comme un plugin.
    • Le nom du fichier détermine la commande qui invoque le plugin. À titre d’exemple, un plugin avec le nom de fichier oc-foo-bar peut être invoqué par une commande de oc foo bar. Il est également possible d’utiliser des accents si vous souhaitez que la commande contienne des tirets. À titre d’exemple, un plugin avec le nom de fichier oc-foo_bar peut être invoqué par une commande d’oc foo-bar.
  2. Ajoutez le contenu suivant au fichier.

    #!/bin/bash
    
    # optional argument handling
    if [[ "$1" == "version" ]]
    then
        echo "1.0.0"
        exit 0
    fi
    
    # optional argument handling
    if [[ "$1" == "config" ]]
    then
        echo $KUBECONFIG
        exit 0
    fi
    
    echo "I am a plugin named kubectl-foo"
    Copy to Clipboard Toggle word wrap

Après avoir installé ce plugin pour le CLI, il peut être invoqué en utilisant la commande oc foo.

2.5.2. Installation et utilisation de plugins CLI

Après avoir écrit un plugin personnalisé pour OpenShift CLI, vous devez installer le plugin avant utilisation.

Conditions préalables

  • L’outil oc CLI doit être installé.
  • Il faut avoir un fichier de plugin CLI qui commence par oc- ou kubectl-.

Procédure

  1. Au besoin, mettre à jour le fichier plugin pour être exécutable.

    $ chmod +x <plugin_file>
    Copy to Clipboard Toggle word wrap
  2. Déposez le fichier n’importe où dans votre PATH, comme /usr/local/bin/.

    $ sudo mv <plugin_file> /usr/local/bin/.
    Copy to Clipboard Toggle word wrap
  3. Exécutez la liste des plugins oc pour vous assurer que le plugin est listé.

    $ oc plugin list
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    The following compatible plugins are available:
    
    /usr/local/bin/<plugin_file>
    Copy to Clipboard Toggle word wrap

    Dans le cas où votre plugin n’est pas listé ici, vérifiez que le fichier commence par oc- ou kubectl-, qu’il est exécutable et qu’il est sur votre PATH.

  4. Invoquez la nouvelle commande ou option introduite par le plugin.

    Ainsi, si vous avez construit et installé le plugin kubectl-ns à partir du référentiel du plugin Sample, vous pouvez utiliser la commande suivante pour afficher l’espace de noms actuel.

    $ oc ns
    Copy to Clipboard Toggle word wrap

    A noter que la commande d’invoquer le plugin dépend du nom du fichier du plugin. À titre d’exemple, un plugin avec le nom de fichier d’oc-foo-bar est invoqué par la commande oc foo bar.

2.6. Commande OpenShift CLI Référence de commande

Cette référence fournit des descriptions et des exemples de commandes pour les commandes de développeurs OpenShift CLI (oc).

Exécutez l’aide d’oc pour énumérer toutes les commandes ou exécuter oc &lt;command&gt; --aider à obtenir des détails supplémentaires pour une commande spécifique.

2.6.1. Commandes de développeurs OpenShift CLI (oc)

2.6.1.1. annotation d’OC

Actualiser les annotations sur une ressource

Exemple d’utilisation

  # Update pod 'foo' with the annotation 'description' and the value 'my frontend'
  # If the same annotation is set multiple times, only the last value will be applied
  oc annotate pods foo description='my frontend'

  # Update a pod identified by type and name in "pod.json"
  oc annotate -f pod.json description='my frontend'

  # Update pod 'foo' with the annotation 'description' and the value 'my frontend running nginx', overwriting any existing value
  oc annotate --overwrite pods foo description='my frontend running nginx'

  # Update all pods in the namespace
  oc annotate pods --all description='my frontend running nginx'

  # Update pod 'foo' only if the resource is unchanged from version 1
  oc annotate pods foo description='my frontend running nginx' --resource-version=1

  # Update pod 'foo' by removing an annotation named 'description' if it exists
  # Does not require the --overwrite flag
  oc annotate pods foo description-
Copy to Clipboard Toggle word wrap

2.6.1.2. api-ressources d’OC

Imprimez les ressources API prises en charge sur le serveur

Exemple d’utilisation

  # Print the supported API resources
  oc api-resources

  # Print the supported API resources with more information
  oc api-resources -o wide

  # Print the supported API resources sorted by a column
  oc api-resources --sort-by=name

  # Print the supported namespaced resources
  oc api-resources --namespaced=true

  # Print the supported non-namespaced resources
  oc api-resources --namespaced=false

  # Print the supported API resources with a specific APIGroup
  oc api-resources --api-group=rbac.authorization.k8s.io
Copy to Clipboard Toggle word wrap

2.6.1.3. api-versions OC

Imprimez les versions API prises en charge sur le serveur, sous la forme de "groupe/version"

Exemple d’utilisation

  # Print the supported API versions
  oc api-versions
Copy to Clipboard Toggle word wrap

2.6.1.4. les OC s’appliquent

Appliquer une configuration à une ressource par nom de fichier ou stdin

Exemple d’utilisation

  # Apply the configuration in pod.json to a pod
  oc apply -f ./pod.json

  # Apply resources from a directory containing kustomization.yaml - e.g. dir/kustomization.yaml
  oc apply -k dir/

  # Apply the JSON passed into stdin to a pod
  cat pod.json | oc apply -f -

  # Apply the configuration from all files that end with '.json'
  oc apply -f '*.json'

  # Note: --prune is still in Alpha
  # Apply the configuration in manifest.yaml that matches label app=nginx and delete all other resources that are not in the file and match label app=nginx
  oc apply --prune -f manifest.yaml -l app=nginx

  # Apply the configuration in manifest.yaml and delete all the other config maps that are not in the file
  oc apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/ConfigMap
Copy to Clipboard Toggle word wrap

2.6.1.5. les OC appliquent Edit-last-appliqué

Éditer les dernières annotations de configuration de dernière application d’une ressource/objet

Exemple d’utilisation

  # Edit the last-applied-configuration annotations by type/name in YAML
  oc apply edit-last-applied deployment/nginx

  # Edit the last-applied-configuration annotations by file in JSON
  oc apply edit-last-applied -f deploy.yaml -o json
Copy to Clipboard Toggle word wrap

2.6.1.6. appliquer OC-last-appliqué

Définir l’annotation de dernière configuration appliquée sur un objet en direct pour correspondre au contenu d’un fichier

Exemple d’utilisation

  # Set the last-applied-configuration of a resource to match the contents of a file
  oc apply set-last-applied -f deploy.yaml

  # Execute set-last-applied against each configuration file in a directory
  oc apply set-last-applied -f path/

  # Set the last-applied-configuration of a resource to match the contents of a file; will create the annotation if it does not already exist
  oc apply set-last-applied -f deploy.yaml --create-annotation=true
Copy to Clipboard Toggle word wrap

2.6.1.7. l’OC applique view-last-appliqué

Afficher les dernières annotations de configuration appliquée d’une ressource/objet

Exemple d’utilisation

  # View the last-applied-configuration annotations by type/name in YAML
  oc apply view-last-applied deployment/nginx

  # View the last-applied-configuration annotations by file in JSON
  oc apply view-last-applied -f deploy.yaml -o json
Copy to Clipboard Toggle word wrap

2.6.1.8. joint d’OC

Attacher à un conteneur en cours d’exécution

Exemple d’utilisation

  # Get output from running pod mypod; use the 'oc.kubernetes.io/default-container' annotation
  # for selecting the container to be attached or the first container in the pod will be chosen
  oc attach mypod

  # Get output from ruby-container from pod mypod
  oc attach mypod -c ruby-container

  # Switch to raw terminal mode; sends stdin to 'bash' in ruby-container from pod mypod
  # and sends stdout/stderr from 'bash' back to the client
  oc attach mypod -c ruby-container -i -t

  # Get output from the first pod of a replica set named nginx
  oc attach rs/nginx
Copy to Clipboard Toggle word wrap

2.6.1.9. auth can-i d’OC

Vérifiez si une action est autorisée

Exemple d’utilisation

  # Check to see if I can create pods in any namespace
  oc auth can-i create pods --all-namespaces

  # Check to see if I can list deployments in my current namespace
  oc auth can-i list deployments.apps

  # Check to see if service account "foo" of namespace "dev" can list pods
  # in the namespace "prod".
  # You must be allowed to use impersonation for the global option "--as".
  oc auth can-i list pods --as=system:serviceaccount:dev:foo -n prod

  # Check to see if I can do everything in my current namespace ("*" means all)
  oc auth can-i '*' '*'

  # Check to see if I can get the job named "bar" in namespace "foo"
  oc auth can-i list jobs.batch/bar -n foo

  # Check to see if I can read pod logs
  oc auth can-i get pods --subresource=log

  # Check to see if I can access the URL /logs/
  oc auth can-i get /logs/

  # List all allowed actions in namespace "foo"
  oc auth can-i --list --namespace=foo
Copy to Clipboard Toggle word wrap

2.6.1.10. auth OC se réconcilier

Concilie les règles relatives au rôle RBAC, à la liaison des rôles, au rôle de cluster et aux objets liés au rôle de cluster

Exemple d’utilisation

  # Reconcile RBAC resources from a file
  oc auth reconcile -f my-rbac-rules.yaml
Copy to Clipboard Toggle word wrap

2.6.1.11. auth whoami d’OC

Expérimental: Vérifier les attributs de soi-même

Exemple d’utilisation

  # Get your subject attributes.
  oc auth whoami

  # Get your subject attributes in JSON format.
  oc auth whoami -o json
Copy to Clipboard Toggle word wrap

2.6.1.12. autoscale d’OC

Automatiser une configuration de déploiement, un déploiement, un ensemble de répliques, un ensemble d’états ou un contrôleur de réplication

Exemple d’utilisation

  # Auto scale a deployment "foo", with the number of pods between 2 and 10, no target CPU utilization specified so a default autoscaling policy will be used
  oc autoscale deployment foo --min=2 --max=10

  # Auto scale a replication controller "foo", with the number of pods between 1 and 5, target CPU utilization at 80%
  oc autoscale rc foo --max=5 --cpu-percent=80
Copy to Clipboard Toggle word wrap

2.6.1.13. annulation d’OC

Annuler l’exécution, l’attente ou les nouvelles versions

Exemple d’utilisation

  # Cancel the build with the given name
  oc cancel-build ruby-build-2

  # Cancel the named build and print the build logs
  oc cancel-build ruby-build-2 --dump-logs

  # Cancel the named build and create a new one with the same parameters
  oc cancel-build ruby-build-2 --restart

  # Cancel multiple builds
  oc cancel-build ruby-build-1 ruby-build-2 ruby-build-3

  # Cancel all builds created from the 'ruby-build' build config that are in the 'new' state
  oc cancel-build bc/ruby-build --state=new
Copy to Clipboard Toggle word wrap

2.6.1.14. cluster-info OC

Afficher les informations du cluster

Exemple d’utilisation

  # Print the address of the control plane and cluster services
  oc cluster-info
Copy to Clipboard Toggle word wrap

2.6.1.15. dump OC cluster-info

Décharger les informations pertinentes pour le débogage et le diagnostic

Exemple d’utilisation

  # Dump current cluster state to stdout
  oc cluster-info dump

  # Dump current cluster state to /path/to/cluster-state
  oc cluster-info dump --output-directory=/path/to/cluster-state

  # Dump all namespaces to stdout
  oc cluster-info dump --all-namespaces

  # Dump a set of namespaces to /path/to/cluster-state
  oc cluster-info dump --namespaces default,kube-system --output-directory=/path/to/cluster-state
Copy to Clipboard Toggle word wrap

2.6.1.16. achèvement des OC

Code d’achèvement de la coquille de sortie pour la coquille spécifiée (bash, zsh, poisson ou powershell)

Exemple d’utilisation

  # Installing bash completion on macOS using homebrew
  ## If running Bash 3.2 included with macOS
  brew install bash-completion
  ## or, if running Bash 4.1+
  brew install bash-completion@2
  ## If oc is installed via homebrew, this should start working immediately
  ## If you've installed via other means, you may need add the completion to your completion directory
  oc completion bash > $(brew --prefix)/etc/bash_completion.d/oc


  # Installing bash completion on Linux
  ## If bash-completion is not installed on Linux, install the 'bash-completion' package
  ## via your distribution's package manager.
  ## Load the oc completion code for bash into the current shell
  source <(oc completion bash)
  ## Write bash completion code to a file and source it from .bash_profile
  oc completion bash > ~/.kube/completion.bash.inc
  printf "
  # oc shell completion
  source '$HOME/.kube/completion.bash.inc'
  " >> $HOME/.bash_profile
  source $HOME/.bash_profile

  # Load the oc completion code for zsh[1] into the current shell
  source <(oc completion zsh)
  # Set the oc completion code for zsh[1] to autoload on startup
  oc completion zsh > "${fpath[1]}/_oc"


  # Load the oc completion code for fish[2] into the current shell
  oc completion fish | source
  # To load completions for each session, execute once:
  oc completion fish > ~/.config/fish/completions/oc.fish

  # Load the oc completion code for powershell into the current shell
  oc completion powershell | Out-String | Invoke-Expression
  # Set oc completion code for powershell to run on startup
  ## Save completion code to a script and execute in the profile
  oc completion powershell > $HOME\.kube\completion.ps1
  Add-Content $PROFILE "$HOME\.kube\completion.ps1"
  ## Execute completion code in the profile
  Add-Content $PROFILE "if (Get-Command oc -ErrorAction SilentlyContinue) {
  oc completion powershell | Out-String | Invoke-Expression
  }"
  ## Add completion code directly to the $PROFILE script
  oc completion powershell >> $PROFILE
Copy to Clipboard Toggle word wrap

2.6.1.17. configuration OC config current-context

Afficher le contexte actuel

Exemple d’utilisation

  # Display the current-context
  oc config current-context
Copy to Clipboard Toggle word wrap

2.6.1.18. configuration OC config Remove-cluster

Effacer le cluster spécifié du kubeconfig

Exemple d’utilisation

  # Delete the minikube cluster
  oc config delete-cluster minikube
Copy to Clipboard Toggle word wrap

2.6.1.19. configuration OC config Remove-context

Effacer le contexte spécifié du kubeconfig

Exemple d’utilisation

  # Delete the context for the minikube cluster
  oc config delete-context minikube
Copy to Clipboard Toggle word wrap

2.6.1.20. configuration de l’utilisateur de suppression

Effacer l’utilisateur spécifié du kubeconfig

Exemple d’utilisation

  # Delete the minikube user
  oc config delete-user minikube
Copy to Clipboard Toggle word wrap

2.6.1.21. config OC get-clusters

Affichage des clusters définis dans le kubeconfig

Exemple d’utilisation

  # List the clusters that oc knows about
  oc config get-clusters
Copy to Clipboard Toggle word wrap

2.6.1.22. configuration OC get-contexts

Décrire un ou plusieurs contextes

Exemple d’utilisation

  # List all the contexts in your kubeconfig file
  oc config get-contexts

  # Describe one context in your kubeconfig file
  oc config get-contexts my-context
Copy to Clipboard Toggle word wrap

2.6.1.23. configuration OC config get-users

Afficher les utilisateurs définis dans le kubeconfig

Exemple d’utilisation

  # List the users that oc knows about
  oc config get-users
Copy to Clipboard Toggle word wrap

2.6.1.24. configuration d’OC new-admin-kubeconfig

Générer, rendre le serveur fiable et afficher un nouvel admin.kubeconfig

Exemple d’utilisation

  # Generate a new admin kubeconfig
  oc config new-admin-kubeconfig
Copy to Clipboard Toggle word wrap

Générer, rendre le serveur fiable et afficher un nouveau kubelet /etc/kubernetes/kubeconfig

Exemple d’utilisation

  # Generate a new kubelet bootstrap kubeconfig
  oc config new-kubelet-bootstrap-kubeconfig
Copy to Clipboard Toggle word wrap

2.6.1.26. config OC rafraîchissement-ca-grouple

Actualisez le paquet OpenShift CA en contactant le serveur API

Exemple d’utilisation

  # Refresh the CA bundle for the current context's cluster
  oc config refresh-ca-bundle

  # Refresh the CA bundle for the cluster named e2e in your kubeconfig
  oc config refresh-ca-bundle e2e

  # Print the CA bundle from the current OpenShift cluster's API server
  oc config refresh-ca-bundle --dry-run
Copy to Clipboard Toggle word wrap

2.6.1.27. configuration OC rename-context

Le renom d’un contexte à partir du fichier kubeconfig

Exemple d’utilisation

  # Rename the context 'old-name' to 'new-name' in your kubeconfig file
  oc config rename-context old-name new-name
Copy to Clipboard Toggle word wrap

2.6.1.28. ensemble de configuration OC

Définir une valeur individuelle dans un fichier kubeconfig

Exemple d’utilisation

  # Set the server field on the my-cluster cluster to https://1.2.3.4
  oc config set clusters.my-cluster.server https://1.2.3.4

  # Set the certificate-authority-data field on the my-cluster cluster
  oc config set clusters.my-cluster.certificate-authority-data $(echo "cert_data_here" | base64 -i -)

  # Set the cluster field in the my-context context to my-cluster
  oc config set contexts.my-context.cluster my-cluster

  # Set the client-key-data field in the cluster-admin user using --set-raw-bytes option
  oc config set users.cluster-admin.client-key-data cert_data_here --set-raw-bytes=true
Copy to Clipboard Toggle word wrap

2.6.1.29. configuration OC Set-cluster

Définir une entrée de cluster dans kubeconfig

Exemple d’utilisation

  # Set only the server field on the e2e cluster entry without touching other values
  oc config set-cluster e2e --server=https://1.2.3.4

  # Embed certificate authority data for the e2e cluster entry
  oc config set-cluster e2e --embed-certs --certificate-authority=~/.kube/e2e/kubernetes.ca.crt

  # Disable cert checking for the e2e cluster entry
  oc config set-cluster e2e --insecure-skip-tls-verify=true

  # Set the custom TLS server name to use for validation for the e2e cluster entry
  oc config set-cluster e2e --tls-server-name=my-cluster-name

  # Set the proxy URL for the e2e cluster entry
  oc config set-cluster e2e --proxy-url=https://1.2.3.4
Copy to Clipboard Toggle word wrap

2.6.1.30. configuration OC set-context

Définir une entrée contextuelle dans kubeconfig

Exemple d’utilisation

  # Set the user field on the gce context entry without touching other values
  oc config set-context gce --user=cluster-admin
Copy to Clipboard Toggle word wrap

2.6.1.31. configuration OC config set-credentials

Définir une entrée utilisateur dans kubeconfig

Exemple d’utilisation

  # Set only the "client-key" field on the "cluster-admin"
  # entry, without touching other values
  oc config set-credentials cluster-admin --client-key=~/.kube/admin.key

  # Set basic auth for the "cluster-admin" entry
  oc config set-credentials cluster-admin --username=admin --password=uXFGweU9l35qcif

  # Embed client certificate data in the "cluster-admin" entry
  oc config set-credentials cluster-admin --client-certificate=~/.kube/admin.crt --embed-certs=true

  # Enable the Google Compute Platform auth provider for the "cluster-admin" entry
  oc config set-credentials cluster-admin --auth-provider=gcp

  # Enable the OpenID Connect auth provider for the "cluster-admin" entry with additional arguments
  oc config set-credentials cluster-admin --auth-provider=oidc --auth-provider-arg=client-id=foo --auth-provider-arg=client-secret=bar

  # Remove the "client-secret" config value for the OpenID Connect auth provider for the "cluster-admin" entry
  oc config set-credentials cluster-admin --auth-provider=oidc --auth-provider-arg=client-secret-

  # Enable new exec auth plugin for the "cluster-admin" entry
  oc config set-credentials cluster-admin --exec-command=/path/to/the/executable --exec-api-version=client.authentication.k8s.io/v1beta1

  # Enable new exec auth plugin for the "cluster-admin" entry with interactive mode
  oc config set-credentials cluster-admin --exec-command=/path/to/the/executable --exec-api-version=client.authentication.k8s.io/v1beta1 --exec-interactive-mode=Never

  # Define new exec auth plugin arguments for the "cluster-admin" entry
  oc config set-credentials cluster-admin --exec-arg=arg1 --exec-arg=arg2

  # Create or update exec auth plugin environment variables for the "cluster-admin" entry
  oc config set-credentials cluster-admin --exec-env=key1=val1 --exec-env=key2=val2

  # Remove exec auth plugin environment variables for the "cluster-admin" entry
  oc config set-credentials cluster-admin --exec-env=var-to-remove-
Copy to Clipboard Toggle word wrap

2.6.1.32. config OC Unset

Désinitialiser une valeur individuelle dans un fichier kubeconfig

Exemple d’utilisation

  # Unset the current-context
  oc config unset current-context

  # Unset namespace in foo context
  oc config unset contexts.foo.namespace
Copy to Clipboard Toggle word wrap

2.6.1.33. configuration OC use-context

Définir le contexte courant dans un fichier kubeconfig

Exemple d’utilisation

  # Use the context for the minikube cluster
  oc config use-context minikube
Copy to Clipboard Toggle word wrap

2.6.1.34. affichage de configuration OC

Afficher les paramètres de kubeconfig fusionnés ou un fichier kubeconfig spécifié

Exemple d’utilisation

  # Show merged kubeconfig settings
  oc config view

  # Show merged kubeconfig settings, raw certificate data, and exposed secrets
  oc config view --raw

  # Get the password for the e2e user
  oc config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}'
Copy to Clipboard Toggle word wrap

2.6.1.35. cp d’OC

Copier des fichiers et des répertoires vers et depuis des conteneurs

Exemple d’utilisation

  # !!!Important Note!!!
  # Requires that the 'tar' binary is present in your container
  # image.  If 'tar' is not present, 'oc cp' will fail.
  #
  # For advanced use cases, such as symlinks, wildcard expansion or
  # file mode preservation, consider using 'oc exec'.

  # Copy /tmp/foo local file to /tmp/bar in a remote pod in namespace <some-namespace>
  tar cf - /tmp/foo | oc exec -i -n <some-namespace> <some-pod> -- tar xf - -C /tmp/bar

  # Copy /tmp/foo from a remote pod to /tmp/bar locally
  oc exec -n <some-namespace> <some-pod> -- tar cf - /tmp/foo | tar xf - -C /tmp/bar

  # Copy /tmp/foo_dir local directory to /tmp/bar_dir in a remote pod in the default namespace
  oc cp /tmp/foo_dir <some-pod>:/tmp/bar_dir

  # Copy /tmp/foo local file to /tmp/bar in a remote pod in a specific container
  oc cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>

  # Copy /tmp/foo local file to /tmp/bar in a remote pod in namespace <some-namespace>
  oc cp /tmp/foo <some-namespace>/<some-pod>:/tmp/bar

  # Copy /tmp/foo from a remote pod to /tmp/bar locally
  oc cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar
Copy to Clipboard Toggle word wrap

2.6.1.36. création d’OC

Créer une ressource à partir d’un fichier ou à partir de stdin

Exemple d’utilisation

  # Create a pod using the data in pod.json
  oc create -f ./pod.json

  # Create a pod based on the JSON passed into stdin
  cat pod.json | oc create -f -

  # Edit the data in registry.yaml in JSON then create the resource using the edited data
  oc create -f registry.yaml --edit -o json
Copy to Clipboard Toggle word wrap

2.6.1.37. création d’OC

Créer une nouvelle construction

Exemple d’utilisation

  # Create a new build
  oc create build myapp
Copy to Clipboard Toggle word wrap

2.6.1.38. créer clusterresourcequota

Créer un quota de ressources en cluster

Exemple d’utilisation

  # Create a cluster resource quota limited to 10 pods
  oc create clusterresourcequota limit-bob --project-annotation-selector=openshift.io/requester=user-bob --hard=pods=10
Copy to Clipboard Toggle word wrap

2.6.1.39. créer clusterrole OC

Créer un rôle de cluster

Exemple d’utilisation

  # Create a cluster role named "pod-reader" that allows user to perform "get", "watch" and "list" on pods
  oc create clusterrole pod-reader --verb=get,list,watch --resource=pods

  # Create a cluster role named "pod-reader" with ResourceName specified
  oc create clusterrole pod-reader --verb=get --resource=pods --resource-name=readablepod --resource-name=anotherpod

  # Create a cluster role named "foo" with API Group specified
  oc create clusterrole foo --verb=get,list,watch --resource=rs.apps

  # Create a cluster role named "foo" with SubResource specified
  oc create clusterrole foo --verb=get,list,watch --resource=pods,pods/status

  # Create a cluster role name "foo" with NonResourceURL specified
  oc create clusterrole "foo" --verb=get --non-resource-url=/logs/*

  # Create a cluster role name "monitoring" with AggregationRule specified
  oc create clusterrole monitoring --aggregation-rule="rbac.example.com/aggregate-to-monitoring=true"
Copy to Clipboard Toggle word wrap

2.6.1.40. créer le clusterrolebinding

Créer un rôle de cluster contraignant pour un rôle de cluster particulier

Exemple d’utilisation

  # Create a cluster role binding for user1, user2, and group1 using the cluster-admin cluster role
  oc create clusterrolebinding cluster-admin --clusterrole=cluster-admin --user=user1 --user=user2 --group=group1
Copy to Clipboard Toggle word wrap

2.6.1.41. créer un configmap

Créer une carte de configuration à partir d’un fichier, d’un répertoire ou d’une valeur littérale locale

Exemple d’utilisation

  # Create a new config map named my-config based on folder bar
  oc create configmap my-config --from-file=path/to/bar

  # Create a new config map named my-config with specified keys instead of file basenames on disk
  oc create configmap my-config --from-file=key1=/path/to/bar/file1.txt --from-file=key2=/path/to/bar/file2.txt

  # Create a new config map named my-config with key1=config1 and key2=config2
  oc create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2

  # Create a new config map named my-config from the key=value pairs in the file
  oc create configmap my-config --from-file=path/to/bar

  # Create a new config map named my-config from an env file
  oc create configmap my-config --from-env-file=path/to/foo.env --from-env-file=path/to/bar.env
Copy to Clipboard Toggle word wrap

2.6.1.42. créer un cronjob

Créer une tâche cron avec le nom spécifié

Exemple d’utilisation

  # Create a cron job
  oc create cronjob my-job --image=busybox --schedule="*/1 * * * *"

  # Create a cron job with a command
  oc create cronjob my-job --image=busybox --schedule="*/1 * * * *" -- date
Copy to Clipboard Toggle word wrap

2.6.1.43. créer un déploiement

Créer un déploiement avec le nom spécifié

Exemple d’utilisation

  # Create a deployment named my-dep that runs the busybox image
  oc create deployment my-dep --image=busybox

  # Create a deployment with a command
  oc create deployment my-dep --image=busybox -- date

  # Create a deployment named my-dep that runs the nginx image with 3 replicas
  oc create deployment my-dep --image=nginx --replicas=3

  # Create a deployment named my-dep that runs the busybox image and expose port 5701
  oc create deployment my-dep --image=busybox --port=5701

  # Create a deployment named my-dep that runs multiple containers
  oc create deployment my-dep --image=busybox:latest --image=ubuntu:latest --image=nginx
Copy to Clipboard Toggle word wrap

2.6.1.44. créer la configuration de déploiement

Créer une configuration de déploiement avec des options par défaut qui utilisent une image donnée

Exemple d’utilisation

  # Create an nginx deployment config named my-nginx
  oc create deploymentconfig my-nginx --image=nginx
Copy to Clipboard Toggle word wrap

2.6.1.45. créer une identité

Créer manuellement une identité (uniquement nécessaire si la création automatique est désactivée)

Exemple d’utilisation

  # Create an identity with identity provider "acme_ldap" and the identity provider username "adamjones"
  oc create identity acme_ldap:adamjones
Copy to Clipboard Toggle word wrap

2.6.1.46. créer un flux d’images

Créer un nouveau flux d’images vide

Exemple d’utilisation

  # Create a new image stream
  oc create imagestream mysql
Copy to Clipboard Toggle word wrap

2.6.1.47. création d’imagestreamtag

Créer une nouvelle balise de flux d’images

Exemple d’utilisation

  # Create a new image stream tag based on an image in a remote registry
  oc create imagestreamtag mysql:latest --from-image=myregistry.local/mysql/mysql:5.0
Copy to Clipboard Toggle word wrap

2.6.1.48. l’OC crée une entrée

Créer une entrée avec le nom spécifié

Exemple d’utilisation

  # Create a single ingress called 'simple' that directs requests to foo.com/bar to svc
  # svc1:8080 with a TLS secret "my-cert"
  oc create ingress simple --rule="foo.com/bar=svc1:8080,tls=my-cert"

  # Create a catch all ingress of "/path" pointing to service svc:port and Ingress Class as "otheringress"
  oc create ingress catch-all --class=otheringress --rule="/path=svc:port"

  # Create an ingress with two annotations: ingress.annotation1 and ingress.annotations2
  oc create ingress annotated --class=default --rule="foo.com/bar=svc:port" \
  --annotation ingress.annotation1=foo \
  --annotation ingress.annotation2=bla

  # Create an ingress with the same host and multiple paths
  oc create ingress multipath --class=default \
  --rule="foo.com/=svc:port" \
  --rule="foo.com/admin/=svcadmin:portadmin"

  # Create an ingress with multiple hosts and the pathType as Prefix
  oc create ingress ingress1 --class=default \
  --rule="foo.com/path*=svc:8080" \
  --rule="bar.com/admin*=svc2:http"

  # Create an ingress with TLS enabled using the default ingress certificate and different path types
  oc create ingress ingtls --class=default \
  --rule="foo.com/=svc:https,tls" \
  --rule="foo.com/path/subpath*=othersvc:8080"

  # Create an ingress with TLS enabled using a specific secret and pathType as Prefix
  oc create ingress ingsecret --class=default \
  --rule="foo.com/*=svc:8080,tls=secret1"

  # Create an ingress with a default backend
  oc create ingress ingdefault --class=default \
  --default-backend=defaultsvc:http \
  --rule="foo.com/*=svc:8080,tls=secret1"
Copy to Clipboard Toggle word wrap

2.6.1.49. création d’emploi OC

Créer un job avec le nom spécifié

Exemple d’utilisation

  # Create a job
  oc create job my-job --image=busybox

  # Create a job with a command
  oc create job my-job --image=busybox -- date

  # Create a job from a cron job named "a-cronjob"
  oc create job test-job --from=cronjob/a-cronjob
Copy to Clipboard Toggle word wrap

2.6.1.50. créer un espace de noms

Créer un espace de noms avec le nom spécifié

Exemple d’utilisation

  # Create a new namespace named my-namespace
  oc create namespace my-namespace
Copy to Clipboard Toggle word wrap

2.6.1.51. créer un budget poddisruption

Créer un budget de perturbation de pod avec le nom spécifié

Exemple d’utilisation

  # Create a pod disruption budget named my-pdb that will select all pods with the app=rails label
  # and require at least one of them being available at any point in time
  oc create poddisruptionbudget my-pdb --selector=app=rails --min-available=1

  # Create a pod disruption budget named my-pdb that will select all pods with the app=nginx label
  # and require at least half of the pods selected to be available at any point in time
  oc create pdb my-pdb --selector=app=nginx --min-available=50%
Copy to Clipboard Toggle word wrap

2.6.1.52. créer une classe de priorité

Créer une classe de priorité avec le nom spécifié

Exemple d’utilisation

  # Create a priority class named high-priority
  oc create priorityclass high-priority --value=1000 --description="high priority"

  # Create a priority class named default-priority that is considered as the global default priority
  oc create priorityclass default-priority --value=1000 --global-default=true --description="default priority"

  # Create a priority class named high-priority that cannot preempt pods with lower priority
  oc create priorityclass high-priority --value=1000 --description="high priority" --preemption-policy="Never"
Copy to Clipboard Toggle word wrap

2.6.1.53. créer un quota

Créer un quota avec le nom spécifié

Exemple d’utilisation

  # Create a new resource quota named my-quota
  oc create quota my-quota --hard=cpu=1,memory=1G,pods=2,services=3,replicationcontrollers=2,resourcequotas=1,secrets=5,persistentvolumeclaims=10

  # Create a new resource quota named best-effort
  oc create quota best-effort --hard=pods=100 --scopes=BestEffort
Copy to Clipboard Toggle word wrap

2.6.1.54. créer un rôle

Créer un rôle avec une seule règle

Exemple d’utilisation

  # Create a role named "pod-reader" that allows user to perform "get", "watch" and "list" on pods
  oc create role pod-reader --verb=get --verb=list --verb=watch --resource=pods

  # Create a role named "pod-reader" with ResourceName specified
  oc create role pod-reader --verb=get --resource=pods --resource-name=readablepod --resource-name=anotherpod

  # Create a role named "foo" with API Group specified
  oc create role foo --verb=get,list,watch --resource=rs.apps

  # Create a role named "foo" with SubResource specified
  oc create role foo --verb=get,list,watch --resource=pods,pods/status
Copy to Clipboard Toggle word wrap

2.6.1.55. l’OC crée la reliure de rôle

Créer un rôle contraignant pour un rôle particulier ou un rôle de cluster

Exemple d’utilisation

  # Create a role binding for user1, user2, and group1 using the admin cluster role
  oc create rolebinding admin --clusterrole=admin --user=user1 --user=user2 --group=group1

  # Create a role binding for serviceaccount monitoring:sa-dev using the admin role
  oc create rolebinding admin-binding --role=admin --serviceaccount=monitoring:sa-dev
Copy to Clipboard Toggle word wrap

2.6.1.56. créer un bord de route

Créer un itinéraire qui utilise la terminaison TLS edge

Exemple d’utilisation

  # Create an edge route named "my-route" that exposes the frontend service
  oc create route edge my-route --service=frontend

  # Create an edge route that exposes the frontend service and specify a path
  # If the route name is omitted, the service name will be used
  oc create route edge --service=frontend --path /assets
Copy to Clipboard Toggle word wrap

2.6.1.57. l’OC crée un passage d’itinéraire

Créer un itinéraire qui utilise la terminaison TLS passthrough

Exemple d’utilisation

  # Create a passthrough route named "my-route" that exposes the frontend service
  oc create route passthrough my-route --service=frontend

  # Create a passthrough route that exposes the frontend service and specify
  # a host name. If the route name is omitted, the service name will be used
  oc create route passthrough --service=frontend --hostname=www.example.com
Copy to Clipboard Toggle word wrap

2.6.1.58. créer une route reencrypt

Créer une route qui utilise recrypter la terminaison TLS

Exemple d’utilisation

  # Create a route named "my-route" that exposes the frontend service
  oc create route reencrypt my-route --service=frontend --dest-ca-cert cert.cert

  # Create a reencrypt route that exposes the frontend service, letting the
  # route name default to the service name and the destination CA certificate
  # default to the service CA
  oc create route reencrypt --service=frontend
Copy to Clipboard Toggle word wrap

2.6.1.59. créer un fichier secret docker-registry

Créer un secret à utiliser avec un registre Docker

Exemple d’utilisation

  # If you do not already have a .dockercfg file, create a dockercfg secret directly
  oc create secret docker-registry my-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL

  # Create a new secret named my-secret from ~/.docker/config.json
  oc create secret docker-registry my-secret --from-file=.dockerconfigjson=path/to/.docker/config.json
Copy to Clipboard Toggle word wrap

2.6.1.60. créer un secret générique

Créer un secret à partir d’un fichier, d’un répertoire ou d’une valeur littérale locale

Exemple d’utilisation

  # Create a new secret named my-secret with keys for each file in folder bar
  oc create secret generic my-secret --from-file=path/to/bar

  # Create a new secret named my-secret with specified keys instead of names on disk
  oc create secret generic my-secret --from-file=ssh-privatekey=path/to/id_rsa --from-file=ssh-publickey=path/to/id_rsa.pub

  # Create a new secret named my-secret with key1=supersecret and key2=topsecret
  oc create secret generic my-secret --from-literal=key1=supersecret --from-literal=key2=topsecret

  # Create a new secret named my-secret using a combination of a file and a literal
  oc create secret generic my-secret --from-file=ssh-privatekey=path/to/id_rsa --from-literal=passphrase=topsecret

  # Create a new secret named my-secret from env files
  oc create secret generic my-secret --from-env-file=path/to/foo.env --from-env-file=path/to/bar.env
Copy to Clipboard Toggle word wrap

2.6.1.61. créer des tls secrets

Créer un secret TLS

Exemple d’utilisation

  # Create a new TLS secret named tls-secret with the given key pair
  oc create secret tls tls-secret --cert=path/to/tls.crt --key=path/to/tls.key
Copy to Clipboard Toggle word wrap

2.6.1.62. créer un cluster de service

Créer un service ClusterIP

Exemple d’utilisation

  # Create a new ClusterIP service named my-cs
  oc create service clusterip my-cs --tcp=5678:8080

  # Create a new ClusterIP service named my-cs (in headless mode)
  oc create service clusterip my-cs --clusterip="None"
Copy to Clipboard Toggle word wrap

2.6.1.63. créer un nom externe de service

Créer un service ExterneName

Exemple d’utilisation

  # Create a new ExternalName service named my-ns
  oc create service externalname my-ns --external-name bar.com
Copy to Clipboard Toggle word wrap

2.6.1.64. créer un balanceur de charge de service

Créer un service LoadBalancer

Exemple d’utilisation

  # Create a new LoadBalancer service named my-lbs
  oc create service loadbalancer my-lbs --tcp=5678:8080
Copy to Clipboard Toggle word wrap

2.6.1.65. créer un service nodeport

Créer un service NodePort

Exemple d’utilisation

  # Create a new NodePort service named my-ns
  oc create service nodeport my-ns --tcp=5678:8080
Copy to Clipboard Toggle word wrap

2.6.1.66. créer un compte de service

Créer un compte de service avec le nom spécifié

Exemple d’utilisation

  # Create a new service account named my-service-account
  oc create serviceaccount my-service-account
Copy to Clipboard Toggle word wrap

2.6.1.67. créer un jeton OC

Demander un jeton de compte de service

Exemple d’utilisation

  # Request a token to authenticate to the kube-apiserver as the service account "myapp" in the current namespace
  oc create token myapp

  # Request a token for a service account in a custom namespace
  oc create token myapp --namespace myns

  # Request a token with a custom expiration
  oc create token myapp --duration 10m

  # Request a token with a custom audience
  oc create token myapp --audience https://example.com

  # Request a token bound to an instance of a Secret object
  oc create token myapp --bound-object-kind Secret --bound-object-name mysecret

  # Request a token bound to an instance of a Secret object with a specific UID
  oc create token myapp --bound-object-kind Secret --bound-object-name mysecret --bound-object-uid 0d4691ed-659b-4935-a832-355f77ee47cc
Copy to Clipboard Toggle word wrap

2.6.1.68. créer un utilisateur

Créer manuellement un utilisateur (uniquement nécessaire si la création automatique est désactivée)

Exemple d’utilisation

  # Create a user with the username "ajones" and the display name "Adam Jones"
  oc create user ajones --full-name="Adam Jones"
Copy to Clipboard Toggle word wrap

2.6.1.69. création d’un useridentitymapping

Cartographie manuelle d’une identité à un utilisateur

Exemple d’utilisation

  # Map the identity "acme_ldap:adamjones" to the user "ajones"
  oc create useridentitymapping acme_ldap:adamjones ajones
Copy to Clipboard Toggle word wrap

2.6.1.70. débogage d’OC

Lancer une nouvelle instance d’un pod pour le débogage

Exemple d’utilisation

  # Start a shell session into a pod using the OpenShift tools image
  oc debug

  # Debug a currently running deployment by creating a new pod
  oc debug deploy/test

  # Debug a node as an administrator
  oc debug node/master-1

  # Debug a Windows node
  # Note: the chosen image must match the Windows Server version (2019, 2022) of the node
  oc debug node/win-worker-1 --image=mcr.microsoft.com/powershell:lts-nanoserver-ltsc2022

  # Launch a shell in a pod using the provided image stream tag
  oc debug istag/mysql:latest -n openshift

  # Test running a job as a non-root user
  oc debug job/test --as-user=1000000

  # Debug a specific failing container by running the env command in the 'second' container
  oc debug daemonset/test -c second -- /bin/env

  # See the pod that would be created to debug
  oc debug mypod-9xbc -o yaml

  # Debug a resource but launch the debug pod in another namespace
  # Note: Not all resources can be debugged using --to-namespace without modification. For example,
  # volumes and service accounts are namespace-dependent. Add '-o yaml' to output the debug pod definition
  # to disk.  If necessary, edit the definition then run 'oc debug -f -' or run without --to-namespace
  oc debug mypod-9xbc --to-namespace testns
Copy to Clipboard Toggle word wrap

2.6.1.71. les OC suppriment

Effacer les ressources par nom de fichier, stdin, ressources et noms, ou par le sélecteur de ressources et d’étiquettes

Exemple d’utilisation

  # Delete a pod using the type and name specified in pod.json
  oc delete -f ./pod.json

  # Delete resources from a directory containing kustomization.yaml - e.g. dir/kustomization.yaml
  oc delete -k dir

  # Delete resources from all files that end with '.json'
  oc delete -f '*.json'

  # Delete a pod based on the type and name in the JSON passed into stdin
  cat pod.json | oc delete -f -

  # Delete pods and services with same names "baz" and "foo"
  oc delete pod,service baz foo

  # Delete pods and services with label name=myLabel
  oc delete pods,services -l name=myLabel

  # Delete a pod with minimal delay
  oc delete pod foo --now

  # Force delete a pod on a dead node
  oc delete pod foo --force

  # Delete all pods
  oc delete pods --all
Copy to Clipboard Toggle word wrap

2.6.1.72. les OC décrivent

Afficher les détails d’une ressource ou d’un groupe de ressources spécifiques

Exemple d’utilisation

  # Describe a node
  oc describe nodes kubernetes-node-emt8.c.myproject.internal

  # Describe a pod
  oc describe pods/nginx

  # Describe a pod identified by type and name in "pod.json"
  oc describe -f pod.json

  # Describe all pods
  oc describe pods

  # Describe pods by label name=myLabel
  oc describe pods -l name=myLabel

  # Describe all pods managed by the 'frontend' replication controller
  # (rc-created pods get the name of the rc as a prefix in the pod name)
  oc describe pods frontend
Copy to Clipboard Toggle word wrap

2.6.1.73. diff d’OC

Differ la version en direct par rapport à une version appliquée

Exemple d’utilisation

  # Diff resources included in pod.json
  oc diff -f pod.json

  # Diff file read from stdin
  cat service.yaml | oc diff -f -
Copy to Clipboard Toggle word wrap

2.6.1.74. édition d’OC

Éditer une ressource sur le serveur

Exemple d’utilisation

  # Edit the service named 'registry'
  oc edit svc/registry

  # Use an alternative editor
  KUBE_EDITOR="nano" oc edit svc/registry

  # Edit the job 'myjob' in JSON using the v1 API format
  oc edit job.v1.batch/myjob -o json

  # Edit the deployment 'mydeployment' in YAML and save the modified config in its annotation
  oc edit deployment/mydeployment -o yaml --save-config

  # Edit the 'status' subresource for the 'mydeployment' deployment
  oc edit deployment mydeployment --subresource='status'
Copy to Clipboard Toggle word wrap

2.6.1.75. événements OC

Liste des événements

Exemple d’utilisation

  # List recent events in the default namespace
  oc events

  # List recent events in all namespaces
  oc events --all-namespaces

  # List recent events for the specified pod, then wait for more events and list them as they arrive
  oc events --for pod/web-pod-13je7 --watch

  # List recent events in YAML format
  oc events -oyaml

  # List recent only events of type 'Warning' or 'Normal'
  oc events --types=Warning,Normal
Copy to Clipboard Toggle word wrap

2.6.1.76. exec de l’OC

Exécuter une commande dans un conteneur

Exemple d’utilisation

  # Get output from running the 'date' command from pod mypod, using the first container by default
  oc exec mypod -- date

  # Get output from running the 'date' command in ruby-container from pod mypod
  oc exec mypod -c ruby-container -- date

  # Switch to raw terminal mode; sends stdin to 'bash' in ruby-container from pod mypod
  # and sends stdout/stderr from 'bash' back to the client
  oc exec mypod -c ruby-container -i -t -- bash -il

  # List contents of /usr from the first container of pod mypod and sort by modification time
  # If the command you want to execute in the pod has any flags in common (e.g. -i),
  # you must use two dashes (--) to separate your command's flags/arguments
  # Also note, do not surround your command and its flags/arguments with quotes
  # unless that is how you would execute it normally (i.e., do ls -t /usr, not "ls -t /usr")
  oc exec mypod -i -t -- ls -t /usr

  # Get output from running 'date' command from the first pod of the deployment mydeployment, using the first container by default
  oc exec deploy/mydeployment -- date

  # Get output from running 'date' command from the first pod of the service myservice, using the first container by default
  oc exec svc/myservice -- date
Copy to Clipboard Toggle word wrap

2.6.1.77. l’OC explique

Obtenir de la documentation pour une ressource

Exemple d’utilisation

  # Get the documentation of the resource and its fields
  oc explain pods

  # Get all the fields in the resource
  oc explain pods --recursive

  # Get the explanation for deployment in supported api versions
  oc explain deployments --api-version=apps/v1

  # Get the documentation of a specific field of a resource
  oc explain pods.spec.containers

  # Get the documentation of resources in different format
  oc explain deployment --output=plaintext-openapiv2
Copy to Clipboard Toggle word wrap

2.6.1.78. exposition d’OC

Exposer une application répliquée en tant que service ou itinéraire

Exemple d’utilisation

  # Create a route based on service nginx. The new route will reuse nginx's labels
  oc expose service nginx

  # Create a route and specify your own label and route name
  oc expose service nginx -l name=myroute --name=fromdowntown

  # Create a route and specify a host name
  oc expose service nginx --hostname=www.example.com

  # Create a route with a wildcard
  oc expose service nginx --hostname=x.example.com --wildcard-policy=Subdomain
  # This would be equivalent to *.example.com. NOTE: only hosts are matched by the wildcard; subdomains would not be included

  # Expose a deployment configuration as a service and use the specified port
  oc expose dc ruby-hello-world --port=8080

  # Expose a service as a route in the specified path
  oc expose service nginx --path=/nginx
Copy to Clipboard Toggle word wrap

2.6.1.79. extrait d’OC

Extraire des secrets ou configurer des cartes sur le disque

Exemple d’utilisation

  # Extract the secret "test" to the current directory
  oc extract secret/test

  # Extract the config map "nginx" to the /tmp directory
  oc extract configmap/nginx --to=/tmp

  # Extract the config map "nginx" to STDOUT
  oc extract configmap/nginx --to=-

  # Extract only the key "nginx.conf" from config map "nginx" to the /tmp directory
  oc extract configmap/nginx --to=/tmp --keys=nginx.conf
Copy to Clipboard Toggle word wrap

2.6.1.80. les OC obtiennent

Afficher une ou plusieurs ressources

Exemple d’utilisation

  # List all pods in ps output format
  oc get pods

  # List all pods in ps output format with more information (such as node name)
  oc get pods -o wide

  # List a single replication controller with specified NAME in ps output format
  oc get replicationcontroller web

  # List deployments in JSON output format, in the "v1" version of the "apps" API group
  oc get deployments.v1.apps -o json

  # List a single pod in JSON output format
  oc get -o json pod web-pod-13je7

  # List a pod identified by type and name specified in "pod.yaml" in JSON output format
  oc get -f pod.yaml -o json

  # List resources from a directory with kustomization.yaml - e.g. dir/kustomization.yaml
  oc get -k dir/

  # Return only the phase value of the specified pod
  oc get -o template pod/web-pod-13je7 --template={{.status.phase}}

  # List resource information in custom columns
  oc get pod test-pod -o custom-columns=CONTAINER:.spec.containers[0].name,IMAGE:.spec.containers[0].image

  # List all replication controllers and services together in ps output format
  oc get rc,services

  # List one or more resources by their type and names
  oc get rc/web service/frontend pods/web-pod-13je7

  # List the 'status' subresource for a single pod
  oc get pod web-pod-13je7 --subresource status
Copy to Clipboard Toggle word wrap

2.6.1.81. Get-token d’OC

Expérimental: Obtenez un jeton de l’émetteur OIDC externe en tant que plugin d’identification exec

Exemple d’utilisation

  # Starts an auth code flow to the issuer URL with the client ID and the given extra scopes
  oc get-token --client-id=client-id --issuer-url=test.issuer.url --extra-scopes=email,profile

  # Starts an auth code flow to the issuer URL with a different callback address
  oc get-token --client-id=client-id --issuer-url=test.issuer.url --callback-address=127.0.0.1:8343
Copy to Clipboard Toggle word wrap

2.6.1.82. oisive d’OC

Des ressources évolutibles inutilisées

Exemple d’utilisation

  # Idle the scalable controllers associated with the services listed in to-idle.txt
  $ oc idle --resource-names-file to-idle.txt
Copy to Clipboard Toggle word wrap

2.6.1.83. annexe de l’image OC

Ajouter des couches aux images et les pousser à un registre

Exemple d’utilisation

  # Remove the entrypoint on the mysql:latest image
  oc image append --from mysql:latest --to myregistry.com/myimage:latest --image '{"Entrypoint":null}'

  # Add a new layer to the image
  oc image append --from mysql:latest --to myregistry.com/myimage:latest layer.tar.gz

  # Add a new layer to the image and store the result on disk
  # This results in $(pwd)/v2/mysql/blobs,manifests
  oc image append --from mysql:latest --to file://mysql:local layer.tar.gz

  # Add a new layer to the image and store the result on disk in a designated directory
  # This will result in $(pwd)/mysql-local/v2/mysql/blobs,manifests
  oc image append --from mysql:latest --to file://mysql:local --dir mysql-local layer.tar.gz

  # Add a new layer to an image that is stored on disk (~/mysql-local/v2/image exists)
  oc image append --from-dir ~/mysql-local --to myregistry.com/myimage:latest layer.tar.gz

  # Add a new layer to an image that was mirrored to the current directory on disk ($(pwd)/v2/image exists)
  oc image append --from-dir v2 --to myregistry.com/myimage:latest layer.tar.gz

  # Add a new layer to a multi-architecture image for an os/arch that is different from the system's os/arch
  # Note: The first image in the manifest list that matches the filter will be returned when --keep-manifest-list is not specified
  oc image append --from docker.io/library/busybox:latest --filter-by-os=linux/s390x --to myregistry.com/myimage:latest layer.tar.gz

  # Add a new layer to a multi-architecture image for all the os/arch manifests when keep-manifest-list is specified
  oc image append --from docker.io/library/busybox:latest --keep-manifest-list --to myregistry.com/myimage:latest layer.tar.gz

  # Add a new layer to a multi-architecture image for all the os/arch manifests that is specified by the filter, while preserving the manifestlist
  oc image append --from docker.io/library/busybox:latest --filter-by-os=linux/s390x --keep-manifest-list --to myregistry.com/myimage:latest layer.tar.gz
Copy to Clipboard Toggle word wrap

2.6.1.84. extrait d’image OC

Copiez des fichiers à partir d’une image dans le système de fichiers

Exemple d’utilisation

  # Extract the busybox image into the current directory
  oc image extract docker.io/library/busybox:latest

  # Extract the busybox image into a designated directory (must exist)
  oc image extract docker.io/library/busybox:latest --path /:/tmp/busybox

  # Extract the busybox image into the current directory for linux/s390x platform
  # Note: Wildcard filter is not supported with extract; pass a single os/arch to extract
  oc image extract docker.io/library/busybox:latest --filter-by-os=linux/s390x

  # Extract a single file from the image into the current directory
  oc image extract docker.io/library/centos:7 --path /bin/bash:.

  # Extract all .repo files from the image's /etc/yum.repos.d/ folder into the current directory
  oc image extract docker.io/library/centos:7 --path /etc/yum.repos.d/*.repo:.

  # Extract all .repo files from the image's /etc/yum.repos.d/ folder into a designated directory (must exist)
  # This results in /tmp/yum.repos.d/*.repo on local system
  oc image extract docker.io/library/centos:7 --path /etc/yum.repos.d/*.repo:/tmp/yum.repos.d

  # Extract an image stored on disk into the current directory ($(pwd)/v2/busybox/blobs,manifests exists)
  # --confirm is required because the current directory is not empty
  oc image extract file://busybox:local --confirm

  # Extract an image stored on disk in a directory other than $(pwd)/v2 into the current directory
  # --confirm is required because the current directory is not empty ($(pwd)/busybox-mirror-dir/v2/busybox exists)
  oc image extract file://busybox:local --dir busybox-mirror-dir --confirm

  # Extract an image stored on disk in a directory other than $(pwd)/v2 into a designated directory (must exist)
  oc image extract file://busybox:local --dir busybox-mirror-dir --path /:/tmp/busybox

  # Extract the last layer in the image
  oc image extract docker.io/library/centos:7[-1]

  # Extract the first three layers of the image
  oc image extract docker.io/library/centos:7[:3]

  # Extract the last three layers of the image
  oc image extract docker.io/library/centos:7[-3:]
Copy to Clipboard Toggle word wrap

2.6.1.85. info sur l’image OC

Afficher des informations sur une image

Exemple d’utilisation

  # Show information about an image
  oc image info quay.io/openshift/cli:latest

  # Show information about images matching a wildcard
  oc image info quay.io/openshift/cli:4.*

  # Show information about a file mirrored to disk under DIR
  oc image info --dir=DIR file://library/busybox:latest

  # Select which image from a multi-OS image to show
  oc image info library/busybox:latest --filter-by-os=linux/arm64
Copy to Clipboard Toggle word wrap

2.6.1.86. le miroir d’image OC

Images miroirs d’un dépôt à l’autre

Exemple d’utilisation

  # Copy image to another tag
  oc image mirror myregistry.com/myimage:latest myregistry.com/myimage:stable

  # Copy image to another registry
  oc image mirror myregistry.com/myimage:latest docker.io/myrepository/myimage:stable

  # Copy all tags starting with mysql to the destination repository
  oc image mirror myregistry.com/myimage:mysql* docker.io/myrepository/myimage

  # Copy image to disk, creating a directory structure that can be served as a registry
  oc image mirror myregistry.com/myimage:latest file://myrepository/myimage:latest

  # Copy image to S3 (pull from <bucket>.s3.amazonaws.com/image:latest)
  oc image mirror myregistry.com/myimage:latest s3://s3.amazonaws.com/<region>/<bucket>/image:latest

  # Copy image to S3 without setting a tag (pull via @<digest>)
  oc image mirror myregistry.com/myimage:latest s3://s3.amazonaws.com/<region>/<bucket>/image

  # Copy image to multiple locations
  oc image mirror myregistry.com/myimage:latest docker.io/myrepository/myimage:stable \
  docker.io/myrepository/myimage:dev

  # Copy multiple images
  oc image mirror myregistry.com/myimage:latest=myregistry.com/other:test \
  myregistry.com/myimage:new=myregistry.com/other:target

  # Copy manifest list of a multi-architecture image, even if only a single image is found
  oc image mirror myregistry.com/myimage:latest=myregistry.com/other:test \
  --keep-manifest-list=true

  # Copy specific os/arch manifest of a multi-architecture image
  # Run 'oc image info myregistry.com/myimage:latest' to see available os/arch for multi-arch images
  # Note that with multi-arch images, this results in a new manifest list digest that includes only the filtered manifests
  oc image mirror myregistry.com/myimage:latest=myregistry.com/other:test \
  --filter-by-os=os/arch

  # Copy all os/arch manifests of a multi-architecture image
  # Run 'oc image info myregistry.com/myimage:latest' to see list of os/arch manifests that will be mirrored
  oc image mirror myregistry.com/myimage:latest=myregistry.com/other:test \
  --keep-manifest-list=true

  # Note the above command is equivalent to
  oc image mirror myregistry.com/myimage:latest=myregistry.com/other:test \
  --filter-by-os=.*

  # Copy specific os/arch manifest of a multi-architecture image
  # Run 'oc image info myregistry.com/myimage:latest' to see available os/arch for multi-arch images
  # Note that the target registry may reject a manifest list if the platform specific images do not all exist
  # You must use a registry with sparse registry support enabled
  oc image mirror myregistry.com/myimage:latest=myregistry.com/other:test \
  --filter-by-os=linux/386 \
  --keep-manifest-list=true
Copy to Clipboard Toggle word wrap

2.6.1.87. image d’importation d’OC

Importer des images à partir d’un registre d’images conteneur

Exemple d’utilisation

  # Import tag latest into a new image stream
  oc import-image mystream --from=registry.io/repo/image:latest --confirm

  # Update imported data for tag latest in an already existing image stream
  oc import-image mystream

  # Update imported data for tag stable in an already existing image stream
  oc import-image mystream:stable

  # Update imported data for all tags in an existing image stream
  oc import-image mystream --all

  # Update imported data for a tag that points to a manifest list to include the full manifest list
  oc import-image mystream --import-mode=PreserveOriginal

  # Import all tags into a new image stream
  oc import-image mystream --from=registry.io/repo/image --all --confirm

  # Import all tags into a new image stream using a custom timeout
  oc --request-timeout=5m import-image mystream --from=registry.io/repo/image --all --confirm
Copy to Clipboard Toggle word wrap

2.6.1.88. kustomize OC

Construire une cible de kustomisation à partir d’un répertoire ou d’une URL

Exemple d’utilisation

  # Build the current working directory
  oc kustomize

  # Build some shared configuration directory
  oc kustomize /home/config/production

  # Build from github
  oc kustomize https://github.com/kubernetes-sigs/kustomize.git/examples/helloWorld?ref=v1.0.6
Copy to Clipboard Toggle word wrap

2.6.1.89. étiquette OC

Actualisez les étiquettes sur une ressource

Exemple d’utilisation

  # Update pod 'foo' with the label 'unhealthy' and the value 'true'
  oc label pods foo unhealthy=true

  # Update pod 'foo' with the label 'status' and the value 'unhealthy', overwriting any existing value
  oc label --overwrite pods foo status=unhealthy

  # Update all pods in the namespace
  oc label pods --all status=unhealthy

  # Update a pod identified by the type and name in "pod.json"
  oc label -f pod.json status=unhealthy

  # Update pod 'foo' only if the resource is unchanged from version 1
  oc label pods foo status=unhealthy --resource-version=1

  # Update pod 'foo' by removing a label named 'bar' if it exists
  # Does not require the --overwrite flag
  oc label pods foo bar-
Copy to Clipboard Toggle word wrap

2.6.1.90. connexion OC

Connectez-vous à un serveur

Exemple d’utilisation

  # Log in interactively
  oc login --username=myuser

  # Log in to the given server with the given certificate authority file
  oc login localhost:8443 --certificate-authority=/path/to/cert.crt

  # Log in to the given server with the given credentials (will not prompt interactively)
  oc login localhost:8443 --username=myuser --password=mypass

  # Log in to the given server through a browser
  oc login localhost:8443 --web --callback-port 8280

  # Log in to the external OIDC issuer through Auth Code + PKCE by starting a local server listening on port 8080
  oc login localhost:8443 --exec-plugin=oc-oidc --client-id=client-id --extra-scopes=email,profile --callback-port=8080
Copy to Clipboard Toggle word wrap

2.6.1.91. logo d’OC

Fin de la session serveur actuelle

Exemple d’utilisation

  # Log out
  oc logout
Copy to Clipboard Toggle word wrap

2.6.1.92. journaux d’OC

Imprimer les journaux pour un conteneur dans un pod

Exemple d’utilisation

  # Start streaming the logs of the most recent build of the openldap build config
  oc logs -f bc/openldap

  # Start streaming the logs of the latest deployment of the mysql deployment config
  oc logs -f dc/mysql

  # Get the logs of the first deployment for the mysql deployment config. Note that logs
  # from older deployments may not exist either because the deployment was successful
  # or due to deployment pruning or manual deletion of the deployment
  oc logs --version=1 dc/mysql

  # Return a snapshot of ruby-container logs from pod backend
  oc logs backend -c ruby-container

  # Start streaming of ruby-container logs from pod backend
  oc logs -f pod/backend -c ruby-container
Copy to Clipboard Toggle word wrap

2.6.1.93. la nouvelle application OC

Créer une nouvelle application

Exemple d’utilisation

  # List all local templates and image streams that can be used to create an app
  oc new-app --list

  # Create an application based on the source code in the current git repository (with a public remote) and a container image
  oc new-app . --image=registry/repo/langimage

  # Create an application myapp with Docker based build strategy expecting binary input
  oc new-app  --strategy=docker --binary --name myapp

  # Create a Ruby application based on the provided [image]~[source code] combination
  oc new-app centos/ruby-25-centos7~https://github.com/sclorg/ruby-ex.git

  # Use the public container registry MySQL image to create an app. Generated artifacts will be labeled with db=mysql
  oc new-app mysql MYSQL_USER=user MYSQL_PASSWORD=pass MYSQL_DATABASE=testdb -l db=mysql

  # Use a MySQL image in a private registry to create an app and override application artifacts' names
  oc new-app --image=myregistry.com/mycompany/mysql --name=private

  # Use an image with the full manifest list to create an app and override application artifacts' names
  oc new-app --image=myregistry.com/mycompany/image --name=private --import-mode=PreserveOriginal

  # Create an application from a remote repository using its beta4 branch
  oc new-app https://github.com/openshift/ruby-hello-world#beta4

  # Create an application based on a stored template, explicitly setting a parameter value
  oc new-app --template=ruby-helloworld-sample --param=MYSQL_USER=admin

  # Create an application from a remote repository and specify a context directory
  oc new-app https://github.com/youruser/yourgitrepo --context-dir=src/build

  # Create an application from a remote private repository and specify which existing secret to use
  oc new-app https://github.com/youruser/yourgitrepo --source-secret=yoursecret

  # Create an application based on a template file, explicitly setting a parameter value
  oc new-app --file=./example/myapp/template.json --param=MYSQL_USER=admin

  # Search all templates, image streams, and container images for the ones that match "ruby"
  oc new-app --search ruby

  # Search for "ruby", but only in stored templates (--template, --image-stream and --image
  # can be used to filter search results)
  oc new-app --search --template=ruby

  # Search for "ruby" in stored templates and print the output as YAML
  oc new-app --search --template=ruby --output=yaml
Copy to Clipboard Toggle word wrap

2.6.1.94. la nouvelle construction d’OC

Créer une nouvelle configuration de build

Exemple d’utilisation

  # Create a build config based on the source code in the current git repository (with a public
  # remote) and a container image
  oc new-build . --image=repo/langimage

  # Create a NodeJS build config based on the provided [image]~[source code] combination
  oc new-build centos/nodejs-8-centos7~https://github.com/sclorg/nodejs-ex.git

  # Create a build config from a remote repository using its beta2 branch
  oc new-build https://github.com/openshift/ruby-hello-world#beta2

  # Create a build config using a Dockerfile specified as an argument
  oc new-build -D $'FROM centos:7\nRUN yum install -y httpd'

  # Create a build config from a remote repository and add custom environment variables
  oc new-build https://github.com/openshift/ruby-hello-world -e RACK_ENV=development

  # Create a build config from a remote private repository and specify which existing secret to use
  oc new-build https://github.com/youruser/yourgitrepo --source-secret=yoursecret

  # Create a build config using  an image with the full manifest list to create an app and override application artifacts' names
  oc new-build --image=myregistry.com/mycompany/image --name=private --import-mode=PreserveOriginal

  # Create a build config from a remote repository and inject the npmrc into a build
  oc new-build https://github.com/openshift/ruby-hello-world --build-secret npmrc:.npmrc

  # Create a build config from a remote repository and inject environment data into a build
  oc new-build https://github.com/openshift/ruby-hello-world --build-config-map env:config

  # Create a build config that gets its input from a remote repository and another container image
  oc new-build https://github.com/openshift/ruby-hello-world --source-image=openshift/jenkins-1-centos7 --source-image-path=/var/lib/jenkins:tmp
Copy to Clipboard Toggle word wrap

2.6.1.95. le nouveau projet OC

Demander un nouveau projet

Exemple d’utilisation

  # Create a new project with minimal information
  oc new-project web-team-dev

  # Create a new project with a display name and description
  oc new-project web-team-dev --display-name="Web Team Development" --description="Development project for the web team."
Copy to Clipboard Toggle word wrap

2.6.1.96. l’OC observe

Observer les changements de ressources et y réagir (expérimental)

Exemple d’utilisation

  # Observe changes to services
  oc observe services

  # Observe changes to services, including the clusterIP and invoke a script for each
  oc observe services --template '{ .spec.clusterIP }' -- register_dns.sh

  # Observe changes to services filtered by a label selector
  oc observe services -l regist-dns=true --template '{ .spec.clusterIP }' -- register_dns.sh
Copy to Clipboard Toggle word wrap

2.6.1.97. patch d’OC

Actualiser les champs d’une ressource

Exemple d’utilisation

  # Partially update a node using a strategic merge patch, specifying the patch as JSON
  oc patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'

  # Partially update a node using a strategic merge patch, specifying the patch as YAML
  oc patch node k8s-node-1 -p $'spec:\n unschedulable: true'

  # Partially update a node identified by the type and name specified in "node.json" using strategic merge patch
  oc patch -f node.json -p '{"spec":{"unschedulable":true}}'

  # Update a container's image; spec.containers[*].name is required because it's a merge key
  oc patch pod valid-pod -p '{"spec":{"containers":[{"name":"kubernetes-serve-hostname","image":"new image"}]}}'

  # Update a container's image using a JSON patch with positional arrays
  oc patch pod valid-pod --type='json' -p='[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}]'

  # Update a deployment's replicas through the 'scale' subresource using a merge patch
  oc patch deployment nginx-deployment --subresource='scale' --type='merge' -p '{"spec":{"replicas":2}}'
Copy to Clipboard Toggle word wrap

2.6.1.98. liste des plugins OC

Liste de tous les exécutables de plugin visibles sur le PATH d’un utilisateur

Exemple d’utilisation

  # List all available plugins
  oc plugin list
Copy to Clipboard Toggle word wrap

2.6.1.99. add-role-to-user de la politique d’OC

Ajouter un rôle aux utilisateurs ou aux comptes de service pour le projet en cours

Exemple d’utilisation

  # Add the 'view' role to user1 for the current project
  oc policy add-role-to-user view user1

  # Add the 'edit' role to serviceaccount1 for the current project
  oc policy add-role-to-user edit -z serviceaccount1
Copy to Clipboard Toggle word wrap

2.6.1.100. examen de la politique de l’OC

Vérifiez quel compte de service peut créer un pod

Exemple d’utilisation

  # Check whether service accounts sa1 and sa2 can admit a pod with a template pod spec specified in my_resource.yaml
  # Service Account specified in myresource.yaml file is ignored
  oc policy scc-review -z sa1,sa2 -f my_resource.yaml

  # Check whether service accounts system:serviceaccount:bob:default can admit a pod with a template pod spec specified in my_resource.yaml
  oc policy scc-review -z system:serviceaccount:bob:default -f my_resource.yaml

  # Check whether the service account specified in my_resource_with_sa.yaml can admit the pod
  oc policy scc-review -f my_resource_with_sa.yaml

  # Check whether the default service account can admit the pod; default is taken since no service account is defined in myresource_with_no_sa.yaml
  oc policy scc-review -f myresource_with_no_sa.yaml
Copy to Clipboard Toggle word wrap

2.6.1.101. la politique d’OCC-sujet-review

Vérifiez si un utilisateur ou un compte de service peut créer un pod

Exemple d’utilisation

  # Check whether user bob can create a pod specified in myresource.yaml
  oc policy scc-subject-review -u bob -f myresource.yaml

  # Check whether user bob who belongs to projectAdmin group can create a pod specified in myresource.yaml
  oc policy scc-subject-review -u bob -g projectAdmin -f myresource.yaml

  # Check whether a service account specified in the pod template spec in myresourcewithsa.yaml can create the pod
  oc policy scc-subject-review -f myresourcewithsa.yaml
Copy to Clipboard Toggle word wrap

2.6.1.102. le port d’Oc-forward

Acheminer un ou plusieurs ports locaux vers un pod

Exemple d’utilisation

  # Listen on ports 5000 and 6000 locally, forwarding data to/from ports 5000 and 6000 in the pod
  oc port-forward pod/mypod 5000 6000

  # Listen on ports 5000 and 6000 locally, forwarding data to/from ports 5000 and 6000 in a pod selected by the deployment
  oc port-forward deployment/mydeployment 5000 6000

  # Listen on port 8443 locally, forwarding to the targetPort of the service's port named "https" in a pod selected by the service
  oc port-forward service/myservice 8443:https

  # Listen on port 8888 locally, forwarding to 5000 in the pod
  oc port-forward pod/mypod 8888:5000

  # Listen on port 8888 on all addresses, forwarding to 5000 in the pod
  oc port-forward --address 0.0.0.0 pod/mypod 8888:5000

  # Listen on port 8888 on localhost and selected IP, forwarding to 5000 in the pod
  oc port-forward --address localhost,10.19.21.23 pod/mypod 8888:5000

  # Listen on a random port locally, forwarding to 5000 in the pod
  oc port-forward pod/mypod :5000
Copy to Clipboard Toggle word wrap

2.6.1.103. le processus d’OC

Le traitement d’un modèle dans la liste des ressources

Exemple d’utilisation

  # Convert the template.json file into a resource list and pass to create
  oc process -f template.json | oc create -f -

  # Process a file locally instead of contacting the server
  oc process -f template.json --local -o yaml

  # Process template while passing a user-defined label
  oc process -f template.json -l name=mytemplate

  # Convert a stored template into a resource list
  oc process foo

  # Convert a stored template into a resource list by setting/overriding parameter values
  oc process foo PARM1=VALUE1 PARM2=VALUE2

  # Convert a template stored in different namespace into a resource list
  oc process openshift//foo

  # Convert template.json into a resource list
  cat template.json | oc process -f -
Copy to Clipboard Toggle word wrap

2.6.1.104. le projet OC

Basculer vers un autre projet

Exemple d’utilisation

  # Switch to the 'myapp' project
  oc project myapp

  # Display the project currently in use
  oc project
Copy to Clipboard Toggle word wrap

2.6.1.105. les projets d’OC

Afficher les projets existants

Exemple d’utilisation

  # List all projects
  oc projects
Copy to Clipboard Toggle word wrap

2.6.1.106. le proxy d’OC

Exécutez un proxy vers le serveur API Kubernetes

Exemple d’utilisation

  # To proxy all of the Kubernetes API and nothing else
  oc proxy --api-prefix=/

  # To proxy only part of the Kubernetes API and also some static files
  # You can get pods info with 'curl localhost:8001/api/v1/pods'
  oc proxy --www=/my/files --www-prefix=/static/ --api-prefix=/api/

  # To proxy the entire Kubernetes API at a different root
  # You can get pods info with 'curl localhost:8001/custom/api/v1/pods'
  oc proxy --api-prefix=/custom/

  # Run a proxy to the Kubernetes API server on port 8011, serving static content from ./local/www/
  oc proxy --port=8011 --www=./local/www/

  # Run a proxy to the Kubernetes API server on an arbitrary local port
  # The chosen port for the server will be output to stdout
  oc proxy --port=0

  # Run a proxy to the Kubernetes API server, changing the API prefix to k8s-api
  # This makes e.g. the pods API available at localhost:8001/k8s-api/v1/pods/
  oc proxy --api-prefix=/k8s-api
Copy to Clipboard Toggle word wrap

2.6.1.107. connexion au registre OC

Connectez-vous au registre intégré

Exemple d’utilisation

  # Log in to the integrated registry
  oc registry login

  # Log in to different registry using BASIC auth credentials
  oc registry login --registry quay.io/myregistry --auth-basic=USER:PASS
Copy to Clipboard Toggle word wrap

2.6.1.108. les OC remplacent

Le remplacement d’une ressource par nom de fichier ou stdin

Exemple d’utilisation

  # Replace a pod using the data in pod.json
  oc replace -f ./pod.json

  # Replace a pod based on the JSON passed into stdin
  cat pod.json | oc replace -f -

  # Update a single-container pod's image version (tag) to v4
  oc get pod mypod -o yaml | sed 's/\(image: myimage\):.*$/\1:v4/' | oc replace -f -

  # Force replace, delete and then re-create the resource
  oc replace --force -f ./pod.json
Copy to Clipboard Toggle word wrap

2.6.1.109. le retour d’OC

Faire revenir une partie d’une application à un déploiement précédent

Exemple d’utilisation

  # Perform a rollback to the last successfully completed deployment for a deployment config
  oc rollback frontend

  # See what a rollback to version 3 will look like, but do not perform the rollback
  oc rollback frontend --to-version=3 --dry-run

  # Perform a rollback to a specific deployment
  oc rollback frontend-2

  # Perform the rollback manually by piping the JSON of the new config back to oc
  oc rollback frontend -o json | oc replace dc/frontend -f -

  # Print the updated deployment configuration in JSON format instead of performing the rollback
  oc rollback frontend -o json
Copy to Clipboard Toggle word wrap

2.6.1.110. annulation du déploiement d’OC

Annuler le déploiement en cours

Exemple d’utilisation

  # Cancel the in-progress deployment based on 'nginx'
  oc rollout cancel dc/nginx
Copy to Clipboard Toggle word wrap

2.6.1.111. historique de déploiement d’OC

Afficher l’historique du déploiement

Exemple d’utilisation

  # View the rollout history of a deployment
  oc rollout history dc/nginx

  # View the details of deployment revision 3
  oc rollout history dc/nginx --revision=3
Copy to Clipboard Toggle word wrap

2.6.1.112. dernier déploiement d’OC

Démarrez un nouveau déploiement pour une configuration de déploiement avec le dernier état à partir de ses déclencheurs

Exemple d’utilisation

  # Start a new rollout based on the latest images defined in the image change triggers
  oc rollout latest dc/nginx

  # Print the rolled out deployment config
  oc rollout latest dc/nginx -o json
Copy to Clipboard Toggle word wrap

2.6.1.113. pause de déploiement d’OC

Indiquez la ressource fournie comme une pause

Exemple d’utilisation

  # Mark the nginx deployment as paused. Any current state of
  # the deployment will continue its function, new updates to the deployment will not
  # have an effect as long as the deployment is paused
  oc rollout pause dc/nginx
Copy to Clipboard Toggle word wrap

2.6.1.114. déploiement d’OC redémarrage

Redémarrez une ressource

Exemple d’utilisation

  # Restart all deployments in test-namespace namespace
  oc rollout restart deployment -n test-namespace

  # Restart a deployment
  oc rollout restart deployment/nginx

  # Restart a daemon set
  oc rollout restart daemonset/abc

  # Restart deployments with the app=nginx label
  oc rollout restart deployment --selector=app=nginx
Copy to Clipboard Toggle word wrap

2.6.1.115. CV de déploiement d’OC

Reprendre une ressource en pause

Exemple d’utilisation

  # Resume an already paused deployment
  oc rollout resume dc/nginx
Copy to Clipboard Toggle word wrap

2.6.1.116. essai de déploiement d’OC

Essayez le dernier déploiement raté

Exemple d’utilisation

  # Retry the latest failed deployment based on 'frontend'
  # The deployer pod and any hook pods are deleted for the latest failed deployment
  oc rollout retry dc/frontend
Copy to Clipboard Toggle word wrap

2.6.1.117. État du déploiement d’OC

Afficher l’état du déploiement

Exemple d’utilisation

  # Watch the status of the latest rollout
  oc rollout status dc/nginx
Copy to Clipboard Toggle word wrap

2.6.1.118. lancement d’OC

Annuler un déploiement précédent

Exemple d’utilisation

  # Roll back to the previous deployment
  oc rollout undo dc/nginx

  # Roll back to deployment revision 3. The replication controller for that version must exist
  oc rollout undo dc/nginx --to-revision=3
Copy to Clipboard Toggle word wrap

2.6.1.119. à propos de OC rsh

Démarrer une session shell dans un conteneur

Exemple d’utilisation

  # Open a shell session on the first container in pod 'foo'
  oc rsh foo

  # Open a shell session on the first container in pod 'foo' and namespace 'bar'
  # (Note that oc client specific arguments must come before the resource name and its arguments)
  oc rsh -n bar foo

  # Run the command 'cat /etc/resolv.conf' inside pod 'foo'
  oc rsh foo cat /etc/resolv.conf

  # See the configuration of your internal registry
  oc rsh dc/docker-registry cat config.yml

  # Open a shell session on the container named 'index' inside a pod of your job
  oc rsh -c index job/scheduled
Copy to Clipboard Toggle word wrap

2.6.1.120. l’OC rsync

Copier des fichiers entre un système de fichiers local et un pod

Exemple d’utilisation

  # Synchronize a local directory with a pod directory
  oc rsync ./local/dir/ POD:/remote/dir

  # Synchronize a pod directory with a local directory
  oc rsync POD:/remote/dir/ ./local/dir
Copy to Clipboard Toggle word wrap

2.6.1.121. course d’OC

Exécutez une image particulière sur le cluster

Exemple d’utilisation

  # Start a nginx pod
  oc run nginx --image=nginx

  # Start a hazelcast pod and let the container expose port 5701
  oc run hazelcast --image=hazelcast/hazelcast --port=5701

  # Start a hazelcast pod and set environment variables "DNS_DOMAIN=cluster" and "POD_NAMESPACE=default" in the container
  oc run hazelcast --image=hazelcast/hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default"

  # Start a hazelcast pod and set labels "app=hazelcast" and "env=prod" in the container
  oc run hazelcast --image=hazelcast/hazelcast --labels="app=hazelcast,env=prod"

  # Dry run; print the corresponding API objects without creating them
  oc run nginx --image=nginx --dry-run=client

  # Start a nginx pod, but overload the spec with a partial set of values parsed from JSON
  oc run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }'

  # Start a busybox pod and keep it in the foreground, don't restart it if it exits
  oc run -i -t busybox --image=busybox --restart=Never

  # Start the nginx pod using the default command, but use custom arguments (arg1 .. argN) for that command
  oc run nginx --image=nginx -- <arg1> <arg2> ... <argN>

  # Start the nginx pod using a different command and custom arguments
  oc run nginx --image=nginx --command -- <cmd> <arg1> ... <argN>
Copy to Clipboard Toggle word wrap

2.6.1.122. échelle d’OC

Définir une nouvelle taille pour un contrôleur de déploiement, de réplique ou de réplication

Exemple d’utilisation

  # Scale a replica set named 'foo' to 3
  oc scale --replicas=3 rs/foo

  # Scale a resource identified by type and name specified in "foo.yaml" to 3
  oc scale --replicas=3 -f foo.yaml

  # If the deployment named mysql's current size is 2, scale mysql to 3
  oc scale --current-replicas=2 --replicas=3 deployment/mysql

  # Scale multiple replication controllers
  oc scale --replicas=5 rc/example1 rc/example2 rc/example3

  # Scale stateful set named 'web' to 3
  oc scale --replicas=3 statefulset/web
Copy to Clipboard Toggle word wrap

2.6.1.125. ensemble OC build-hook

Actualisez un crochet de construction sur une configuration de build

Exemple d’utilisation

  # Clear post-commit hook on a build config
  oc set build-hook bc/mybuild --post-commit --remove

  # Set the post-commit hook to execute a test suite using a new entrypoint
  oc set build-hook bc/mybuild --post-commit --command -- /bin/bash -c /var/lib/test-image.sh

  # Set the post-commit hook to execute a shell script
  oc set build-hook bc/mybuild --post-commit --script="/var/lib/test-image.sh param1 param2 && /var/lib/done.sh"
Copy to Clipboard Toggle word wrap

2.6.1.126. ensemble OC build-secret

Actualisez un secret de construction sur une configuration de build

Exemple d’utilisation

  # Clear the push secret on a build config
  oc set build-secret --push --remove bc/mybuild

  # Set the pull secret on a build config
  oc set build-secret --pull bc/mybuild mysecret

  # Set the push and pull secret on a build config
  oc set build-secret --push --pull bc/mybuild mysecret

  # Set the source secret on a set of build configs matching a selector
  oc set build-secret --source -l app=myapp gitsecret
Copy to Clipboard Toggle word wrap

2.6.1.127. ensemble de données OC

Actualisez les données dans une carte de configuration ou un secret

Exemple d’utilisation

  # Set the 'password' key of a secret
  oc set data secret/foo password=this_is_secret

  # Remove the 'password' key from a secret
  oc set data secret/foo password-

  # Update the 'haproxy.conf' key of a config map from a file on disk
  oc set data configmap/bar --from-file=../haproxy.conf

  # Update a secret with the contents of a directory, one key per file
  oc set data secret/foo --from-file=secret-dir
Copy to Clipboard Toggle word wrap

2.6.1.128. jeu OC set déploiement-hook

Actualisez un crochet de déploiement sur une configuration de déploiement

Exemple d’utilisation

  # Clear pre and post hooks on a deployment config
  oc set deployment-hook dc/myapp --remove --pre --post

  # Set the pre deployment hook to execute a db migration command for an application
  # using the data volume from the application
  oc set deployment-hook dc/myapp --pre --volumes=data -- /var/lib/migrate-db.sh

  # Set a mid deployment hook along with additional environment variables
  oc set deployment-hook dc/myapp --mid --volumes=data -e VAR1=value1 -e VAR2=value2 -- /var/lib/prepare-deploy.sh
Copy to Clipboard Toggle word wrap

2.6.1.129. ensemble d’OC env

Actualiser les variables d’environnement sur un modèle de pod

Exemple d’utilisation

  # Update deployment config 'myapp' with a new environment variable
  oc set env dc/myapp STORAGE_DIR=/local

  # List the environment variables defined on a build config 'sample-build'
  oc set env bc/sample-build --list

  # List the environment variables defined on all pods
  oc set env pods --all --list

  # Output modified build config in YAML
  oc set env bc/sample-build STORAGE_DIR=/data -o yaml

  # Update all containers in all replication controllers in the project to have ENV=prod
  oc set env rc --all ENV=prod

  # Import environment from a secret
  oc set env --from=secret/mysecret dc/myapp

  # Import environment from a config map with a prefix
  oc set env --from=configmap/myconfigmap --prefix=MYSQL_ dc/myapp

  # Remove the environment variable ENV from container 'c1' in all deployment configs
  oc set env dc --all --containers="c1" ENV-

  # Remove the environment variable ENV from a deployment config definition on disk and
  # update the deployment config on the server
  oc set env -f dc.json ENV-

  # Set some of the local shell environment into a deployment config on the server
  oc set env | grep RAILS_ | oc env -e - dc/myapp
Copy to Clipboard Toggle word wrap

2.6.1.130. image de jeu d’OC

Actualisez l’image d’un modèle de pod

Exemple d’utilisation

  # Set a deployment config's nginx container image to 'nginx:1.9.1', and its busybox container image to 'busybox'.
  oc set image dc/nginx busybox=busybox nginx=nginx:1.9.1

  # Set a deployment config's app container image to the image referenced by the imagestream tag 'openshift/ruby:2.3'.
  oc set image dc/myapp app=openshift/ruby:2.3 --source=imagestreamtag

  # Update all deployments' and rc's nginx container's image to 'nginx:1.9.1'
  oc set image deployments,rc nginx=nginx:1.9.1 --all

  # Update image of all containers of daemonset abc to 'nginx:1.9.1'
  oc set image daemonset abc *=nginx:1.9.1

  # Print result (in YAML format) of updating nginx container image from local file, without hitting the server
  oc set image -f path/to/file.yaml nginx=nginx:1.9.1 --local -o yaml
Copy to Clipboard Toggle word wrap

2.6.1.131. configuration d’image-lookup d’OC

Changer la façon dont les images sont résolues lors du déploiement d’applications

Exemple d’utilisation

  # Print all of the image streams and whether they resolve local names
  oc set image-lookup

  # Use local name lookup on image stream mysql
  oc set image-lookup mysql

  # Force a deployment to use local name lookup
  oc set image-lookup deploy/mysql

  # Show the current status of the deployment lookup
  oc set image-lookup deploy/mysql --list

  # Disable local name lookup on image stream mysql
  oc set image-lookup mysql --enabled=false

  # Set local name lookup on all image streams
  oc set image-lookup --all
Copy to Clipboard Toggle word wrap

2.6.1.132. capteur de jeu d’OC

Actualiser une sonde sur un modèle de pod

Exemple d’utilisation

  # Clear both readiness and liveness probes off all containers
  oc set probe dc/myapp --remove --readiness --liveness

  # Set an exec action as a liveness probe to run 'echo ok'
  oc set probe dc/myapp --liveness -- echo ok

  # Set a readiness probe to try to open a TCP socket on 3306
  oc set probe rc/mysql --readiness --open-tcp=3306

  # Set an HTTP startup probe for port 8080 and path /healthz over HTTP on the pod IP
  oc set probe dc/webapp --startup --get-url=http://:8080/healthz

  # Set an HTTP readiness probe for port 8080 and path /healthz over HTTP on the pod IP
  oc set probe dc/webapp --readiness --get-url=http://:8080/healthz

  # Set an HTTP readiness probe over HTTPS on 127.0.0.1 for a hostNetwork pod
  oc set probe dc/router --readiness --get-url=https://127.0.0.1:1936/stats

  # Set only the initial-delay-seconds field on all deployments
  oc set probe dc --all --readiness --initial-delay-seconds=30
Copy to Clipboard Toggle word wrap

2.6.1.133. l’OC a défini des ressources

Actualisez les demandes de ressources/limites sur les objets avec des modèles de pod

Exemple d’utilisation

  # Set a deployments nginx container CPU limits to "200m and memory to 512Mi"
  oc set resources deployment nginx -c=nginx --limits=cpu=200m,memory=512Mi

  # Set the resource request and limits for all containers in nginx
  oc set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi

  # Remove the resource requests for resources on containers in nginx
  oc set resources deployment nginx --limits=cpu=0,memory=0 --requests=cpu=0,memory=0

  # Print the result (in YAML format) of updating nginx container limits locally, without hitting the server
  oc set resources -f path/to/file.yaml --limits=cpu=200m,memory=512Mi --local -o yaml
Copy to Clipboard Toggle word wrap

2.6.1.134. boucles de route d’OC

Actualisez les backends pour un itinéraire

Exemple d’utilisation

  # Print the backends on the route 'web'
  oc set route-backends web

  # Set two backend services on route 'web' with 2/3rds of traffic going to 'a'
  oc set route-backends web a=2 b=1

  # Increase the traffic percentage going to b by 10%% relative to a
  oc set route-backends web --adjust b=+10%%

  # Set traffic percentage going to b to 10%% of the traffic going to a
  oc set route-backends web --adjust b=10%%

  # Set weight of b to 10
  oc set route-backends web --adjust b=10

  # Set the weight to all backends to zero
  oc set route-backends web --zero
Copy to Clipboard Toggle word wrap

2.6.1.135. ensemble d’OC sélecteur

Définir le sélecteur sur une ressource

Exemple d’utilisation

  # Set the labels and selector before creating a deployment/service pair.
  oc create service clusterip my-svc --clusterip="None" -o yaml --dry-run | oc set selector --local -f - 'environment=qa' -o yaml | oc create -f -
  oc create deployment my-dep -o yaml --dry-run | oc label --local -f - environment=qa -o yaml | oc create -f -
Copy to Clipboard Toggle word wrap

2.6.1.136. compte de service fixe d’OC

Actualiser le compte de service d’une ressource

Exemple d’utilisation

  # Set deployment nginx-deployment's service account to serviceaccount1
  oc set serviceaccount deployment nginx-deployment serviceaccount1

  # Print the result (in YAML format) of updated nginx deployment with service account from a local file, without hitting the API server
  oc set sa -f nginx-deployment.yaml serviceaccount1 --local --dry-run -o yaml
Copy to Clipboard Toggle word wrap

2.6.1.137. ensemble d’OC sujet

Actualisez le compte utilisateur, groupe ou service dans une liaison de rôle ou de cluster

Exemple d’utilisation

  # Update a cluster role binding for serviceaccount1
  oc set subject clusterrolebinding admin --serviceaccount=namespace:serviceaccount1

  # Update a role binding for user1, user2, and group1
  oc set subject rolebinding admin --user=user1 --user=user2 --group=group1

  # Print the result (in YAML format) of updating role binding subjects locally, without hitting the server
  oc create rolebinding admin --role=admin --user=admin -o yaml --dry-run | oc set subject --local -f - --user=foo -o yaml
Copy to Clipboard Toggle word wrap

2.6.1.138. déclencheurs OC réglés

Actualisez les déclencheurs sur un ou plusieurs objets

Exemple d’utilisation

  # Print the triggers on the deployment config 'myapp'
  oc set triggers dc/myapp

  # Set all triggers to manual
  oc set triggers dc/myapp --manual

  # Enable all automatic triggers
  oc set triggers dc/myapp --auto

  # Reset the GitHub webhook on a build to a new, generated secret
  oc set triggers bc/webapp --from-github
  oc set triggers bc/webapp --from-webhook

  # Remove all triggers
  oc set triggers bc/webapp --remove-all

  # Stop triggering on config change
  oc set triggers dc/myapp --from-config --remove

  # Add an image trigger to a build config
  oc set triggers bc/webapp --from-image=namespace1/image:latest

  # Add an image trigger to a stateful set on the main container
  oc set triggers statefulset/db --from-image=namespace1/image:latest -c main
Copy to Clipboard Toggle word wrap

2.6.1.139. ensemble de volumes d’OC

Actualiser les volumes sur un modèle de pod

Exemple d’utilisation

  # List volumes defined on all deployment configs in the current project
  oc set volume dc --all

  # Add a new empty dir volume to deployment config (dc) 'myapp' mounted under
  # /var/lib/myapp
  oc set volume dc/myapp --add --mount-path=/var/lib/myapp

  # Use an existing persistent volume claim (PVC) to overwrite an existing volume 'v1'
  oc set volume dc/myapp --add --name=v1 -t pvc --claim-name=pvc1 --overwrite

  # Remove volume 'v1' from deployment config 'myapp'
  oc set volume dc/myapp --remove --name=v1

  # Create a new persistent volume claim that overwrites an existing volume 'v1'
  oc set volume dc/myapp --add --name=v1 -t pvc --claim-size=1G --overwrite

  # Change the mount point for volume 'v1' to /data
  oc set volume dc/myapp --add --name=v1 -m /data --overwrite

  # Modify the deployment config by removing volume mount "v1" from container "c1"
  # (and by removing the volume "v1" if no other containers have volume mounts that reference it)
  oc set volume dc/myapp --remove --name=v1 --containers=c1

  # Add new volume based on a more complex volume source (AWS EBS, GCE PD,
  # Ceph, Gluster, NFS, ISCSI, ...)
  oc set volume dc/myapp --add -m /data --source=<json-string>
Copy to Clipboard Toggle word wrap

2.6.1.140. démarrage d’OC

Démarrer une nouvelle construction

Exemple d’utilisation

  # Starts build from build config "hello-world"
  oc start-build hello-world

  # Starts build from a previous build "hello-world-1"
  oc start-build --from-build=hello-world-1

  # Use the contents of a directory as build input
  oc start-build hello-world --from-dir=src/

  # Send the contents of a Git repository to the server from tag 'v2'
  oc start-build hello-world --from-repo=../hello-world --commit=v2

  # Start a new build for build config "hello-world" and watch the logs until the build
  # completes or fails
  oc start-build hello-world --follow

  # Start a new build for build config "hello-world" and wait until the build completes. It
  # exits with a non-zero return code if the build fails
  oc start-build hello-world --wait
Copy to Clipboard Toggle word wrap

2.6.1.141. État des OC

Afficher un aperçu du projet en cours

Exemple d’utilisation

  # See an overview of the current project
  oc status

  # Export the overview of the current project in an svg file
  oc status -o dot | dot -T svg -o project.svg

  # See an overview of the current project including details for any identified issues
  oc status --suggest
Copy to Clipboard Toggle word wrap

2.6.1.142. étiquette OC

Baliser les images existantes dans les flux d’images

Exemple d’utilisation

  # Tag the current image for the image stream 'openshift/ruby' and tag '2.0' into the image stream 'yourproject/ruby with tag 'tip'
  oc tag openshift/ruby:2.0 yourproject/ruby:tip

  # Tag a specific image
  oc tag openshift/ruby@sha256:6b646fa6bf5e5e4c7fa41056c27910e679c03ebe7f93e361e6515a9da7e258cc yourproject/ruby:tip

  # Tag an external container image
  oc tag --source=docker openshift/origin-control-plane:latest yourproject/ruby:tip

  # Tag an external container image and request pullthrough for it
  oc tag --source=docker openshift/origin-control-plane:latest yourproject/ruby:tip --reference-policy=local

  # Tag an external container image and include the full manifest list
  oc tag --source=docker openshift/origin-control-plane:latest yourproject/ruby:tip --import-mode=PreserveOriginal

  # Remove the specified spec tag from an image stream
  oc tag openshift/origin-control-plane:latest -d
Copy to Clipboard Toggle word wrap

2.6.1.143. la version OC

Imprimer les informations sur la version client et serveur

Exemple d’utilisation

  # Print the OpenShift client, kube-apiserver, and openshift-apiserver version information for the current context
  oc version

  # Print the OpenShift client, kube-apiserver, and openshift-apiserver version numbers for the current context in JSON format
  oc version --output json

  # Print the OpenShift client version information for the current context
  oc version --client
Copy to Clipboard Toggle word wrap

2.6.1.144. les OC attendent

Expérimental : Attendez une condition spécifique sur une ou plusieurs ressources

Exemple d’utilisation

  # Wait for the pod "busybox1" to contain the status condition of type "Ready"
  oc wait --for=condition=Ready pod/busybox1

  # The default value of status condition is true; you can wait for other targets after an equal delimiter (compared after Unicode simple case folding, which is a more general form of case-insensitivity)
  oc wait --for=condition=Ready=false pod/busybox1

  # Wait for the pod "busybox1" to contain the status phase to be "Running"
  oc wait --for=jsonpath='{.status.phase}'=Running pod/busybox1

  # Wait for pod "busybox1" to be Ready
  oc wait --for='jsonpath={.status.conditions[?(@.type=="Ready")].status}=True' pod/busybox1

  # Wait for the service "loadbalancer" to have ingress.
  oc wait --for=jsonpath='{.status.loadBalancer.ingress}' service/loadbalancer

  # Wait for the pod "busybox1" to be deleted, with a timeout of 60s, after having issued the "delete" command
  oc delete pod/busybox1
  oc wait --for=delete pod/busybox1 --timeout=60s
Copy to Clipboard Toggle word wrap

2.6.1.145. l’OC whoami

Informations de retour sur la session en cours

Exemple d’utilisation

  # Display the currently authenticated user
  oc whoami
Copy to Clipboard Toggle word wrap

2.7. Commande OpenShift CLI Référence de commande

Cette référence fournit des descriptions et des exemples de commandes pour les commandes d’administrateur OpenShift CLI (oc). Il faut avoir des autorisations de cluster-admin ou des autorisations équivalentes pour utiliser ces commandes.

Dans le cas des commandes de développeurs, consultez la référence des commandes de développeurs OpenShift CLI.

Exécutez oc adm -h pour énumérer toutes les commandes d’administrateur ou exécuter oc &lt;command&gt; --aider à obtenir des détails supplémentaires pour une commande spécifique.

2.7.1. Commandes d’administrateur OpenShift CLI (oc)

2.7.1.1. ajouter au panier OC adm build-chain

Extrayez les entrées et les dépendances de vos builds

Exemple d’utilisation

  # Build the dependency tree for the 'latest' tag in <image-stream>
  oc adm build-chain <image-stream>

  # Build the dependency tree for the 'v2' tag in dot format and visualize it via the dot utility
  oc adm build-chain <image-stream>:v2 -o dot | dot -T svg -o deps.svg

  # Build the dependency tree across all namespaces for the specified image stream tag found in the 'test' namespace
  oc adm build-chain <image-stream> -n test --all
Copy to Clipboard Toggle word wrap

2.7.1.2. catalogue OC adm miroir

Afficher un catalogue d’opérateur-registre

Exemple d’utilisation

  # Mirror an operator-registry image and its contents to a registry
  oc adm catalog mirror quay.io/my/image:latest myregistry.com

  # Mirror an operator-registry image and its contents to a particular namespace in a registry
  oc adm catalog mirror quay.io/my/image:latest myregistry.com/my-namespace

  # Mirror to an airgapped registry by first mirroring to files
  oc adm catalog mirror quay.io/my/image:latest file:///local/index
  oc adm catalog mirror file:///local/index/my/image:latest my-airgapped-registry.com

  # Configure a cluster to use a mirrored registry
  oc apply -f manifests/imageDigestMirrorSet.yaml

  # Edit the mirroring mappings and mirror with "oc image mirror" manually
  oc adm catalog mirror --manifests-only quay.io/my/image:latest myregistry.com
  oc image mirror -f manifests/mapping.txt

  # Delete all ImageDigestMirrorSets generated by oc adm catalog mirror
  oc delete imagedigestmirrorset -l operators.openshift.org/catalog=true
Copy to Clipboard Toggle word wrap

2.7.1.3. le certificat OC adm approuve

Approuver une demande de signature de certificat

Exemple d’utilisation

  # Approve CSR 'csr-sqgzp'
  oc adm certificate approve csr-sqgzp
Copy to Clipboard Toggle word wrap

2.7.1.4. certificat OC adm refusant

Refuser une demande de signature de certificat

Exemple d’utilisation

  # Deny CSR 'csr-sqgzp'
  oc adm certificate deny csr-sqgzp
Copy to Clipboard Toggle word wrap

2.7.1.5. copier-to-node d’OC adm

Copiez les fichiers spécifiés dans le nœud

Exemple d’utilisation

  # Copy a new bootstrap kubeconfig file to node-0
  oc adm copy-to-node --copy=new-bootstrap-kubeconfig=/etc/kubernetes/kubeconfig node/node-0
Copy to Clipboard Toggle word wrap

2.7.1.6. ajouter au panier OC adm cordon

Nœud de marque comme imprévu

Exemple d’utilisation

  # Mark node "foo" as unschedulable
  oc adm cordon foo
Copy to Clipboard Toggle word wrap

2.7.1.7. création-bootstrap-project-template d’OC adm

Créer un modèle de projet bootstrap

Exemple d’utilisation

  # Output a bootstrap project template in YAML format to stdout
  oc adm create-bootstrap-project-template -o yaml
Copy to Clipboard Toggle word wrap

2.7.1.8. création-erreur-template d’OC adm

Créer un modèle de page d’erreur

Exemple d’utilisation

  # Output a template for the error page to stdout
  oc adm create-error-template
Copy to Clipboard Toggle word wrap

2.7.1.9. ajouter au panier OC adm create-login-template

Créer un modèle de connexion

Exemple d’utilisation

  # Output a template for the login page to stdout
  oc adm create-login-template
Copy to Clipboard Toggle word wrap

2.7.1.10. création-fournisseur-sélection-template OC adm

Créer un modèle de sélection du fournisseur

Exemple d’utilisation

  # Output a template for the provider selection page to stdout
  oc adm create-provider-selection-template
Copy to Clipboard Toggle word wrap

2.7.1.11. drain d’adm OC

Nœud de vidange en préparation à l’entretien

Exemple d’utilisation

  # Drain node "foo", even if there are pods not managed by a replication controller, replica set, job, daemon set, or stateful set on it
  oc adm drain foo --force

  # As above, but abort if there are pods not managed by a replication controller, replica set, job, daemon set, or stateful set, and use a grace period of 15 minutes
  oc adm drain foo --grace-period=900
Copy to Clipboard Toggle word wrap

2.7.1.12. groupes d’adm OC add-users

Ajouter des utilisateurs à un groupe

Exemple d’utilisation

  # Add user1 and user2 to my-group
  oc adm groups add-users my-group user1 user2
Copy to Clipboard Toggle word wrap

2.7.1.13. les groupes d’adm OC nouveaux

Créer un nouveau groupe

Exemple d’utilisation

  # Add a group with no users
  oc adm groups new my-group

  # Add a group with two users
  oc adm groups new my-group user1 user2

  # Add a group with one user and shorter output
  oc adm groups new my-group user1 -o name
Copy to Clipboard Toggle word wrap

2.7.1.14. groupes d’adm OC prunes

Enlever les anciens groupes OpenShift faisant référence aux enregistrements manquants d’un fournisseur externe

Exemple d’utilisation

  # Prune all orphaned groups
  oc adm groups prune --sync-config=/path/to/ldap-sync-config.yaml --confirm

  # Prune all orphaned groups except the ones from the denylist file
  oc adm groups prune --blacklist=/path/to/denylist.txt --sync-config=/path/to/ldap-sync-config.yaml --confirm

  # Prune all orphaned groups from a list of specific groups specified in an allowlist file
  oc adm groups prune --whitelist=/path/to/allowlist.txt --sync-config=/path/to/ldap-sync-config.yaml --confirm

  # Prune all orphaned groups from a list of specific groups specified in a list
  oc adm groups prune groups/group_name groups/other_name --sync-config=/path/to/ldap-sync-config.yaml --confirm
Copy to Clipboard Toggle word wrap

2.7.1.15. les groupes d’adm OC suppriment les utilisateurs

Enlever les utilisateurs d’un groupe

Exemple d’utilisation

  # Remove user1 and user2 from my-group
  oc adm groups remove-users my-group user1 user2
Copy to Clipboard Toggle word wrap

2.7.1.16. les groupes d’adm OC se synchronisent

Synchroniser les groupes OpenShift avec les enregistrements d’un fournisseur externe

Exemple d’utilisation

  # Sync all groups with an LDAP server
  oc adm groups sync --sync-config=/path/to/ldap-sync-config.yaml --confirm

  # Sync all groups except the ones from the blacklist file with an LDAP server
  oc adm groups sync --blacklist=/path/to/blacklist.txt --sync-config=/path/to/ldap-sync-config.yaml --confirm

  # Sync specific groups specified in an allowlist file with an LDAP server
  oc adm groups sync --whitelist=/path/to/allowlist.txt --sync-config=/path/to/sync-config.yaml --confirm

  # Sync all OpenShift groups that have been synced previously with an LDAP server
  oc adm groups sync --type=openshift --sync-config=/path/to/ldap-sync-config.yaml --confirm

  # Sync specific OpenShift groups if they have been synced previously with an LDAP server
  oc adm groups sync groups/group1 groups/group2 groups/group3 --sync-config=/path/to/sync-config.yaml --confirm
Copy to Clipboard Toggle word wrap

2.7.1.17. inspection d’OC adm

Collecter des données de débogage pour une ressource donnée

Exemple d’utilisation

  # Collect debugging data for the "openshift-apiserver" clusteroperator
  oc adm inspect clusteroperator/openshift-apiserver

  # Collect debugging data for the "openshift-apiserver" and "kube-apiserver" clusteroperators
  oc adm inspect clusteroperator/openshift-apiserver clusteroperator/kube-apiserver

  # Collect debugging data for all clusteroperators
  oc adm inspect clusteroperator

  # Collect debugging data for all clusteroperators and clusterversions
  oc adm inspect clusteroperators,clusterversions
Copy to Clipboard Toggle word wrap

2.7.1.18. ajouter au panier OC adm migration icsp

Actualiser le(s) fichier(s) imagecontentsourcepolicy(s) vers imagedigestmirrorset fichier(s)

Exemple d’utilisation

  # Update the imagecontentsourcepolicy.yaml file to a new imagedigestmirrorset file under the mydir directory
  oc adm migrate icsp imagecontentsourcepolicy.yaml --dest-dir mydir
Copy to Clipboard Toggle word wrap

2.7.1.19. annonces OC migration template-instances

Actualisez les instances de modèle pour pointer vers les dernières versions de groupe-types

Exemple d’utilisation

  # Perform a dry-run of updating all objects
  oc adm migrate template-instances

  # To actually perform the update, the confirm flag must be appended
  oc adm migrate template-instances --confirm
Copy to Clipboard Toggle word wrap

2.7.1.20. ajouter au panier OC adm must-collectther

Lancer une nouvelle instance d’un pod pour recueillir des informations de débogage

Exemple d’utilisation

  # Gather information using the default plug-in image and command, writing into ./must-gather.local.<rand>
  oc adm must-gather

  # Gather information with a specific local folder to copy to
  oc adm must-gather --dest-dir=/local/directory

  # Gather audit information
  oc adm must-gather -- /usr/bin/gather_audit_logs

  # Gather information using multiple plug-in images
  oc adm must-gather --image=quay.io/kubevirt/must-gather --image=quay.io/openshift/origin-must-gather

  # Gather information using a specific image stream plug-in
  oc adm must-gather --image-stream=openshift/must-gather:latest

  # Gather information using a specific image, command, and pod directory
  oc adm must-gather --image=my/image:tag --source-dir=/pod/directory -- myspecial-command.sh
Copy to Clipboard Toggle word wrap

2.7.1.21. le nouveau projet OC adm

Créer un nouveau projet

Exemple d’utilisation

  # Create a new project using a node selector
  oc adm new-project myproject --node-selector='type=user-node,region=east'
Copy to Clipboard Toggle word wrap

2.7.1.22. création d’une image de nœud d’adm OC

Créer une image ISO pour démarrer les nœuds à ajouter au cluster cible

Exemple d’utilisation

  # Create the ISO image and download it in the current folder
  oc adm node-image create

  # Use a different assets folder
  oc adm node-image create --dir=/tmp/assets

  # Specify a custom image name
  oc adm node-image create -o=my-node.iso

  # Create an ISO to add a single node without using the configuration file
  oc adm node-image create --mac-address=00:d8:e7:c7:4b:bb

  # Create an ISO to add a single node with a root device hint and without
  # using the configuration file
  oc adm node-image create --mac-address=00:d8:e7:c7:4b:bb --root-device-hint=deviceName:/dev/sda
Copy to Clipboard Toggle word wrap

2.7.1.23. contrôleur d’image de nœud d’adm OC

Contrôlez de nouveaux nœuds ajoutés à un cluster OpenShift

Exemple d’utilisation

  # Monitor a single node being added to a cluster
  oc adm node-image monitor --ip-addresses 192.168.111.83

  # Monitor multiple nodes being added to a cluster by separating each
  IP address with a comma
  oc adm node-image monitor --ip-addresses 192.168.111.83,192.168.111.84
Copy to Clipboard Toggle word wrap

2.7.1.24. carnets de nœuds d’adm OC

Afficher et filtrer les journaux des nœuds

Exemple d’utilisation

  # Show kubelet logs from all control plane nodes
  oc adm node-logs --role master -u kubelet

  # See what logs are available in control plane nodes in /var/log
  oc adm node-logs --role master --path=/

  # Display cron log file from all control plane nodes
  oc adm node-logs --role master --path=cron
Copy to Clipboard Toggle word wrap

2.7.1.25. certificats OC adm ocp-certificats moniteurs

Certificats de plate-forme de surveillance

Exemple d’utilisation

  # Watch platform certificates
  oc adm ocp-certificates monitor-certificates
Copy to Clipboard Toggle word wrap

2.7.1.26. certificats OC adm ocp-regenerate-feuille

Régénérer le client et servir les certificats d’un cluster OpenShift

Exemple d’utilisation

  # Regenerate a leaf certificate contained in a particular secret
  oc adm ocp-certificates regenerate-leaf -n openshift-config-managed secret/kube-controller-manager-client-cert-key
Copy to Clipboard Toggle word wrap

Générez les certificats d’opérateur de configuration de la machine dans un cluster OpenShift

Exemple d’utilisation

  # Regenerate the MCO certs without modifying user-data secrets
  oc adm ocp-certificates regenerate-machine-config-server-serving-cert --update-ignition=false

  # Update the user-data secrets to use new MCS certs
  oc adm ocp-certificates update-ignition-ca-bundle-for-machine-config-server
Copy to Clipboard Toggle word wrap

Générez les certificats de niveau supérieur dans un cluster OpenShift

Exemple d’utilisation

  # Regenerate the signing certificate contained in a particular secret
  oc adm ocp-certificates regenerate-top-level -n openshift-kube-apiserver-operator secret/loadbalancer-serving-signer-key
Copy to Clipboard Toggle word wrap

2.7.1.29. les certificats OC adm ocp éliminent la confiance

Enlever les anciennes CA de ConfigMaps représentant les paquets de confiance de la plate-forme dans un cluster OpenShift

Exemple d’utilisation

  # Remove a trust bundled contained in a particular config map
  oc adm ocp-certificates remove-old-trust -n openshift-config-managed configmaps/kube-apiserver-aggregator-client-ca --created-before 2023-06-05T14:44:06Z

  #  Remove only CA certificates created before a certain date from all trust bundles
  oc adm ocp-certificates remove-old-trust configmaps -A --all --created-before 2023-06-05T14:44:06Z
Copy to Clipboard Toggle word wrap

Actualisez les secrets des données utilisateur dans un cluster OpenShift pour utiliser les certificats MCO mis à jour

Exemple d’utilisation

  # Regenerate the MCO certs without modifying user-data secrets
  oc adm ocp-certificates regenerate-machine-config-server-serving-cert --update-ignition=false

  # Update the user-data secrets to use new MCS certs
  oc adm ocp-certificates update-ignition-ca-bundle-for-machine-config-server
Copy to Clipboard Toggle word wrap

2.7.1.31. adm pod-réseau-isolats-projets OC adm pod-network

Isoler le réseau de projet

Exemple d’utilisation

  # Provide isolation for project p1
  oc adm pod-network isolate-projects <p1>

  # Allow all projects with label name=top-secret to have their own isolated project network
  oc adm pod-network isolate-projects --selector='name=top-secret'
Copy to Clipboard Toggle word wrap

2.7.1.32. co-projets OC adm pod-network

Joignez-vous au réseau de projets

Exemple d’utilisation

  # Allow project p2 to use project p1 network
  oc adm pod-network join-projects --to=<p1> <p2>

  # Allow all projects with label name=top-secret to use project p1 network
  oc adm pod-network join-projects --to=<p1> --selector='name=top-secret'
Copy to Clipboard Toggle word wrap

2.7.1.33. adm pod-network make-projects-global

Faire du réseau de projets global

Exemple d’utilisation

  # Allow project p1 to access all pods in the cluster and vice versa
  oc adm pod-network make-projects-global <p1>

  # Allow all projects with label name=share to access all pods in the cluster and vice versa
  oc adm pod-network make-projects-global --selector='name=share'
Copy to Clipboard Toggle word wrap

2.7.1.34. adm politique d’OC add-cluster-role-to-groupe

Ajouter un rôle aux groupes pour tous les projets du cluster

Exemple d’utilisation

  # Add the 'cluster-admin' cluster role to the 'cluster-admins' group
  oc adm policy add-cluster-role-to-group cluster-admin cluster-admins
Copy to Clipboard Toggle word wrap

2.7.1.35. adm politique d’OC add-cluster-role-to-user

Ajouter un rôle aux utilisateurs pour tous les projets du cluster

Exemple d’utilisation

  # Add the 'system:build-strategy-docker' cluster role to the 'devuser' user
  oc adm policy add-cluster-role-to-user system:build-strategy-docker devuser
Copy to Clipboard Toggle word wrap

2.7.1.36. add-role-to-user de la politique d’adm OC

Ajouter un rôle aux utilisateurs ou aux comptes de service pour le projet en cours

Exemple d’utilisation

  # Add the 'view' role to user1 for the current project
  oc adm policy add-role-to-user view user1

  # Add the 'edit' role to serviceaccount1 for the current project
  oc adm policy add-role-to-user edit -z serviceaccount1
Copy to Clipboard Toggle word wrap

2.7.1.37. adm policy add-scc-to-group d’OC

Ajouter une contrainte de contexte de sécurité aux groupes

Exemple d’utilisation

  # Add the 'restricted' security context constraint to group1 and group2
  oc adm policy add-scc-to-group restricted group1 group2
Copy to Clipboard Toggle word wrap

2.7.1.38. adm policy add-scc-to-user

Ajouter une contrainte de contexte de sécurité aux utilisateurs ou à un compte de service

Exemple d’utilisation

  # Add the 'restricted' security context constraint to user1 and user2
  oc adm policy add-scc-to-user restricted user1 user2

  # Add the 'privileged' security context constraint to serviceaccount1 in the current namespace
  oc adm policy add-scc-to-user privileged -z serviceaccount1
Copy to Clipboard Toggle word wrap

Enlever un rôle des groupes pour tous les projets du cluster

Exemple d’utilisation

  # Remove the 'cluster-admin' cluster role from the 'cluster-admins' group
  oc adm policy remove-cluster-role-from-group cluster-admin cluster-admins
Copy to Clipboard Toggle word wrap

Enlever un rôle des utilisateurs pour tous les projets du cluster

Exemple d’utilisation

  # Remove the 'system:build-strategy-docker' cluster role from the 'devuser' user
  oc adm policy remove-cluster-role-from-user system:build-strategy-docker devuser
Copy to Clipboard Toggle word wrap

2.7.1.41. avis sur la politique d’OC adm

Vérifiez quel compte de service peut créer un pod

Exemple d’utilisation

  # Check whether service accounts sa1 and sa2 can admit a pod with a template pod spec specified in my_resource.yaml
  # Service Account specified in myresource.yaml file is ignored
  oc adm policy scc-review -z sa1,sa2 -f my_resource.yaml

  # Check whether service accounts system:serviceaccount:bob:default can admit a pod with a template pod spec specified in my_resource.yaml
  oc adm policy scc-review -z system:serviceaccount:bob:default -f my_resource.yaml

  # Check whether the service account specified in my_resource_with_sa.yaml can admit the pod
  oc adm policy scc-review -f my_resource_with_sa.yaml

  # Check whether the default service account can admit the pod; default is taken since no service account is defined in myresource_with_no_sa.yaml
  oc adm policy scc-review -f myresource_with_no_sa.yaml
Copy to Clipboard Toggle word wrap

2.7.1.42. la politique d’OC adm scc-subject-review

Vérifiez si un utilisateur ou un compte de service peut créer un pod

Exemple d’utilisation

  # Check whether user bob can create a pod specified in myresource.yaml
  oc adm policy scc-subject-review -u bob -f myresource.yaml

  # Check whether user bob who belongs to projectAdmin group can create a pod specified in myresource.yaml
  oc adm policy scc-subject-review -u bob -g projectAdmin -f myresource.yaml

  # Check whether a service account specified in the pod template spec in myresourcewithsa.yaml can create the pod
  oc adm policy scc-subject-review -f myresourcewithsa.yaml
Copy to Clipboard Toggle word wrap

2.7.1.43. constructions OC adm prune

Enlever les anciennes constructions terminées et échouées

Exemple d’utilisation

  # Dry run deleting older completed and failed builds and also including
  # all builds whose associated build config no longer exists
  oc adm prune builds --orphans

  # To actually perform the prune operation, the confirm flag must be appended
  oc adm prune builds --orphans --confirm
Copy to Clipboard Toggle word wrap

2.7.1.44. déploiements OC adm prunes

Supprimer les anciennes configurations de déploiement terminées et échouées

Exemple d’utilisation

  # Dry run deleting all but the last complete deployment for every deployment config
  oc adm prune deployments --keep-complete=1

  # To actually perform the prune operation, the confirm flag must be appended
  oc adm prune deployments --keep-complete=1 --confirm
Copy to Clipboard Toggle word wrap

2.7.1.45. groupes de prunes OC adm

Enlever les anciens groupes OpenShift faisant référence aux enregistrements manquants d’un fournisseur externe

Exemple d’utilisation

  # Prune all orphaned groups
  oc adm prune groups --sync-config=/path/to/ldap-sync-config.yaml --confirm

  # Prune all orphaned groups except the ones from the denylist file
  oc adm prune groups --blacklist=/path/to/denylist.txt --sync-config=/path/to/ldap-sync-config.yaml --confirm

  # Prune all orphaned groups from a list of specific groups specified in an allowlist file
  oc adm prune groups --whitelist=/path/to/allowlist.txt --sync-config=/path/to/ldap-sync-config.yaml --confirm

  # Prune all orphaned groups from a list of specific groups specified in a list
  oc adm prune groups groups/group_name groups/other_name --sync-config=/path/to/ldap-sync-config.yaml --confirm
Copy to Clipboard Toggle word wrap

2.7.1.46. images de prunes OC adm

Enlever les images non référencées

Exemple d’utilisation

  # See what the prune command would delete if only images and their referrers were more than an hour old
  # and obsoleted by 3 newer revisions under the same tag were considered
  oc adm prune images --keep-tag-revisions=3 --keep-younger-than=60m

  # To actually perform the prune operation, the confirm flag must be appended
  oc adm prune images --keep-tag-revisions=3 --keep-younger-than=60m --confirm

  # See what the prune command would delete if we are interested in removing images
  # exceeding currently set limit ranges ('openshift.io/Image')
  oc adm prune images --prune-over-size-limit

  # To actually perform the prune operation, the confirm flag must be appended
  oc adm prune images --prune-over-size-limit --confirm

  # Force the insecure HTTP protocol with the particular registry host name
  oc adm prune images --registry-url=http://registry.example.org --confirm

  # Force a secure connection with a custom certificate authority to the particular registry host name
  oc adm prune images --registry-url=registry.example.org --certificate-authority=/path/to/custom/ca.crt --confirm
Copy to Clipboard Toggle word wrap

2.7.1.47. ajouter au panier OC adm prune rendermachineconfigs

Les pruneaux ont rendu MachineConfigs dans un cluster OpenShift

Exemple d’utilisation

  # See what the prune command would delete if run with no options
  oc adm prune renderedmachineconfigs

  # To actually perform the prune operation, the confirm flag must be appended
  oc adm prune renderedmachineconfigs --confirm

  # See what the prune command would delete if run on the worker MachineConfigPool
  oc adm prune renderedmachineconfigs --pool-name=worker

  # Prunes 10 oldest rendered MachineConfigs in the cluster
  oc adm prune renderedmachineconfigs --count=10 --confirm

  # Prunes 10 oldest rendered MachineConfigs in the cluster for the worker MachineConfigPool
  oc adm prune renderedmachineconfigs --count=10 --pool-name=worker --confirm
Copy to Clipboard Toggle word wrap

2.7.1.48. liste des configurations automatiques OC adm prune

Liste rendu MachineConfigs dans un cluster OpenShift

Exemple d’utilisation

  # List all rendered MachineConfigs for the worker MachineConfigPool in the cluster
  oc adm prune renderedmachineconfigs list --pool-name=worker

  # List all rendered MachineConfigs in use by the cluster's MachineConfigPools
  oc adm prune renderedmachineconfigs list --in-use
Copy to Clipboard Toggle word wrap

2.7.1.49. ajouter au panier OC adm reboot-machine-config-pool

Initier le redémarrage de la machineConfigPool spécifiée

Exemple d’utilisation

  # Reboot all MachineConfigPools
  oc adm reboot-machine-config-pool mcp/worker mcp/master

  # Reboot all MachineConfigPools that inherit from worker.  This include all custom MachineConfigPools and infra.
  oc adm reboot-machine-config-pool mcp/worker

  # Reboot masters
  oc adm reboot-machine-config-pool mcp/master
Copy to Clipboard Toggle word wrap

2.7.1.50. extrait de libération d’OC adm

Extraire le contenu d’une charge utile de mise à jour sur le disque

Exemple d’utilisation

  # Use git to check out the source code for the current cluster release to DIR
  oc adm release extract --git=DIR

  # Extract cloud credential requests for AWS
  oc adm release extract --credentials-requests --cloud=aws

  # Use git to check out the source code for the current cluster release to DIR from linux/s390x image
  # Note: Wildcard filter is not supported; pass a single os/arch to extract
  oc adm release extract --git=DIR quay.io/openshift-release-dev/ocp-release:4.11.2 --filter-by-os=linux/s390x
Copy to Clipboard Toggle word wrap

2.7.1.51. infos sur la libération d’OC adm

Afficher des informations sur une version

Exemple d’utilisation

  # Show information about the cluster's current release
  oc adm release info

  # Show the source code that comprises a release
  oc adm release info 4.11.2 --commit-urls

  # Show the source code difference between two releases
  oc adm release info 4.11.0 4.11.2 --commits

  # Show where the images referenced by the release are located
  oc adm release info quay.io/openshift-release-dev/ocp-release:4.11.2 --pullspecs

  # Show information about linux/s390x image
  # Note: Wildcard filter is not supported; pass a single os/arch to extract
  oc adm release info quay.io/openshift-release-dev/ocp-release:4.11.2 --filter-by-os=linux/s390x
Copy to Clipboard Toggle word wrap

2.7.1.52. le miroir de libération d’OC adm

Afficher une version à un autre emplacement de registre d’images

Exemple d’utilisation

  # Perform a dry run showing what would be mirrored, including the mirror objects
  oc adm release mirror 4.11.0 --to myregistry.local/openshift/release \
  --release-image-signature-to-dir /tmp/releases --dry-run

  # Mirror a release into the current directory
  oc adm release mirror 4.11.0 --to file://openshift/release \
  --release-image-signature-to-dir /tmp/releases

  # Mirror a release to another directory in the default location
  oc adm release mirror 4.11.0 --to-dir /tmp/releases

  # Upload a release from the current directory to another server
  oc adm release mirror --from file://openshift/release --to myregistry.com/openshift/release \
  --release-image-signature-to-dir /tmp/releases

  # Mirror the 4.11.0 release to repository registry.example.com and apply signatures to connected cluster
  oc adm release mirror --from=quay.io/openshift-release-dev/ocp-release:4.11.0-x86_64 \
  --to=registry.example.com/your/repository --apply-release-image-signature
Copy to Clipboard Toggle word wrap

2.7.1.53. lancement d’OC adm

Créer une nouvelle version d’OpenShift

Exemple d’utilisation

  # Create a release from the latest origin images and push to a DockerHub repository
  oc adm release new --from-image-stream=4.11 -n origin --to-image docker.io/mycompany/myrepo:latest

  # Create a new release with updated metadata from a previous release
  oc adm release new --from-release registry.ci.openshift.org/origin/release:v4.11 --name 4.11.1 \
  --previous 4.11.0 --metadata ... --to-image docker.io/mycompany/myrepo:latest

  # Create a new release and override a single image
  oc adm release new --from-release registry.ci.openshift.org/origin/release:v4.11 \
  cli=docker.io/mycompany/cli:latest --to-image docker.io/mycompany/myrepo:latest

  # Run a verification pass to ensure the release can be reproduced
  oc adm release new --from-release registry.ci.openshift.org/origin/release:v4.11
Copy to Clipboard Toggle word wrap

2.7.1.54. ajouter au panier OC adm redémarrer-kubelet

Kubelet redémarrer sur les nœuds spécifiés

Exemple d’utilisation

  # Restart all the nodes, 10% at a time
  oc adm restart-kubelet nodes --all --directive=RemoveKubeletKubeconfig

  # Restart all the nodes, 20 nodes at a time
  oc adm restart-kubelet nodes --all --parallelism=20 --directive=RemoveKubeletKubeconfig

  # Restart all the nodes, 15% at a time
  oc adm restart-kubelet nodes --all --parallelism=15% --directive=RemoveKubeletKubeconfig

  # Restart all the masters at the same time
  oc adm restart-kubelet nodes -l node-role.kubernetes.io/master --parallelism=100% --directive=RemoveKubeletKubeconfig
Copy to Clipboard Toggle word wrap

2.7.1.55. ajouter au panier OC adm taint

Actualisez les taches sur un ou plusieurs nœuds

Exemple d’utilisation

  # Update node 'foo' with a taint with key 'dedicated' and value 'special-user' and effect 'NoSchedule'
  # If a taint with that key and effect already exists, its value is replaced as specified
  oc adm taint nodes foo dedicated=special-user:NoSchedule

  # Remove from node 'foo' the taint with key 'dedicated' and effect 'NoSchedule' if one exists
  oc adm taint nodes foo dedicated:NoSchedule-

  # Remove from node 'foo' all the taints with key 'dedicated'
  oc adm taint nodes foo dedicated-

  # Add a taint with key 'dedicated' on nodes having label myLabel=X
  oc adm taint node -l myLabel=X  dedicated=foo:PreferNoSchedule

  # Add to node 'foo' a taint with key 'bar' and no value
  oc adm taint nodes foo bar:NoSchedule
Copy to Clipboard Toggle word wrap

2.7.1.56. images haut OC adm

Afficher les statistiques d’utilisation des images

Exemple d’utilisation

  # Show usage statistics for images
  oc adm top images
Copy to Clipboard Toggle word wrap

2.7.1.57. flux d’images haut OC adm

Afficher les statistiques d’utilisation pour les flux d’images

Exemple d’utilisation

  # Show usage statistics for image streams
  oc adm top imagestreams
Copy to Clipboard Toggle word wrap

2.7.1.58. nœud supérieur OC adm

Afficher la ressource (CPU/mémoire) utilisation des nœuds

Exemple d’utilisation

  # Show metrics for all nodes
  oc adm top node

  # Show metrics for a given node
  oc adm top node NODE_NAME
Copy to Clipboard Toggle word wrap

2.7.1.59. ajouter au panier OC adm top pod

Afficher la ressource (CPU/mémoire) utilisation des pods

Exemple d’utilisation

  # Show metrics for all pods in the default namespace
  oc adm top pod

  # Show metrics for all pods in the given namespace
  oc adm top pod --namespace=NAMESPACE

  # Show metrics for a given pod and its containers
  oc adm top pod POD_NAME --containers

  # Show metrics for the pods defined by label name=myLabel
  oc adm top pod -l name=myLabel
Copy to Clipboard Toggle word wrap

2.7.1.60. ajouter au panier OC adm uncordon

Nœud de marque comme calendrier

Exemple d’utilisation

  # Mark node "foo" as schedulable
  oc adm uncordon foo
Copy to Clipboard Toggle word wrap

2.7.1.61. amélioration d’OC adm

Améliorez un cluster ou ajustez le canal de mise à niveau

Exemple d’utilisation

  # View the update status and available cluster updates
  oc adm upgrade

  # Update to the latest version
  oc adm upgrade --to-latest=true
Copy to Clipboard Toggle word wrap

2.7.1.62. adm d’OC check-image-signature

Vérifier l’identité de l’image contenue dans la signature de l’image

Exemple d’utilisation

  # Verify the image signature and identity using the local GPG keychain
  oc adm verify-image-signature sha256:c841e9b64e4579bd56c794bdd7c36e1c257110fd2404bebbb8b613e4935228c4 \
  --expected-identity=registry.local:5000/foo/bar:v1

  # Verify the image signature and identity using the local GPG keychain and save the status
  oc adm verify-image-signature sha256:c841e9b64e4579bd56c794bdd7c36e1c257110fd2404bebbb8b613e4935228c4 \
  --expected-identity=registry.local:5000/foo/bar:v1 --save

  # Verify the image signature and identity via exposed registry route
  oc adm verify-image-signature sha256:c841e9b64e4579bd56c794bdd7c36e1c257110fd2404bebbb8b613e4935228c4 \
  --expected-identity=registry.local:5000/foo/bar:v1 \
  --registry-url=docker-registry.foo.com

  # Remove all signature verifications from the image
  oc adm verify-image-signature sha256:c841e9b64e4579bd56c794bdd7c36e1c257110fd2404bebbb8b613e4935228c4 --remove-all
Copy to Clipboard Toggle word wrap

2.7.1.63. adm OC wait-for-node-reboot

Attendez que les nœuds redémarrent après avoir exécuté oc adm reboot-machine-config-pool

Exemple d’utilisation

  # Wait for all nodes to complete a requested reboot from 'oc adm reboot-machine-config-pool mcp/worker mcp/master'
  oc adm wait-for-node-reboot nodes --all

  # Wait for masters to complete a requested reboot from 'oc adm reboot-machine-config-pool mcp/master'
  oc adm wait-for-node-reboot nodes -l node-role.kubernetes.io/master

  # Wait for masters to complete a specific reboot
  oc adm wait-for-node-reboot nodes -l node-role.kubernetes.io/master --reboot-number=4
Copy to Clipboard Toggle word wrap

2.7.1.64. ajouter au panier OC adm wait-for-stable-cluster

Attendez que les opérateurs de plate-forme deviennent stables

Exemple d’utilisation

  # Wait for all cluster operators to become stable
  oc adm wait-for-stable-cluster

  # Consider operators to be stable if they report as such for 5 minutes straight
  oc adm wait-for-stable-cluster --minimum-stable-period 5m
Copy to Clipboard Toggle word wrap

Chapitre 3. Importante mise à jour sur l’odo

Le Red Hat ne fournit pas d’informations sur l’odo sur le site de documentation OpenShift Dedicated. Consultez la documentation conservée par Red Hat et la communauté en amont pour obtenir des informations sur l’odo.

Important

En ce qui concerne les matériaux entretenus par la communauté en amont, Red Hat fournit un soutien dans le cadre du soutien communautaire coopératif.

Le Knative (kn) CLI permet une interaction simple avec les composants Knative sur OpenShift Dedicated.

4.1. Caractéristiques clés

Le Knative (kn) CLI est conçu pour rendre les tâches informatiques sans serveur simples et concises. Les principales caractéristiques du Knative CLI comprennent:

  • Déployez des applications sans serveur à partir de la ligne de commande.
  • Gérez les fonctionnalités de Knative Serving, telles que les services, les révisions et le partage du trafic.
  • Créez et gérez les composants Knative Eventing, tels que les sources d’événements et les déclencheurs.
  • Créez des liaisons d’évier pour connecter les applications Kubernetes existantes et les services Knative.
  • Étendez le CLI Knative avec une architecture de plugin flexible, similaire au kubectl CLI.
  • Configurez les paramètres de mise à l’échelle automatique pour les services Knative.
  • L’utilisation scriptée, comme l’attente des résultats d’une opération, ou le déploiement de stratégies de déploiement et de déploiement personnalisés.

4.2. Installation du CLI Knative

Installer le CLI Knative.

Chapitre 5. Oléoducs CLI (tkn)

5.1. Installation de tkn

L’outil CLI permet de gérer les pipelines Red Hat OpenShift à partir d’un terminal. La section suivante décrit comment installer l’outil CLI sur différentes plateformes.

Important

Exécuter Red Hat OpenShift Pipelines sur le matériel ARM est une fonctionnalité d’aperçu technologique seulement. Les fonctionnalités d’aperçu technologique ne sont pas prises en charge avec les accords de niveau de service de production de Red Hat (SLA) et pourraient ne pas être fonctionnellement complètes. Le Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès précoce aux fonctionnalités du produit à venir, permettant aux clients de tester les fonctionnalités et de fournir des commentaires pendant le processus de développement.

En savoir plus sur la portée du support des fonctionnalités de Red Hat Technology Preview, voir la portée du support des fonctionnalités d’aperçu de la technologie.

Note

Les archives et les RPM contiennent les exécutables suivants:

  • le TKN
  • le TKN-pac

Dans le cas des distributions Linux, vous pouvez télécharger le CLI sous forme d’archive tar.gz.

  1. Décompressez l’archive:

    $ tar xvzf <file>
    Copy to Clipboard Toggle word wrap
  2. Ajoutez l’emplacement de vos fichiers tkn et tkn-pac à votre variable d’environnement PATH.
  3. Afin de vérifier votre PATH, exécutez la commande suivante:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

Avec Red Hat Enterprise Linux (RHEL) version 8, vous pouvez installer le Red Hat OpenShift Pipelines CLI en tant que RPM.

Conditions préalables

  • Il y a un abonnement dédié à OpenShift sur votre compte Red Hat.
  • Il y a des privilèges racine ou sudo sur votre système local.

Procédure

  1. Inscrivez-vous avec Red Hat Subscription Manager:

    # subscription-manager register
    Copy to Clipboard Toggle word wrap
  2. Retirez les dernières données d’abonnement:

    # subscription-manager refresh
    Copy to Clipboard Toggle word wrap
  3. Liste des abonnements disponibles:

    # subscription-manager list --available --matches '*pipelines*'
    Copy to Clipboard Toggle word wrap
  4. Dans la sortie de la commande précédente, trouvez l’identifiant de pool pour votre abonnement OpenShift Dédicated et attachez l’abonnement au système enregistré:

    # subscription-manager attach --pool=<pool_id>
    Copy to Clipboard Toggle word wrap
  5. Activer les référentiels requis par Red Hat OpenShift Pipelines:

    • Linux (x86_64, amd64)

      # subscription-manager repos --enable="pipelines-1.17-for-rhel-8-x86_64-rpms"
      Copy to Clipboard Toggle word wrap
    • Linux sur IBM Z® et IBM® LinuxONE (s390x)

      # subscription-manager repos --enable="pipelines-1.17-for-rhel-8-s390x-rpms"
      Copy to Clipboard Toggle word wrap
    • Linux sur IBM Power® (ppc64le)

      # subscription-manager repos --enable="pipelines-1.17-for-rhel-8-ppc64le-rpms"
      Copy to Clipboard Toggle word wrap
    • Linux sur ARM (aarch64, bras64)

      # subscription-manager repos --enable="pipelines-1.17-for-rhel-8-aarch64-rpms"
      Copy to Clipboard Toggle word wrap
  6. Installez le package openshift-pipelines-client:

    # yum install openshift-pipelines-client
    Copy to Clipboard Toggle word wrap

Après avoir installé le CLI, il est disponible à l’aide de la commande tkn:

$ tkn version
Copy to Clipboard Toggle word wrap

Dans Windows, vous pouvez télécharger le CLI sous forme d’archive zip.

Procédure

  1. Cliquez sur l’outil CLI.
  2. Extrayez l’archive avec un programme ZIP.
  3. Ajoutez l’emplacement de vos fichiers tkn et tkn-pac à votre variable d’environnement PATH.
  4. Afin de vérifier votre PATH, exécutez la commande suivante:

    C:\> path
    Copy to Clipboard Toggle word wrap

Dans macOS, vous pouvez télécharger le CLI sous forme d’archive tar.gz.

Procédure

  1. Cliquez sur l’outil CLI pertinent.

  2. Déballez et extrayez l’archive.
  3. Ajoutez l’emplacement de vos fichiers tkn et tkn-pac à votre variable d’environnement PATH.
  4. Afin de vérifier votre PATH, exécutez la commande suivante:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap

5.2. Configuration des pipelines OpenShift tkn CLI

Configurez le Red Hat OpenShift Pipelines tkn CLI pour activer l’achèvement de l’onglet.

5.2.1. Activer la fin de l’onglet

Après avoir installé le CLI tkn, vous pouvez activer l’achèvement de l’onglet pour compléter automatiquement les commandes tkn ou suggérer des options lorsque vous appuyez sur Tab.

Conditions préalables

  • L’outil tkn CLI doit être installé.
  • Il faut installer bash-completion sur votre système local.

Procédure

La procédure suivante permet de compléter l’onglet pour Bash.

  1. Enregistrez le code d’achèvement Bash dans un fichier:

    $ tkn completion bash > tkn_bash_completion
    Copy to Clipboard Toggle word wrap
  2. Copiez le fichier dans /etc/bash_completion.d/:

    $ sudo cp tkn_bash_completion /etc/bash_completion.d/
    Copy to Clipboard Toggle word wrap

    Alternativement, vous pouvez enregistrer le fichier dans un répertoire local et le sourcer à partir de votre fichier .bashrc à la place.

L’achèvement de l’onglet est activé lorsque vous ouvrez un nouveau terminal.

5.3. Ligne de référence OpenShift Pipelines tkn

Cette section répertorie les commandes de base tkn CLI.

5.3.1. La syntaxe de base

[commande ou options] [arguments…​​]

5.3.2. Les options globales

--aide, -h

5.3.3. Commandes d’utilitaire

5.3.3.1. le TKN

Commande parent pour tkn CLI.

Exemple : Afficher toutes les options

$ tkn
Copy to Clipboard Toggle word wrap

5.3.3.2. achèvement [coquille]

Imprimer le code d’achèvement du shell qui doit être évalué pour fournir un achèvement interactif. Les coques prises en charge sont bash et zsh.

Exemple: Code d’achèvement pour bash shell

$ tkn completion bash
Copy to Clipboard Toggle word wrap

5.3.3.3. la version

Imprimer les informations de la version tkn CLI.

Exemple : Vérifiez la version tkn

$ tkn version
Copy to Clipboard Toggle word wrap

5.3.4. Commandes de gestion des pipelines

5.3.4.1. gazoduc

Gérer les pipelines.

Exemple : Aide d’affichage

$ tkn pipeline --help
Copy to Clipboard Toggle word wrap

5.3.4.2. éliminer le pipeline

Effacez un pipeline.

Exemple : Supprimer le pipeline mypipeline d’un espace de noms

$ tkn pipeline delete mypipeline -n myspace
Copy to Clipboard Toggle word wrap

5.3.4.3. description du pipeline

Décrivez un pipeline.

Exemple : Décrivez le pipeline mypipeline

$ tkn pipeline describe mypipeline
Copy to Clipboard Toggle word wrap

5.3.4.4. liste des pipelines

Afficher une liste de pipelines.

Exemple : Afficher une liste de pipelines

$ tkn pipeline list
Copy to Clipboard Toggle word wrap

5.3.4.5. journaux des pipelines

Afficher les journaux d’un pipeline spécifique.

Exemple: diffuser les journaux en direct pour le pipeline mypipeline

$ tkn pipeline logs -f mypipeline
Copy to Clipboard Toggle word wrap

5.3.4.6. démarrage du pipeline

Lancez un pipeline.

Exemple : Démarrer le pipeline mypipeline

$ tkn pipeline start mypipeline
Copy to Clipboard Toggle word wrap

5.3.5. Commandes d’exécution de pipeline

5.3.5.1. cours d’oléoduc

Gérer les conduites de pipelines.

Exemple : Aide d’affichage

$ tkn pipelinerun -h
Copy to Clipboard Toggle word wrap

5.3.5.2. annulation de pipelinerun

Annulez une conduite d’oléoduc.

Exemple: Annuler le pipeline mypipelinerun exécuté à partir d’un espace de noms

$ tkn pipelinerun cancel mypipelinerun -n myspace
Copy to Clipboard Toggle word wrap

5.3.5.3. les pipelinerun suppriment

Effacez une conduite de pipeline.

Exemple : Supprimer le pipeline à partir d’un espace de noms

$ tkn pipelinerun delete mypipelinerun1 mypipelinerun2 -n myspace
Copy to Clipboard Toggle word wrap

Exemple: Supprimer tous les pipelines d’un espace de noms, à l’exception des cinq plus récentes exécutions de pipeline

$ tkn pipelinerun delete -n myspace --keep 5 
1
Copy to Clipboard Toggle word wrap

1
5 par le nombre d’exécutions de pipelines les plus récentes que vous souhaitez conserver.

Exemple : Supprimer tous les pipelines

$ tkn pipelinerun delete --all
Copy to Clipboard Toggle word wrap

Note

À partir de Red Hat OpenShift Pipelines 1.6, la commande tkn pipelinerun supprimer --all ne supprime aucune ressource dans l’état en cours d’exécution.

5.3.5.4. description de pipelinerun

Décrivez une conduite d’oléoduc.

Exemple : Décrivez le pipeline mypipelinerun exécuté dans un espace de noms

$ tkn pipelinerun describe mypipelinerun -n myspace
Copy to Clipboard Toggle word wrap

5.3.5.5. liste de pipelinerun

Liste des cours d’eau.

Exemple : Afficher une liste d’exécutions de pipelines dans un espace de noms

$ tkn pipelinerun list -n myspace
Copy to Clipboard Toggle word wrap

5.3.5.6. journaux de pipelinerun

Afficher les journaux d’une course de pipeline.

Exemple : Afficher les journaux du pipeline mypipelinerun exécuté avec toutes les tâches et étapes dans un espace de noms

$ tkn pipelinerun logs mypipelinerun -a -n myspace
Copy to Clipboard Toggle word wrap

5.3.6. Commandes de gestion des tâches

5.3.6.1. la tâche

Gérer les tâches.

Exemple : Aide d’affichage

$ tkn task -h
Copy to Clipboard Toggle word wrap

5.3.6.2. effacer la tâche

Effacer une tâche.

Exemple: Supprimer les tâches mytask1 et mytask2 à partir d’un espace de noms

$ tkn task delete mytask1 mytask2 -n myspace
Copy to Clipboard Toggle word wrap

5.3.6.3. décrire la tâche

Décrivez une tâche.

Exemple : Décrivez la tâche mytask dans un espace de noms

$ tkn task describe mytask -n myspace
Copy to Clipboard Toggle word wrap

5.3.6.4. liste des tâches

Liste des tâches.

Exemple : Répertez toutes les tâches dans un espace de noms

$ tkn task list -n myspace
Copy to Clipboard Toggle word wrap

5.3.6.5. journaux des tâches

Afficher les journaux des tâches.

Exemple: Afficher les journaux pour l’exécution de tâches mytaskrun de la tâche mytask

$ tkn task logs mytask mytaskrun -n myspace
Copy to Clipboard Toggle word wrap

5.3.6.6. démarrage de la tâche

Commencez une tâche.

Exemple : Démarrez la tâche mytask dans un espace de noms

$ tkn task start mytask -s <ServiceAccountName> -n myspace
Copy to Clipboard Toggle word wrap

5.3.7. Commandes d’exécution des tâches

5.3.7.1. exécution des tâches

Gérer l’exécution des tâches.

Exemple : Aide d’affichage

$ tkn taskrun -h
Copy to Clipboard Toggle word wrap

5.3.7.2. annulation de Taskrun

Annuler une tâche.

Exemple : Annuler la tâche mytaskrun exécutée à partir d’un espace de noms

$ tkn taskrun cancel mytaskrun -n myspace
Copy to Clipboard Toggle word wrap

5.3.7.3. Effacer les tâches

Effacer un TaskRun.

Exemple: Supprimer la tâche mytaskrun1 et mytaskrun2 s’exécute à partir d’un espace de noms

$ tkn taskrun delete mytaskrun1 mytaskrun2 -n myspace
Copy to Clipboard Toggle word wrap

Exemple: Supprimer tout sauf les cinq tâches les plus récemment exécutées s’exécute à partir d’un espace de noms

$ tkn taskrun delete -n myspace --keep 5 
1
Copy to Clipboard Toggle word wrap

1
5 par le nombre d’exécutions de tâches les plus récentes que vous souhaitez conserver.
5.3.7.4. description de Taskrun

Décrivez une tâche exécutée.

Exemple : Décrivez la tâche mytaskrun exécutée dans un espace de noms

$ tkn taskrun describe mytaskrun -n myspace
Copy to Clipboard Toggle word wrap

5.3.7.5. liste des tâches

Liste des tâches exécutées.

Exemple : Répertez toutes les tâches exécutées dans un espace de noms

$ tkn taskrun list -n myspace
Copy to Clipboard Toggle word wrap

5.3.7.6. journaux d’exécution des tâches

Afficher les journaux d’exécution des tâches.

Exemple : Afficher les journaux en direct pour la tâche mytaskrun exécutée dans un espace de noms

$ tkn taskrun logs -f mytaskrun -n myspace
Copy to Clipboard Toggle word wrap

5.3.8. Commandes de gestion de condition

5.3.8.1. État de l’état

Gérer les conditions.

Exemple : Aide d’affichage

$ tkn condition --help
Copy to Clipboard Toggle word wrap

5.3.8.2. condition supprimer

Effacer une condition.

Exemple: Supprimer la condition mycondition1 d’un espace de noms

$ tkn condition delete mycondition1 -n myspace
Copy to Clipboard Toggle word wrap

5.3.8.3. condition décrire

Décrivez une condition.

Exemple : Décrivez la condition mycondition1 dans un espace de noms

$ tkn condition describe mycondition1 -n myspace
Copy to Clipboard Toggle word wrap

5.3.8.4. liste de condition

Liste des conditions.

Exemple : Liste des conditions dans un espace de noms

$ tkn condition list -n myspace
Copy to Clipboard Toggle word wrap

5.3.9. Commandes de gestion des ressources de pipeline

5.3.9.1. a) Ressources

Gérer les ressources des pipelines.

Exemple : Aide d’affichage

$ tkn resource -h
Copy to Clipboard Toggle word wrap

5.3.9.2. créer des ressources

Créer une ressource de pipeline.

Exemple : Créer une ressource de pipeline dans un espace de noms

$ tkn resource create -n myspace
Copy to Clipboard Toggle word wrap

Il s’agit d’une commande interactive qui demande une entrée sur le nom de la ressource, le type de la ressource et les valeurs basées sur le type de la ressource.

5.3.9.3. effacer la ressource

Supprimez une ressource de pipeline.

Exemple: Supprimer la ressource de pipeline myresource à partir d’un espace de noms

$ tkn resource delete myresource -n myspace
Copy to Clipboard Toggle word wrap

5.3.9.4. décrire la ressource

Décrivez une ressource de pipeline.

Exemple : Décrivez la ressource du pipeline myresource

$ tkn resource describe myresource -n myspace
Copy to Clipboard Toggle word wrap

5.3.9.5. liste des ressources

Liste des ressources du pipeline.

Exemple : Répertez toutes les ressources de pipeline dans un espace de noms

$ tkn resource list -n myspace
Copy to Clipboard Toggle word wrap

5.3.10. Commandes de gestion de ClusterTask

Important

Dans Red Hat OpenShift Pipelines 1.10, la fonctionnalité ClusterTask de l’utilitaire de ligne de commande tkn est obsolète et devrait être supprimée dans une version ultérieure.

5.3.10.1. clustertask

Gérer ClusterTasks.

Exemple : Aide d’affichage

$ tkn clustertask --help
Copy to Clipboard Toggle word wrap

5.3.10.2. clustertask supprimer

Supprimez une ressource ClusterTask dans un cluster.

Exemple: Supprimer mytask1 et mytask2 ClusterTasks

$ tkn clustertask delete mytask1 mytask2
Copy to Clipboard Toggle word wrap

5.3.10.3. clustertask décrire

Décrivez un ClusterTask.

Exemple : Décrivez le ClusterTask de mytask

$ tkn clustertask describe mytask1
Copy to Clipboard Toggle word wrap

5.3.10.4. liste de clustertask

Liste ClusterTasks.

Exemple: Liste ClusterTasks

$ tkn clustertask list
Copy to Clipboard Toggle word wrap

5.3.10.5. démarrage de clustertask

Démarrez ClusterTasks.

Exemple: Démarrer le ClusterTask de mytask

$ tkn clustertask start mytask
Copy to Clipboard Toggle word wrap

5.3.11. Commandes de gestion de déclenchement

5.3.11.1. EventListener

Gérer EventListeners.

Exemple : Aide d’affichage

$ tkn eventlistener -h
Copy to Clipboard Toggle word wrap

5.3.11.2. EventListener supprimer

Effacer un EventListener.

Exemple : Supprimer mylistener1 et mylistener2 EventListeners dans un espace de noms

$ tkn eventlistener delete mylistener1 mylistener2 -n myspace
Copy to Clipboard Toggle word wrap

5.3.11.3. EventListener décrire

Décrivez un EventListener.

Exemple : Décrivez le mylistener EventListener dans un espace de noms

$ tkn eventlistener describe mylistener -n myspace
Copy to Clipboard Toggle word wrap

5.3.11.4. liste EventListener

Liste EventListeners.

Exemple : Répertez tous les EventListeners dans un espace de noms

$ tkn eventlistener list -n myspace
Copy to Clipboard Toggle word wrap

5.3.11.5. journaux EventListener

Afficher les journaux d’un EventListener.

Exemple : Afficher les journaux du mylistener EventListener dans un espace de noms

$ tkn eventlistener logs mylistener -n myspace
Copy to Clipboard Toggle word wrap

5.3.11.6. binage de déclenchement

Gérez TriggerBindings.

Exemple: Affichage TriggerBindings aide

$ tkn triggerbinding -h
Copy to Clipboard Toggle word wrap

5.3.11.7. triggerbinding supprimer

Effacer un TriggerBinding.

Exemple: Supprimer mybinding1 et mybinding2 TriggerBindings dans un espace de noms

$ tkn triggerbinding delete mybinding1 mybinding2 -n myspace
Copy to Clipboard Toggle word wrap

5.3.11.8. triggerbinding décrire

Décrivez un TriggerBinding.

Exemple: Décrivez le Mybinding TriggerBinding dans un espace de noms

$ tkn triggerbinding describe mybinding -n myspace
Copy to Clipboard Toggle word wrap

5.3.11.9. liste debinaison de déclenchement

Liste TriggerBindings.

Exemple: Liste tous les TriggerBindings dans un espace de noms

$ tkn triggerbinding list -n myspace
Copy to Clipboard Toggle word wrap

5.3.11.10. triggertemplate

Gérez TriggerTemplates.

Exemple: Affichage TriggerTemplate aide

$ tkn triggertemplate -h
Copy to Clipboard Toggle word wrap

5.3.11.11. triggertemplate supprimer

Effacer un TriggerTemplate.

Exemple: Supprimer mytemplate1 et mytemplate2 TriggerTemplates dans un espace de noms

$ tkn triggertemplate delete mytemplate1 mytemplate2 -n `myspace`
Copy to Clipboard Toggle word wrap

5.3.11.12. triggertemplate décrit

Décrivez un TriggerTemplate.

Exemple: Décrivez le mytemplate TriggerTemplate dans un espace de noms

$ tkn triggertemplate describe mytemplate -n `myspace`
Copy to Clipboard Toggle word wrap

5.3.11.13. liste de triggertemplate

Liste TriggerTemplates.

Exemple: Liste tous les TriggerTemplates dans un espace de noms

$ tkn triggertemplate list -n myspace
Copy to Clipboard Toggle word wrap

5.3.11.14. clustertriggerbinding

Gérer ClusterTriggerBindings.

Exemple: Affichage ClusterTriggerBindings aide

$ tkn clustertriggerbinding -h
Copy to Clipboard Toggle word wrap

5.3.11.15. clustertriggerbinding supprimer

Effacer un ClusterTriggerBinding.

Exemple: Supprimer myclusterbinding1 et myclusterbinding2 ClusterTriggerBindings

$ tkn clustertriggerbinding delete myclusterbinding1 myclusterbinding2
Copy to Clipboard Toggle word wrap

5.3.11.16. clustertriggerbinding décrit

Décrivez un ClusterTriggerBinding.

Exemple: Décrivez le myclusterbinding ClusterTriggerBinding

$ tkn clustertriggerbinding describe myclusterbinding
Copy to Clipboard Toggle word wrap

5.3.11.17. liste de clustertriggerbinding

Liste ClusterTriggerBindings.

Exemple: Liste tous les ClusterTriggerBindings

$ tkn clustertriggerbinding list
Copy to Clipboard Toggle word wrap

5.3.12. Commandes d’interaction Hub

Interagissez avec Tekton Hub pour des ressources telles que des tâches et des pipelines.

5.3.12.1. le hub

Interagissez avec le hub.

Exemple : Aide d’affichage

$ tkn hub -h
Copy to Clipboard Toggle word wrap

Exemple : Interagir avec un serveur API hub

$ tkn hub --api-server https://api.hub.tekton.dev
Copy to Clipboard Toggle word wrap

Note

Dans chaque exemple, pour obtenir les sous-commandes et drapeaux correspondants, exécutez tkn hub &lt;command&gt; --help.

5.3.12.2. déclassement du moyeu

Déclasser une ressource installée.

Exemple: Déclasser la tâche mytask dans l’espace de noms mynamespace à sa version antérieure

$ tkn hub downgrade task mytask --to version -n mynamespace
Copy to Clipboard Toggle word wrap

5.3.12.3. le hub se fait

Bénéficiez d’un manifeste de ressources par son nom, son genre, son catalogue et sa version.

Exemple: Obtenez le manifeste pour une version spécifique du pipeline ou de la tâche myresource à partir du catalogue tekton

$ tkn hub get [pipeline | task] myresource --from tekton --version version
Copy to Clipboard Toggle word wrap

5.3.12.4. infos sur le hub

Afficher des informations sur une ressource par son nom, son genre, son catalogue et sa version.

Exemple : Afficher des informations sur une version spécifique de la tâche mytask du catalogue tekton

$ tkn hub info task mytask --from tekton --version version
Copy to Clipboard Toggle word wrap

5.3.12.5. installation du hub

Installez une ressource à partir d’un catalogue par son genre, son nom et sa version.

Exemple: Installer une version spécifique de la tâche mytask à partir du catalogue tekton dans l’espace de noms mynamespace

$ tkn hub install task mytask --from tekton --version version -n mynamespace
Copy to Clipboard Toggle word wrap

5.3.12.6. Hub réinstallé

Installez une ressource par son genre et son nom.

Exemple : Réinstaller une version spécifique de la tâche mytask à partir du catalogue tekton dans l’espace de noms mynamespace

$ tkn hub reinstall task mytask --from tekton --version version -n mynamespace
Copy to Clipboard Toggle word wrap

5.3.12.8. amélioration du hub

Améliorez une ressource installée.

Exemple : Mettre à niveau la tâche mytask installée dans l’espace de noms mynamespace vers une nouvelle version

$ tkn hub upgrade task mytask --to version -n mynamespace
Copy to Clipboard Toggle word wrap

Chapitre 6. CLI OPM

6.1. Installation de l’opm CLI

6.1.1. À propos de l’opm CLI

L’outil Opm CLI est fourni par le Cadre d’opérateur pour une utilisation avec le format de paquet Opm. Cet outil vous permet de créer et de maintenir des catalogues d’opérateurs à partir d’une liste de paquets d’opérateurs similaires aux référentiels de logiciels. Le résultat est une image de conteneur qui peut être stockée dans un registre de conteneurs puis installée sur un cluster.

Le catalogue contient une base de données de pointeurs vers l’opérateur manifeste du contenu qui peut être interrogé via une API incluse qui est servie lorsque l’image du conteneur est exécutée. Dans OpenShift Dedicated, Operator Lifecycle Manager (OLM) peut référencer l’image dans une source de catalogue, définie par un objet CatalogSource, qui sonne l’image à intervalles réguliers pour permettre des mises à jour fréquentes aux opérateurs installés sur le cluster.

6.1.2. Installation de l’opm CLI

L’outil Opm CLI peut être installé sur votre poste de travail Linux, macOS ou Windows.

Conditions préalables

  • Dans le cas de Linux, vous devez fournir les paquets suivants. Le RHEL 8 répond à ces exigences:

    • la version 1.9.3+ de Podman (version 2.0+ recommandée)
    • glibc version 2.28+

Procédure

  1. Accédez au site miroir OpenShift et téléchargez la dernière version du tarball qui correspond à votre système d’exploitation.
  2. Déballez l’archive.

    • Linux ou macOS:

      $ tar xvf <file>
      Copy to Clipboard Toggle word wrap
    • Dans Windows, décompressez l’archive avec un programme ZIP.
  3. Déposez le fichier n’importe où dans votre PATH.

    • Linux ou macOS:

      1. Consultez votre PATH:

        $ echo $PATH
        Copy to Clipboard Toggle word wrap
      2. Déplacez le fichier. À titre d’exemple:

        $ sudo mv ./opm /usr/local/bin/
        Copy to Clipboard Toggle word wrap
    • Avec Windows:

      1. Consultez votre PATH:

        C:\> path
        Copy to Clipboard Toggle word wrap
      2. Déplacez le fichier:

        C:\> move opm.exe <directory>
        Copy to Clipboard Toggle word wrap

La vérification

  • Après avoir installé l’opm CLI, vérifiez qu’il est disponible:

    $ opm version
    Copy to Clipboard Toggle word wrap

6.2. CLI de référence OPM

L’interface de ligne de commande opm (CLI) est un outil pour créer et maintenir des catalogues d’opérateurs.

la syntaxe OPM CLI

$ opm <command> [<subcommand>] [<argument>] [<flags>]
Copy to Clipboard Toggle word wrap

Avertissement

L’opm CLI n’est pas compatible vers l’avant. La version de l’opm CLI utilisée pour générer du contenu du catalogue doit être antérieure ou égale à la version utilisée pour servir le contenu sur un cluster.

Expand
Tableau 6.1. Drapeaux mondiaux
DrapeauDescription

-Skip-tls-vérifier

Évitez la vérification du certificat TLS pour les enregistrements d’images de conteneur tout en tirant des paquets ou des index.

--utilisation-http

Lorsque vous tirez des paquets, utilisez HTTP plaine pour les registres d’images de conteneur.

Important

Le format de catalogue SQLite, y compris les commandes CLI associées, est une fonctionnalité obsolète. La fonctionnalité obsolète est toujours incluse dans OpenShift Dedicated et continue d’être prise en charge; cependant, elle sera supprimée dans une version ultérieure de ce produit et n’est pas recommandée pour de nouveaux déploiements.

6.2.1. générer

Générez divers artefacts pour les index de configuration déclaratifs.

La syntaxe de commande

$ opm generate <subcommand> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.2. générer des sous-commandes
Le sous-commandeDescription

Dockerfile

Générer un Dockerfile pour un index de configuration déclaratif.

Expand
Tableau 6.3. générer des drapeaux
DrapeauxDescription

-h, --aide

Aide pour générer.

6.2.1.1. Dockerfile

Générer un Dockerfile pour un index de configuration déclaratif.

Important

Cette commande crée un Dockerfile dans le même répertoire que le &lt;dcRootDir&gt; (nommé &lt;dcDirName&gt;.Dockerfile) qui est utilisé pour construire l’index. Lorsqu’un Dockerfile avec le même nom existe déjà, cette commande échoue.

Lorsque vous spécifiez des étiquettes supplémentaires, si des clés dupliquées existent, seule la dernière valeur de chaque clé dupliquée est ajoutée au Dockerfile généré.

La syntaxe de commande

$ opm generate dockerfile <dcRootDir> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.4. générer des drapeaux dockerfile
DrapeauDescription

-I, --binary-image (string)

Image dans laquelle construire un catalogue. La valeur par défaut est quay.io/operator-framework/opm:latest.

-l, --extra-étiquettes (chaînes)

Étiquettes supplémentaires à inclure dans le Dockerfile généré. Les étiquettes ont la forme key=valeur.

-h, --aide

Aide pour Dockerfile.

Note

Afin de construire avec l’image officielle Red Hat, utilisez la valeur register.redhat.io/openshift4/ose-operator-registry-rhel9:v4 avec le drapeau -i.

6.2.2. index

Générez l’index de l’opérateur pour les images de conteneur de format de base de données SQLite à partir de paquets d’opérateurs préexistants.

Important

À partir d’OpenShift Dedicated 4.11, le catalogue de l’opérateur par défaut Red Hat est publié dans le format de catalogue basé sur des fichiers. Les catalogues d’opérateurs Red Hat fournis par défaut pour OpenShift Dedicated 4.6 à 4.10 publiés dans le format de base de données SQLite obsolète.

Les sous-commandes opm, les drapeaux et les fonctionnalités liés au format de base de données SQLite sont également obsolètes et seront supprimés dans une version ultérieure. Les fonctionnalités sont toujours prises en charge et doivent être utilisées pour les catalogues utilisant le format de base de données SQLite obsolète.

La plupart des sous-commandes et des drapeaux opm pour travailler avec le format de base de données SQLite, tels que le prune de l’index opm, ne fonctionnent pas avec le format de catalogue basé sur des fichiers.

La syntaxe de commande

$ opm index <subcommand> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.5. index sous-commandes
Le sous-commandeDescription

ajouter

Ajoutez des paquets d’opérateurs à un index.

le prune

Eliminer un index de tous les paquets sauf spécifiés.

arboré de prunes

Eliminez un index de paquets échoués, qui sont des paquets qui ne sont pas associés à une image particulière.

a) RM

Effacer un opérateur entier d’un index.

6.2.2.1. ajouter

Ajoutez des paquets d’opérateurs à un index.

La syntaxe de commande

$ opm index add [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.6. index ajouter des drapeaux
DrapeauDescription

-I, --binary-image

Image de conteneur pour la commande on-image opm

-U, --Build-tool (chaîne)

Outil pour créer des images de conteneur: podman (valeur par défaut) ou docker. Remplace une partie du drapeau --container-outil.

-B, --bundles (chaînes)

Liste des paquets à ajouter par des virgules.

-C, --conteneur-outil (corde)

Outil pour interagir avec les images de conteneurs, comme pour enregistrer et construire: docker ou podman.

-F, --from-index (chaîne)

Index précédent à ajouter.

--générer

En cas d’activation, il ne crée que le Dockerfile et l’enregistre sur le disque local.

--mode (chaîne)

Le mode de mise à jour graphique qui définit comment les graphiques de canal sont mis à jour: remplace (valeur par défaut), semver ou semver-skippatch.

-d, --out-dockerfile (string)

Facultatif: Si vous générez le Dockerfile, spécifiez un nom de fichier.

--permissif

Autoriser les erreurs de chargement du registre.

-p, --pull-outil (string)

Outil pour tirer des images de conteneur: aucune (valeur par défaut), docker, ou podman. Remplace une partie du drapeau --container-outil.

-t, --tag (string)

Balise personnalisée pour l’image de conteneur en cours de construction.

6.2.2.2. le prune

Eliminer un index de tous les paquets sauf spécifiés.

La syntaxe de commande

$ opm index prune [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.7. index des drapeaux pruneaux
DrapeauDescription

-I, --binary-image

Image de conteneur pour la commande on-image opm

-C, --conteneur-outil (corde)

Outil pour interagir avec les images de conteneurs, comme pour enregistrer et construire: docker ou podman.

-F, --from-index (chaîne)

Index sur prune.

--générer

En cas d’activation, il ne crée que le Dockerfile et l’enregistre sur le disque local.

-d, --out-dockerfile (string)

Facultatif: Si vous générez le Dockerfile, spécifiez un nom de fichier.

-p, --emballages (chaînes)

Liste des paquets séparés par les virgules à conserver.

--permissif

Autoriser les erreurs de chargement du registre.

-t, --tag (string)

Balise personnalisée pour l’image de conteneur en cours de construction.

6.2.2.3. arboré de prunes

Eliminez un index de paquets échoués, qui sont des paquets qui ne sont pas associés à une image particulière.

La syntaxe de commande

$ opm index prune-stranded [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.8. index des drapeaux de pruneaux
DrapeauDescription

-I, --binary-image

Image de conteneur pour la commande on-image opm

-C, --conteneur-outil (corde)

Outil pour interagir avec les images de conteneurs, comme pour enregistrer et construire: docker ou podman.

-F, --from-index (chaîne)

Index sur prune.

--générer

En cas d’activation, il ne crée que le Dockerfile et l’enregistre sur le disque local.

-d, --out-dockerfile (string)

Facultatif: Si vous générez le Dockerfile, spécifiez un nom de fichier.

-p, --emballages (chaînes)

Liste des paquets séparés par les virgules à conserver.

--permissif

Autoriser les erreurs de chargement du registre.

-t, --tag (string)

Balise personnalisée pour l’image de conteneur en cours de construction.

6.2.2.4. a) RM

Effacer un opérateur entier d’un index.

La syntaxe de commande

$ opm index rm [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.9. index rm drapeaux
DrapeauDescription

-I, --binary-image

Image de conteneur pour la commande on-image opm

-U, --Build-tool (chaîne)

Outil pour créer des images de conteneur: podman (valeur par défaut) ou docker. Remplace une partie du drapeau --container-outil.

-C, --conteneur-outil (corde)

Outil pour interagir avec les images de conteneurs, comme pour enregistrer et construire: docker ou podman.

-F, --from-index (chaîne)

Index précédent à supprimer.

--générer

En cas d’activation, il ne crée que le Dockerfile et l’enregistre sur le disque local.

-O, --operators (chaînes)

Liste séparée par les virgules des opérateurs à supprimer.

-d, --out-dockerfile (string)

Facultatif: Si vous générez le Dockerfile, spécifiez un nom de fichier.

-p, --emballages (chaînes)

Liste des paquets séparés par les virgules à conserver.

--permissif

Autoriser les erreurs de chargement du registre.

-p, --pull-outil (string)

Outil pour tirer des images de conteneur: aucune (valeur par défaut), docker, ou podman. Remplace une partie du drapeau --container-outil.

-t, --tag (string)

Balise personnalisée pour l’image de conteneur en cours de construction.

6.2.3. init

Générez un blob de configuration déclaratif olm.package.

La syntaxe de commande

$ opm init <package_name> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.10. drapeaux init
DrapeauDescription

-C, --par défaut-canal (chaîne)

Le canal auquel les abonnements seront par défaut s’il n’est pas spécifié.

-d, --description (chaîne)

Chemin vers la documentation README.md de l’opérateur ou autre documentation.

-I, --icon (string)

Chemin vers l’icône du paquet.

-O, --sortie (chaîne)

Format de sortie: json (la valeur par défaut) ou yaml.

6.2.4. à migrer

Faites migrer une image ou un fichier d’index de base de données SQLite vers un catalogue basé sur des fichiers.

Important

Le format de catalogue SQLite, y compris les commandes CLI associées, est une fonctionnalité obsolète. La fonctionnalité obsolète est toujours incluse dans OpenShift Dedicated et continue d’être prise en charge; cependant, elle sera supprimée dans une version ultérieure de ce produit et n’est pas recommandée pour de nouveaux déploiements.

La syntaxe de commande

$ opm migrate <index_ref> <output_dir> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.11. la migration des drapeaux
DrapeauDescription

-O, --sortie (chaîne)

Format de sortie: json (la valeur par défaut) ou yaml.

6.2.5. le rendu

Générez un blob de configuration déclaratif à partir des images d’index fournies, des images groupées et des fichiers de base de données SQLite.

La syntaxe de commande

$ opm render <index_image | bundle_image | sqlite_file> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.12. afficher les drapeaux
DrapeauDescription

-O, --sortie (chaîne)

Format de sortie: json (la valeur par défaut) ou yaml.

6.2.6. à servir

Il sert des configurations déclaratives via un serveur GRPC.

Note

Le répertoire de configuration déclarative est chargé par la commande Serv au démarrage. Les modifications apportées à la configuration déclarative après le démarrage de cette commande ne sont pas reflétées dans le contenu servi.

La syntaxe de commande

$ opm serve <source_path> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
Tableau 6.13. drapeaux de service
DrapeauDescription

--cache-dir (chaîne)

Lorsque ce drapeau est défini, il synchronise et persiste le répertoire cache du serveur.

--cache-enforce-intégrité

Quitte avec une erreur si le cache n’est pas présent ou est invalidé. La valeur par défaut est vraie lorsque le drapeau --cache-dir est défini et que le drapeau --cache-only est faux. Dans le cas contraire, la valeur par défaut est fausse.

--cache-seulement

Synchronise le cache de service et les sorties sans service.

--debug

Active l’enregistrement du débogage.

h, --aide

Aide pour servir.

-p, --port (chaîne)

Le numéro de port pour le service. La valeur par défaut est 50051.

--pprof-addr (chaîne)

L’adresse du point de terminaison du profilage de démarrage. Le format est Addr:Port.

-t, --termination-log (string)

Le chemin d’accès à un fichier journal de terminaison du conteneur. La valeur par défaut est /dev/termination-log.

6.2.7. de valider

La validation du fichier (s) de configuration déclaratif JSON dans un répertoire donné.

La syntaxe de commande

$ opm validate <directory> [<flags>]
Copy to Clipboard Toggle word wrap

Chapitre 7. Le SDK de l’opérateur

7.1. Installation de l’opérateur SDK CLI

Le SDK de l’opérateur fournit un outil d’interface de ligne de commande (CLI) que les développeurs d’opérateurs peuvent utiliser pour construire, tester et déployer un opérateur. Il est possible d’installer le SDK CLI de l’opérateur sur votre poste de travail afin que vous soyez prêt à commencer à créer vos propres opérateurs.

Important

La version prise en charge par Red Hat de l’outil Operator SDK CLI, y compris les outils d’échafaudage et de test connexes pour les projets d’opérateur, est dépréciée et devrait être supprimée dans une version ultérieure d’OpenShift Dedicated. Le Red Hat fournira des corrections de bogues et une prise en charge de cette fonctionnalité pendant le cycle de vie de la version actuelle, mais cette fonctionnalité ne recevra plus d’améliorations et sera supprimée des futures versions d’OpenShift Dedicated.

La version prise en charge par Red Hat du SDK de l’opérateur n’est pas recommandée pour la création de nouveaux projets d’opérateur. Les auteurs d’opérateurs avec des projets d’opérateur existants peuvent utiliser la version de l’outil Operator SDK CLI publié avec OpenShift Dedicated 4 pour maintenir leurs projets et créer des versions d’opérateur ciblant des versions plus récentes d’OpenShift Dedicated.

Les images de base suivantes pour les projets d’opérateur ne sont pas dépréciées. Les fonctionnalités d’exécution et les API de configuration de ces images de base sont toujours prises en charge pour les corrections de bogues et pour l’adressage des CVE.

  • L’image de base pour les projets d’opérateurs basés sur Ansible
  • L’image de base pour les projets d’opérateur basé sur Helm

Afin d’obtenir de l’information sur la version non prise en charge et gérée par la communauté du SDK de l’opérateur, voir Operator SDK (Operator Framework).

Les auteurs d’opérateurs disposant d’un accès administrateur de cluster à un cluster basé sur Kubernetes, tels que OpenShift Dedicated, peuvent utiliser le SDK CLI de l’opérateur pour développer leurs propres opérateurs basés sur Go, Ansible, Java ou Helm. Kubebuilder est intégré dans le SDK de l’opérateur en tant que solution d’échafaudage pour les opérateurs Go, ce qui signifie que les projets Kubebuilder existants peuvent être utilisés comme avec le SDK de l’opérateur et continuer à fonctionner.

7.1.1. Installation de l’opérateur SDK CLI sur Linux

L’outil OpenShift SDK CLI peut être installé sur Linux.

Conditions préalables

  • Aller v1.19+
  • Docker v17.03+, podman v1.9.3+, ou buildah v1.7+

Procédure

  1. Accédez au site miroir OpenShift.
  2. À partir du dernier répertoire 4, téléchargez la dernière version du tarball pour Linux.
  3. Décompressez l’archive:

    $ tar xvf operator-sdk-v1.38.0-ocp-linux-x86_64.tar.gz
    Copy to Clipboard Toggle word wrap
  4. Faire le fichier exécutable:

    $ chmod +x operator-sdk
    Copy to Clipboard Toggle word wrap
  5. Déplacez le binaire opérateur-sdk extrait vers un répertoire qui se trouve sur votre PATH.

    Astuce

    Afin de vérifier votre PATH:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap
    $ sudo mv ./operator-sdk /usr/local/bin/operator-sdk
    Copy to Clipboard Toggle word wrap

La vérification

  • Après avoir installé l’opérateur SDK CLI, vérifiez qu’il est disponible:

    $ operator-sdk version
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    operator-sdk version: "v1.38.0-ocp", ...
    Copy to Clipboard Toggle word wrap

7.1.2. Installation de l’opérateur SDK CLI sur macOS

L’outil OpenShift SDK CLI peut être installé sur macOS.

Conditions préalables

  • Aller v1.19+
  • Docker v17.03+, podman v1.9.3+, ou buildah v1.7+

Procédure

  1. En ce qui concerne l’architecture amd64, accédez au site miroir OpenShift pour l’architecture amd64.
  2. À partir du dernier répertoire 4, téléchargez la dernière version du tarball pour macOS.
  3. Décompressez l’archive de l’opérateur SDK pour l’architecture amd64 en exécutant la commande suivante:

    $ tar xvf operator-sdk-v1.38.0-ocp-darwin-x86_64.tar.gz
    Copy to Clipboard Toggle word wrap
  4. Faites le fichier exécutable en exécutant la commande suivante:

    $ chmod +x operator-sdk
    Copy to Clipboard Toggle word wrap
  5. Déplacez le binaire opérateur-sdk extrait vers un répertoire qui est sur votre PATH en exécutant la commande suivante:

    Astuce

    Cochez votre PATH en exécutant la commande suivante:

    $ echo $PATH
    Copy to Clipboard Toggle word wrap
    $ sudo mv ./operator-sdk /usr/local/bin/operator-sdk
    Copy to Clipboard Toggle word wrap

La vérification

  • Après avoir installé l’opérateur SDK CLI, vérifiez qu’il est disponible en exécutant la commande suivante:

    $ operator-sdk version
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    operator-sdk version: "v1.38.0-ocp", ...
    Copy to Clipboard Toggle word wrap

7.2. Opérateur SDK CLI référence

L’interface de ligne de commande de l’opérateur SDK (CLI) est un kit de développement conçu pour faciliter l’écriture des opérateurs.

Important

La version prise en charge par Red Hat de l’outil Operator SDK CLI, y compris les outils d’échafaudage et de test connexes pour les projets d’opérateur, est dépréciée et devrait être supprimée dans une version ultérieure d’OpenShift Dedicated. Le Red Hat fournira des corrections de bogues et une prise en charge de cette fonctionnalité pendant le cycle de vie de la version actuelle, mais cette fonctionnalité ne recevra plus d’améliorations et sera supprimée des futures versions d’OpenShift Dedicated.

La version prise en charge par Red Hat du SDK de l’opérateur n’est pas recommandée pour la création de nouveaux projets d’opérateur. Les auteurs d’opérateurs avec des projets d’opérateur existants peuvent utiliser la version de l’outil Operator SDK CLI publié avec OpenShift Dedicated 4 pour maintenir leurs projets et créer des versions d’opérateur ciblant des versions plus récentes d’OpenShift Dedicated.

Les images de base suivantes pour les projets d’opérateur ne sont pas dépréciées. Les fonctionnalités d’exécution et les API de configuration de ces images de base sont toujours prises en charge pour les corrections de bogues et pour l’adressage des CVE.

  • L’image de base pour les projets d’opérateurs basés sur Ansible
  • L’image de base pour les projets d’opérateur basé sur Helm

Afin d’obtenir de l’information sur la version non prise en charge et gérée par la communauté du SDK de l’opérateur, voir Operator SDK (Operator Framework).

L’opérateur SDK CLI syntaxe

$ operator-sdk <command> [<subcommand>] [<argument>] [<flags>]
Copy to Clipboard Toggle word wrap

7.2.1. le paquet

La commande Operator-sdk bundle gère les métadonnées du bundle Operator.

7.2.1.1. de valider

Le bundle valide la sous-commande valide un bundle d’opérateur.

Expand
Tableau 7.1. faisceau valider les drapeaux
DrapeauDescription

-h, --aide

La sortie d’aide pour le paquet valider la sous-commande.

--index-builder (chaîne)

Outil pour tirer et déballer des images groupées. Il n’est utilisé que lors de la validation d’une image de paquet. Les options disponibles sont docker, qui est par défaut, podman, ou aucune.

--liste optionnelle

Liste de tous les validateurs optionnels disponibles. Lorsqu’il est défini, aucun validateur n’est exécuté.

--sélectionner-optionnel (chaîne)

Le sélecteur d’étiquette pour sélectionner les validateurs optionnels à exécuter. Lorsque vous exécutez avec le drapeau --list-optional, liste les validateurs optionnels disponibles.

7.2.2. le nettoyage

La commande de nettoyage de l’opérateur-sdk détruit et supprime les ressources qui ont été créées pour un opérateur qui a été déployé avec la commande run.

Expand
Tableau 7.2. drapeaux de nettoyage
DrapeauDescription

-h, --aide

Aide à la sortie pour la sous-commande du paquet d’exécution.

--kubeconfig (chaîne)

Chemin vers le fichier kubeconfig à utiliser pour les requêtes CLI.

-n, --namespace (chaîne)

Le cas échéant, l’espace de noms dans lequel exécuter la demande CLI.

--timeout &lt;duration&gt;

Il est temps d’attendre que la commande soit terminée avant d’échouer. La valeur par défaut est 2m0s.

7.2.3. achèvement des travaux

La commande d’achèvement de l’opérateur-sdk génère des achèvements de shell pour rendre les commandes CLI émettrices plus rapides et plus faciles.

Expand
Tableau 7.3. achèvement des sous-commandes
Le sous-commandeDescription

bash

Générez des finitions bash.

à propos de Zsh

Générez des finitions zsh.

Expand
Tableau 7.4. drapeaux d’achèvement
DrapeauDescription

-h, --aide

Aide à l’utilisation de sortie.

À titre d’exemple:

$ operator-sdk completion bash
Copy to Clipboard Toggle word wrap

Exemple de sortie

# bash completion for operator-sdk                         -*- shell-script -*-
...
# ex: ts=4 sw=4 et filetype=sh
Copy to Clipboard Toggle word wrap

7.2.4. créer

La commande operator-sdk create est utilisée pour créer, ou échafauder, une API Kubernetes.

7.2.4.1. API

La création de sous-commandes api échafaude une API Kubernetes. La sous-commande doit être exécutée dans un projet initialisé avec la commande init.

Expand
Tableau 7.5. créer des drapeaux api
DrapeauDescription

-h, --aide

Aide à la sortie pour la sous-commande du paquet d’exécution.

7.2.5. générer

La commande operator-sdk génère un générateur spécifique pour générer du code ou des manifestes.

7.2.5.1. le paquet

La sous-commande de groupe génératrice génère un ensemble de manifestes de paquets, de métadonnées et d’un fichier bundle.Dockerfile pour votre projet Opérateur.

Note

En règle générale, vous exécutez la commande génératrice kustomize manifeste d’abord la sous-commande pour générer les bases Kustomize d’entrée qui sont utilisées par la sous-commande de paquets génératrices. Cependant, vous pouvez utiliser la commande make bundle dans un projet initialisé pour automatiser l’exécution de ces commandes en séquence.

Expand
Tableau 7.6. générer des drapeaux de paquets
DrapeauDescription

--canaux (chaîne)

Liste séparée par virgule des canaux auxquels appartient le paquet. La valeur par défaut est alpha.

--CRDS-dir (chaîne)

Le répertoire root pour CustomResoureDefinition se manifeste.

--par défaut-canal (chaîne)

Le canal par défaut pour le paquet.

--déploiement-dir (string)

Le répertoire racine pour les manifestes de l’opérateur, tels que les déploiements et RBAC. Ce répertoire est différent du répertoire passé au drapeau --input-dir.

-h, --aide

Aide pour générer des paquets

--input-dir (chaîne)

Annuaire à partir duquel lire un paquet existant. Ce répertoire est le parent de votre répertoire de manifestes de paquets et est différent du répertoire --deploy-dir.

--kustomize-dir (string)

Répertoire contenant des bases Kustomize et un fichier kustomization.yaml pour les manifestes de paquets. Le chemin par défaut est config/manifestes.

--manifestes

Générez des manifestes de paquets.

--métadonnées

Générez des métadonnées groupées et Dockerfile.

--sortie-dir (chaîne)

Annuaire pour écrire le paquet vers.

--écraser

Écrasez les métadonnées du bundle et Dockerfile s’ils existent. La valeur par défaut est true.

--emballage (chaîne)

Le nom du paquet pour le paquet.

-Q, --quiet

Exécutez en mode silencieux.

----------------

Ecrire le paquet manifeste pour standardiser.

--version (chaîne)

La version sémantique de l’opérateur dans le paquet généré. Défini uniquement lors de la création d’un nouveau paquet ou de la mise à niveau de l’opérateur.

7.2.5.2. kustomize

La sous-commande génératrice kustomize contient des sous-commandes qui génèrent des données Kustomize pour l’opérateur.

7.2.5.2.1. les manifestes

La sous-commande génératrice kustomize manifeste génère ou régénère les bases Kustomize et un fichier kustomization.yaml dans le répertoire config/manifests, qui sont utilisés pour construire des manifestes de paquets par d’autres commandes SDK de l’opérateur. Cette commande demande interactivement des métadonnées UI, un composant important des bases manifestes, par défaut, sauf si une base existe déjà ou si vous définissez l’indicateur --interactive=false.

Expand
Tableau 7.7. générer kustomize manifeste des drapeaux
DrapeauDescription

--APIs-dir (chaîne)

Répertoire racine pour les définitions de type API.

-h, --aide

Aide pour générer des manifestes de kustomize.

--input-dir (chaîne)

Répertoire contenant les fichiers Kustomize existants.

--interactif

Lorsqu’il est défini sur false, si aucune base Kustomize n’existe, une invite de commande interactive est présentée pour accepter les métadonnées personnalisées.

--sortie-dir (chaîne)

Annuaire où écrire des fichiers Kustomize.

--emballage (chaîne)

Le nom du paquet.

-Q, --quiet

Exécutez en mode silencieux.

7.2.6. init

La commande operator-sdk init initialise un projet Opérateur et génère, ou des échafaudages, une mise en page de répertoire de projet par défaut pour le plugin donné.

Cette commande écrit les fichiers suivants:

  • Fichier de licence de hotplate
  • Fichier PROJET avec le domaine et le référentiel
  • Makefile pour construire le projet
  • fichier Go.mod avec dépendances de projet
  • fichier kustomization.yaml pour la personnalisation des manifestes
  • Fichier correcteur pour personnaliser les images pour les manifestes du gestionnaire
  • Fichier de correction pour activer les métriques Prometheus
  • fichier Main.go à exécuter
Expand
Tableau 7.8. drapeaux init
DrapeauDescription

--aide, -h

Aide à la sortie pour la commande init.

--plugins (chaîne)

Le nom et la version optionnelle du plugin pour initialiser le projet avec. Les plugins disponibles sont ansible.sdk.operatorframework.io/v1, go.kubebuilder.io/v2, go.kubebuilder.io/v3, et helm.sdk.operatorframework.io/v1.

--version de projet

La version du projet. Les valeurs disponibles sont 2 et 3-alpha, qui est la valeur par défaut.

7.2.7. courir

La commande operator-sdk run fournit des options qui peuvent lancer l’opérateur dans divers environnements.

7.2.7.1. le paquet

La sous-commande de paquet d’exécution déploie un opérateur dans le format de paquet avec Operator Lifecycle Manager (OLM).

Expand
Tableau 7.9. lancer des drapeaux de paquets
DrapeauDescription

--index-image (chaîne)

Indexer l’image dans laquelle injecter un paquet. L’image par défaut est quay.io/operator-framework/upstream-opm-builder:latest.

--install-mode &lt;install_mode_value&gt;

Installez le mode supporté par la version de service cluster (CSV) de l’opérateur, par exemple AllNamespaces ou SingleNamespace.

--timeout &lt;duration&gt;

Installez le délai d’attente. La valeur par défaut est 2m0s.

--kubeconfig (chaîne)

Chemin vers le fichier kubeconfig à utiliser pour les requêtes CLI.

-n, --namespace (chaîne)

Le cas échéant, l’espace de noms dans lequel exécuter la demande CLI.

--security-context-config &lt;security_context&gt;

Indique le contexte de sécurité à utiliser pour le pod de catalogue. Les valeurs autorisées incluent des restrictions et des héritages. La valeur par défaut est l’héritage. [1]

-h, --aide

Aide à la sortie pour la sous-commande du paquet d’exécution.

  1. Le contexte de sécurité restreint n’est pas compatible avec l’espace de noms par défaut. Afin de configurer l’admission de sécurité de pod de votre opérateur dans votre environnement de production, voir "Complying with Pod security admission". En savoir plus sur l’admission à la sécurité des pods, voir « Comprendre et gérer l’admission à la sécurité des pod ».
7.2.7.2. la mise à niveau de paquet

La sous-commande de mise à niveau de paquets d’exécution met à niveau un opérateur qui a déjà été installé dans le format de paquet avec Operator Lifecycle Manager (OLM).

Expand
Tableau 7.10. exécuter des drapeaux de mise à niveau de paquets
DrapeauDescription

--timeout &lt;duration&gt;

Délai de mise à niveau. La valeur par défaut est 2m0s.

--kubeconfig (chaîne)

Chemin vers le fichier kubeconfig à utiliser pour les requêtes CLI.

-n, --namespace (chaîne)

Le cas échéant, l’espace de noms dans lequel exécuter la demande CLI.

--security-context-config &lt;security_context&gt;

Indique le contexte de sécurité à utiliser pour le pod de catalogue. Les valeurs autorisées incluent des restrictions et des héritages. La valeur par défaut est l’héritage. [1]

-h, --aide

Aide à la sortie pour la sous-commande du paquet d’exécution.

  1. Le contexte de sécurité restreint n’est pas compatible avec l’espace de noms par défaut. Afin de configurer l’admission de sécurité de pod de votre opérateur dans votre environnement de production, voir "Complying with Pod security admission". En savoir plus sur l’admission à la sécurité des pods, voir « Comprendre et gérer l’admission à la sécurité des pod ».

7.2.8. carte de pointage

La commande operator-sdk scorecard exécute l’outil de carte de pointage pour valider un ensemble d’opérateurs et fournir des suggestions d’améliorations. La commande prend un argument, qu’il s’agisse d’une image groupée ou d’un répertoire contenant des manifestes et des métadonnées. Lorsque l’argument contient une balise d’image, l’image doit être présente à distance.

Expand
Tableau 7.11. drapeaux de carte de pointage
DrapeauDescription

-C, --config (chaîne)

Chemin d’accès au fichier de configuration de la carte de pointage. Le chemin par défaut est bundle/tests/scorecard/config.yaml.

-h, --aide

Aide à la sortie pour la commande de la carte de pointage.

--kubeconfig (chaîne)

Chemin d’accès au fichier kubeconfig.

-L, --liste

Liste des tests disponibles pour exécuter.

-n, --namespace (chaîne)

Espace de noms dans lequel exécuter les images de test.

-O, --sortie (chaîne)

Format de sortie pour les résultats. Les valeurs disponibles sont du texte, qui est la valeur par défaut, et json.

--pod-sécurité &lt;security_context&gt;

L’option d’exécuter une carte de score avec le contexte de sécurité spécifié. Les valeurs autorisées incluent des restrictions et des héritages. La valeur par défaut est l’héritage. [1]

-l, --séléctor (chaîne)

Le sélecteur d’étiquette pour déterminer quels tests sont exécutés.

-s, --service-compte (string)

Compte de service à utiliser pour les tests. La valeur par défaut est par défaut.

-x, --skip-nettoyage

Désactiver le nettoyage des ressources après l’exécution des tests.

-W, --temps d’attente &lt;durée&gt;

Des secondes pour attendre que les tests soient terminés, par exemple 35s. La valeur par défaut est 30s.

  1. Le contexte de sécurité restreint n’est pas compatible avec l’espace de noms par défaut. Afin de configurer l’admission de sécurité de pod de votre opérateur dans votre environnement de production, voir "Complying with Pod security admission". En savoir plus sur l’admission à la sécurité des pods, voir « Comprendre et gérer l’admission à la sécurité des pod ».

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

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