Les outils CLI
Apprendre à utiliser les outils de ligne de commande pour Red Hat OpenShift Service sur AWS
Résumé
Chapitre 1. Aperçu des outils de Red Hat OpenShift sur AWS CLI Copier lienLien copié sur presse-papiers!
L’utilisateur effectue une série d’opérations tout en travaillant sur Red Hat OpenShift Service sur AWS (ROSA) tels 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
La ROSA propose un ensemble d’outils d’interface de ligne de commande (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 Copier lienLien copié sur presse-papiers!
Les outils CLI suivants sont disponibles en ROSA:
- CLI OpenShift (oc): C’est l’un des outils CLI les plus couramment utilisés pour les développeurs. Il aide les administrateurs de clusters et les développeurs à effectuer des opérations de bout en bout à travers ROSA en utilisant le 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 Red Hat OpenShift Service sur AWS, 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.
- CLI ROSA (rosa): Utilisez le rosa CLI pour créer, mettre à jour, gérer et supprimer des clusters et des ressources ROSA.
Chapitre 2. CLI OpenShift (oc) Copier lienLien copié sur presse-papiers!
2.1. Débuter avec l’OpenShift CLI Copier lienLien copié sur presse-papiers!
2.1.1. À propos de l’OpenShift CLI Copier lienLien copié sur presse-papiers!
Avec OpenShift CLI (oc), vous pouvez créer des applications et gérer les projets Red Hat OpenShift sur AWS (ROSA) à partir d’un terminal. L’OpenShift CLI est idéal dans les situations suivantes:
- En travaillant directement avec le code source du projet
- Script des opérations ROSA
- 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 Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
Il est possible d’installer OpenShift CLI (oc) pour interagir avec ROSA à partir d’une interface de ligne de commande. Il est possible d’installer oc sous Linux, Windows ou macOS.
Lorsque vous avez installé une version antérieure d’oc, vous ne pouvez pas l’utiliser pour compléter toutes les commandes dans ROSA. 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
- Accédez au service OpenShift Red Hat sur la page de téléchargement d’AWS sur le portail client Red Hat.
- Choisissez l’architecture dans la liste déroulante Variante de produit.
- Choisissez la version appropriée dans la liste déroulante Version.
- Cliquez sur Télécharger maintenant à côté de l’entrée OpenShift v4 Linux Clients et enregistrez le fichier.
Décompressez l’archive:
$ tar xvf <file>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
La vérification
Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:
$ oc <command>
Installation du CLI OpenShift sur Windows
En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur Windows.
Procédure
- Accédez au service OpenShift Red Hat sur la page de téléchargement d’AWS sur le portail client Red Hat.
- Choisissez la version appropriée dans la liste déroulante Version.
- Cliquez sur Télécharger maintenant à côté de l’entrée client Windows OpenShift v4 et enregistrez le fichier.
- Décompressez l’archive avec un programme ZIP.
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
La vérification
Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:
C:\> oc <command>
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
- Accédez au service OpenShift Red Hat sur la page de téléchargement d’AWS sur le portail client Red Hat.
- Choisissez la version appropriée dans la liste déroulante Version.
Cliquez sur Télécharger maintenant à côté de l’entrée OpenShift v4 macOS Clients et enregistrez le fichier.
NoteDans le cas de macOS arm64, choisissez l’entrée client OpenShift v4 macOS arm64.
- Décompressez et décompressez l’archive.
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
La vérification
Contrôlez votre installation à l’aide d’une commande oc:
$ oc <command>
2.1.2.2. Installation du CLI OpenShift à l’aide de la console Web Copier lienLien copié sur presse-papiers!
Il est possible d’installer OpenShift CLI (oc) pour interagir avec Red Hat OpenShift Service sur AWS (ROSA) à partir d’une console Web. Il est possible d’installer oc sous Linux, Windows ou macOS.
Lorsque vous avez installé une version antérieure d’oc, vous ne pouvez pas l’utiliser pour compléter toutes les commandes dans ROSA. Installez et téléchargez la nouvelle version d’oc.
2.1.2.2.1. Installation du CLI OpenShift sur Linux à l’aide de la console Web Copier lienLien copié sur presse-papiers!
En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur Linux.
Procédure
- 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.
Extrayez le fichier binaire oc de l’archive téléchargée.
$ tar xvf <file>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
Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:
$ oc <command>
2.1.2.2.2. Installation du CLI OpenShift sur Windows à l’aide de la console Web Copier lienLien copié sur presse-papiers!
En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur Windows.
Procédure
- 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.
- Extrayez le fichier binaire oc de l’archive téléchargée.
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
Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:
C:\> oc <command>
2.1.2.2.3. Installation du CLI OpenShift sur macOS à l’aide de la console web Copier lienLien copié sur presse-papiers!
En utilisant la procédure suivante, vous pouvez installer le binaire OpenShift CLI (oc) sur macOS.
Procédure
- 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.
- Extrayez le fichier binaire oc de l’archive téléchargée.
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
Après avoir installé le CLI OpenShift, il est disponible à l’aide de la commande oc:
$ oc <command>
2.1.2.3. Installation du CLI OpenShift à l’aide d’un RPM Copier lienLien copié sur presse-papiers!
Dans Red Hat Enterprise Linux (RHEL), vous pouvez installer l’OpenShift CLI (oc) en tant que RPM si vous avez un abonnement Red Hat OpenShift sur AWS (ROSA) actif sur votre compte Red Hat.
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
Inscrivez-vous avec Red Hat Subscription Manager:
# subscription-manager registerRetirez les dernières données d’abonnement:
# subscription-manager refreshListe des abonnements disponibles:
# subscription-manager list --available --matches '*OpenShift*'Dans la sortie de la commande précédente, trouvez l’identifiant de pool pour un abonnement ROSA et joindre l’abonnement au système enregistré:
# subscription-manager attach --pool=<pool_id>Activer les référentiels requis par ROSA.
# subscription-manager repos --enable="rhocp-4-for-rhel-8-x86_64-rpms"Installez le package openshift-clients:
# yum install openshift-clients
La vérification
- Contrôlez votre installation à l’aide d’une commande oc:
$ oc <command>
2.1.2.4. Installation de l’OpenShift CLI à l’aide de Homebrew Copier lienLien copié sur presse-papiers!
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
La vérification
- Contrôlez votre installation à l’aide d’une commande oc:
$ oc <command>
2.1.3. Connexion à l’OpenShift CLI Copier lienLien copié sur presse-papiers!
Connectez-vous à OpenShift CLI (oc) pour accéder et gérer votre cluster.
Conditions préalables
- Il faut avoir accès à un cluster ROSA.
- L’OpenShift CLI (oc) est installé.
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
Entrez la commande oc login et passez dans un nom d’utilisateur:
$ oc login -u user1Lorsque vous l’invitez, entrez les informations requises:
Exemple de sortie
Server [https://localhost:8443]: https://openshift.example.com:64431 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): y2 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.
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 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.
2.1.4. Connexion au CLI OpenShift à l’aide d’un navigateur Web Copier lienLien copié sur presse-papiers!
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.
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 service Red Hat OpenShift sur AWS cluster.
- Il faut avoir installé l’OpenShift CLI (oc).
- Il faut installer un navigateur.
Procédure
Entrez la commande de connexion oc avec le drapeau --web:
$ oc login <cluster_url> --web1 - 1
- En option, vous pouvez spécifier l’URL du serveur et le port de rappel. A titre d’exemple, oc login <cluster_url> --web --callback-port 8280 localhost:8443.
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 service Red Hat OpenShift sur AWS Server oc, 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.- Lorsque plus d’un fournisseur d’identité est disponible, sélectionnez votre choix parmi les options fournies.
- 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.
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>
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 du Service OpenShift Red Hat sur la console web AWS 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 Copier lienLien copié sur presse-papiers!
Examinez les sections suivantes pour apprendre à accomplir des tâches communes à l’aide de l’ICC.
2.1.5.1. Créer un projet Copier lienLien copié sur presse-papiers!
La commande oc new-project permet de créer un nouveau projet.
$ oc new-project my-project
Exemple de sortie
Now using project "my-project" on server "https://openshift.example.com:6443".
2.1.5.2. Créer une nouvelle application Copier lienLien copié sur presse-papiers!
La commande oc new-app permet de créer une nouvelle application.
$ oc new-app https://github.com/sclorg/cakephp-ex
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.
2.1.5.3. Affichage des gousses Copier lienLien copié sur presse-papiers!
La commande oc get pods permet d’afficher les pods du projet en cours.
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
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>
2.1.5.4. Affichage des journaux des pod Copier lienLien copié sur presse-papiers!
La commande oc logs permet d’afficher les journaux d’un pod particulier.
$ oc logs cakephp-ex-1-deploy
Exemple de sortie
--> Scaling cakephp-ex-1 to 1
--> Success
2.1.5.5. Affichage du projet en cours Copier lienLien copié sur presse-papiers!
La commande oc project permet d’afficher le projet en cours.
$ oc project
Exemple de sortie
Using project "my-project" on server "https://openshift.example.com:6443".
2.1.5.6. Affichage de l’état du projet en cours Copier lienLien copié sur presse-papiers!
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
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.
2.1.5.7. Liste des ressources d’API prises en charge Copier lienLien copié sur presse-papiers!
La commande oc api-ressources permet d’afficher la liste des ressources API prises en charge sur le serveur.
$ oc api-resources
Exemple de sortie
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false ComponentStatus
configmaps cm true ConfigMap
...
2.1.6. Avoir de l’aide Copier lienLien copié sur presse-papiers!
Il est possible d’obtenir de l’aide avec les commandes CLI et les ressources ROSA 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 helpExemple 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 ...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 --helpExemple de sortie
Create a resource by filename or stdin JSON and YAML formats are accepted. Usage: oc create -f FILENAME [flags] ...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 podsExemple 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 ...
2.1.7. Déverrouillage de l’OpenShift CLI Copier lienLien copié sur presse-papiers!
Déconnectez le CLI OpenShift pour terminer votre session en cours.
La commande oc logout est utilisée.
$ oc logoutExemple de sortie
Logged "user1" out on "https://openshift.example.com"
Cela supprime le jeton d’authentification enregistré du serveur et le supprime de votre fichier de configuration.
2.2. Configuration de l’OpenShift CLI Copier lienLien copié sur presse-papiers!
2.2.1. Activer la fin de l’onglet Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
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
Enregistrez le code d’achèvement Bash dans un fichier:
$ oc completion bash > oc_bash_completionCopiez le fichier dans /etc/bash_completion.d/:
$ sudo cp oc_bash_completion /etc/bash_completion.d/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 Copier lienLien copié sur presse-papiers!
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
L’achèvement de l’onglet est activé lorsque vous ouvrez un nouveau terminal.
2.3. L’utilisation des commandes oc et kubectl Copier lienLien copié sur presse-papiers!
L’interface de ligne de commande Kubernetes (CLI), kubectl, peut être utilisée pour exécuter des commandes contre un cluster Kubernetes. Étant donné que Red Hat OpenShift Service sur AWS (ROSA) est une distribution certifiée Kubernetes, vous pouvez utiliser les binaires kubectl pris en charge avec ROSA, ou vous pouvez acquérir des fonctionnalités étendues en utilisant le binaire oc.
2.3.1. Le binaire oc Copier lienLien copié sur presse-papiers!
Le binaire oc offre les mêmes capacités que le binaire kubectl, mais il prend en charge nativement des fonctionnalités ROSA supplémentaires, y compris:
Appui total aux ressources de la ROSA
Les ressources telles que DeploymentConfig, BuildConfig, Route, ImageStream et ImageStreamTag sont spécifiques aux distributions ROSA 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.
Lorsque vous avez installé une version antérieure du binaire oc, vous ne pouvez pas l’utiliser pour compléter toutes les commandes dans ROSA. Lorsque vous voulez les dernières fonctionnalités, vous devez télécharger et installer la dernière version du binaire oc correspondant à la version de votre serveur ROSA.
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.
| 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) |
|
|
| Ajouter au panier x.Y+N note de bas de page:versionpolicyn[] (Server) |
|
|
Entièrement compatible.
le client OC peut ne pas être en mesure d’accéder aux fonctionnalités du serveur.
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 Copier lienLien copié sur presse-papiers!
Le binaire kubectl est fourni comme un moyen de prendre en charge les flux de travail et les scripts existants pour les nouveaux utilisateurs ROSA 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 Kubernetes, sans modification nécessaire au cluster ROSA.
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 Copier lienLien copié sur presse-papiers!
Le fichier de configuration CLI vous permet de configurer différents profils, ou contextes, pour une utilisation avec la vue d’ensemble des outils CLI. Le contexte consiste en l’information du serveur Red Hat OpenShift sur AWS (ROSA) associée à un surnom.
2.4.1. À propos des changements entre les profils CLI Copier lienLien copié sur presse-papiers!
Les contextes vous permettent de basculer facilement entre plusieurs utilisateurs sur plusieurs serveurs ROSA, ou clusters, lors de l’utilisation des opérations CLI. Les surnoms facilitent la gestion des configurations CLI en fournissant des références courtes aux contextes, aux identifiants d’utilisateur et aux détails des clusters. Après qu’un utilisateur se connecte avec le CLI oc pour la première fois, ROSA crée un fichier ~/.kube/config si l’on n’existe pas déjà. Comme plus de détails d’authentification et de connexion sont fournis au CLI, soit automatiquement lors d’une opération de connexion oc, soit en configurant manuellement les profils CLI, les informations mises à jour sont stockées dans le fichier de configuration:
CLI config fichier
apiVersion: v1
clusters:
- 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:
- 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
kind: Config
preferences: {}
users:
- name: alice/openshift1.example.com:8443
user:
token: xZHd2piv5_9vQrg-SKXRJ2Dsl9SceNJdhNTljEKTb8k
- 1
- La section clusters définit les détails de connexion pour les clusters ROSA, y compris l’adresse de leur serveur maître. Dans cet exemple, un cluster est surnommé openshift1.example.com:8443 et un autre est surnommé openshift2.example.com:8443.
- 2
- Cette section de contextes définit deux contextes: l’un surnommé alice-project/openshift1.example.com:8443/alice, en utilisant le projet alice-projet, openshift1.example.com:8443, cluster et alice user, et un autre surnommé joe-project/openshift1.example.com:8443/alice, en utilisant le projet joe-project, openshift1.example.com:8443 et a
- 3
- Le paramètre current-context montre que le contexte joe-project/openshift1.example.com:8443/alice est actuellement utilisé, permettant à l’utilisateur alice de travailler dans le projet joe-project sur le cluster openshift1.example.com:8443.
- 4
- La section utilisateurs définit les identifiants d’utilisateur. Dans cet exemple, le surnom d’utilisateur alice/openshift1.example.com:8443 utilise un jeton d’accès.
Le CLI peut prendre en charge plusieurs fichiers de configuration qui sont chargés au moment de l’exécution et fusionnés avec toutes les options de remplacement spécifiées à partir de la ligne de commande. Après avoir été connecté, vous pouvez utiliser l’état d’oc ou la commande projet oc pour vérifier votre environnement de travail actuel:
Vérifier l’environnement de travail actuel
$ oc status
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.
Liste du projet en cours
$ oc project
Exemple de sortie
Using project "joe-project" from context named "joe-project/openshift1.example.com:8443/alice" on server "https://openshift1.example.com:8443".
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
Exemple de sortie
Now using project "alice-project" on server "https://openshift1.example.com:8443".
À tout moment, vous pouvez utiliser la commande oc config view pour afficher votre configuration CLI actuelle, comme le montre la sortie. Des commandes de configuration CLI supplémentaires sont également disponibles pour une utilisation plus avancée.
Lorsque vous avez accès à des identifiants d’administrateur mais que vous n’êtes plus connecté en tant que système utilisateur par défaut:admin, vous pouvez vous connecter en tant qu’utilisateur à tout moment tant que les informations d’identification sont toujours présentes dans votre fichier de configuration CLI. La commande suivante se connecte et passe au projet par défaut:
$ oc login -u system:admin -n default
2.4.2. Configuration manuelle des profils CLI Copier lienLien copié sur presse-papiers!
Cette section couvre l’utilisation plus avancée des configurations CLI. Dans la plupart des situations, vous pouvez utiliser les commandes oc login et oc project pour vous connecter et basculer entre les contextes et les projets.
Lorsque vous souhaitez configurer manuellement vos fichiers de configuration CLI, vous pouvez utiliser la commande oc config au lieu de modifier directement les fichiers. La commande oc config comprend un certain nombre de sous-commandes utiles à cet effet:
| Le sous-commande | L’utilisation |
|---|---|
|
| Définit une entrée de cluster dans le fichier de configuration CLI. Lorsque le surnom de cluster référencé existe déjà, les informations spécifiées sont fusionnées.
|
|
| 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.
|
|
| Définit le contexte actuel en utilisant le surnom de contexte spécifié.
|
|
| Définit une valeur individuelle dans le fichier de configuration CLI.
Le <property_name> est un nom délimité par point où chaque jeton représente un nom d’attribut ou une clé de carte. La valeur <property_value> est la nouvelle valeur définie. |
|
| Désactivez les valeurs individuelles dans le fichier de configuration CLI.
Le <property_name> est un nom délimité par point où chaque jeton représente un nom d’attribut ou une clé de carte. |
|
| Affiche la configuration CLI fusionnée actuellement utilisée.
Affiche le résultat du fichier de configuration CLI spécifié.
|
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
- Afficher l’entrée de cluster automatiquement créée:
$ oc config view
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
- 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>
- Examiner le contexte actuel, afin de confirmer que les changements sont mis en œuvre:
$ oc whoami -c
L’ensemble des opérations de CLI ultérieures utilise le nouveau contexte, sauf indication contraire par la suppression des options CLI ou jusqu’à ce que le contexte soit changé.
2.4.3. Charger et fusionner les règles Copier lienLien copié sur presse-papiers!
Lors de l’émission des opérations CLI pour le chargement et la fusion de l’ordre pour la configuration CLI, vous pouvez suivre ces règles:
Les fichiers de configuration CLI sont récupérés à partir de votre poste de travail, en utilisant la hiérarchie suivante et les règles de fusion:
- Lorsque l’option --config est définie, seul ce fichier est chargé. Le drapeau est fixé une fois et aucune fusion n’a lieu.
- Lorsque la variable d’environnement $KUBECONFIG est définie, elle est utilisée. La variable peut être une liste de chemins, et si c’est le cas, les chemins sont fusionnés ensemble. Lorsqu’une valeur est modifiée, elle est modifiée dans le fichier qui définit la strophe. Lorsqu’une valeur est créée, elle est créée dans le premier fichier existant. En l’absence de fichiers dans la chaîne, il crée le dernier fichier dans la liste.
- Dans le cas contraire, le fichier ~/.kube/config est utilisé et aucune fusion n’a lieu.
Le contexte à utiliser est déterminé en fonction de la première correspondance dans le flux suivant:
- La valeur de l’option --context.
- La valeur contextuelle actuelle du fichier de configuration CLI.
- À ce stade, une valeur vide est autorisée.
L’utilisateur et le cluster à utiliser sont déterminés. À ce stade, vous pouvez ou non avoir un contexte; ils sont construits en fonction de la première correspondance dans le flux suivant, qui est exécuté une fois pour l’utilisateur et une fois pour le cluster:
- La valeur de --user pour le nom d’utilisateur et l’option --cluster pour le nom de cluster.
- Lorsque l’option --context est présente, utilisez la valeur du contexte.
- À ce stade, une valeur vide est autorisée.
L’information réelle du cluster à utiliser est déterminée. À ce stade, vous pouvez avoir ou non des informations de cluster. Chaque élément de l’information de cluster est construit en fonction de la première correspondance dans le flux suivant:
Les valeurs de l’une des options de ligne de commande suivantes:
- --serveur,
-
--API-version -
--certificat-autorité -
--insécurité-skip-tls-vérifier
- Lorsque des informations de cluster et une valeur pour l’attribut sont présentes, utilisez-les.
- Dans le cas où vous n’avez pas d’emplacement de serveur, il y a une erreur.
Les informations réelles de l’utilisateur à utiliser sont déterminées. Les utilisateurs sont construits en utilisant les mêmes règles que les clusters, sauf que vous ne pouvez avoir qu’une seule technique d’authentification par utilisateur; les techniques contradictoires causent l’échec de l’opération. Les options de ligne de commande ont préséance sur les valeurs de fichier de configuration. Les options de ligne de commande valides sont:
-
--auth-chemin -
--certificat client -
--client-clé -
--jeton
-
- Dans le cas de toute information manquante, des valeurs par défaut sont utilisées et des invitations sont fournies pour des informations supplémentaires.
2.5. Extension du CLI OpenShift avec des plugins Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
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.
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.
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"
Après avoir installé ce plugin pour OpenShift CLI, il peut être invoqué à l’aide de la commande oc foo.
2.5.2. Installation et utilisation de plugins CLI Copier lienLien copié sur presse-papiers!
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
Au besoin, mettre à jour le fichier plugin pour être exécutable.
$ chmod +x <plugin_file>Déposez le fichier n’importe où dans votre PATH, comme /usr/local/bin/.
$ sudo mv <plugin_file> /usr/local/bin/.Exécutez la liste des plugins oc pour vous assurer que le plugin est listé.
$ oc plugin listExemple de sortie
The following compatible plugins are available: /usr/local/bin/<plugin_file>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.
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 nsA 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 Copier lienLien copié sur presse-papiers!
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 <command> --aider à obtenir des détails supplémentaires pour une commande spécifique.
2.6.1. Commandes de développeurs OpenShift CLI (oc) Copier lienLien copié sur presse-papiers!
2.6.1.1. annotation d’OC Copier lienLien copié sur presse-papiers!
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-
2.6.1.2. api-ressources d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.3. api-versions OC Copier lienLien copié sur presse-papiers!
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
2.6.1.4. les OC s’appliquent Copier lienLien copié sur presse-papiers!
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
2.6.1.5. les OC appliquent Edit-last-appliqué Copier lienLien copié sur presse-papiers!
É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
2.6.1.6. appliquer OC-last-appliqué Copier lienLien copié sur presse-papiers!
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
2.6.1.7. l’OC applique view-last-appliqué Copier lienLien copié sur presse-papiers!
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
2.6.1.8. joint d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.9. auth can-i d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.10. auth OC se réconcilier Copier lienLien copié sur presse-papiers!
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
2.6.1.11. auth whoami d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.12. autoscale d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.13. annulation d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.14. cluster-info OC Copier lienLien copié sur presse-papiers!
Afficher les informations du cluster
Exemple d’utilisation
# Print the address of the control plane and cluster services
oc cluster-info
2.6.1.15. dump OC cluster-info Copier lienLien copié sur presse-papiers!
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
2.6.1.16. achèvement des OC Copier lienLien copié sur presse-papiers!
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
2.6.1.17. configuration OC config current-context Copier lienLien copié sur presse-papiers!
Afficher le contexte actuel
Exemple d’utilisation
# Display the current-context
oc config current-context
2.6.1.18. configuration OC config Remove-cluster Copier lienLien copié sur presse-papiers!
Effacer le cluster spécifié du kubeconfig
Exemple d’utilisation
# Delete the minikube cluster
oc config delete-cluster minikube
2.6.1.19. configuration OC config Remove-context Copier lienLien copié sur presse-papiers!
Effacer le contexte spécifié du kubeconfig
Exemple d’utilisation
# Delete the context for the minikube cluster
oc config delete-context minikube
2.6.1.20. configuration de l’utilisateur de suppression Copier lienLien copié sur presse-papiers!
Effacer l’utilisateur spécifié du kubeconfig
Exemple d’utilisation
# Delete the minikube user
oc config delete-user minikube
2.6.1.21. config OC get-clusters Copier lienLien copié sur presse-papiers!
Affichage des clusters définis dans le kubeconfig
Exemple d’utilisation
# List the clusters that oc knows about
oc config get-clusters
2.6.1.22. configuration OC get-contexts Copier lienLien copié sur presse-papiers!
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
2.6.1.23. configuration OC config get-users Copier lienLien copié sur presse-papiers!
Afficher les utilisateurs définis dans le kubeconfig
Exemple d’utilisation
# List the users that oc knows about
oc config get-users
2.6.1.24. configuration d’OC new-admin-kubeconfig Copier lienLien copié sur presse-papiers!
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
2.6.1.25. configuration d’OC new-kubelet-bootstrap-kubeconfig Copier lienLien copié sur presse-papiers!
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
2.6.1.26. config OC rafraîchissement-ca-grouple Copier lienLien copié sur presse-papiers!
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
2.6.1.27. configuration OC rename-context Copier lienLien copié sur presse-papiers!
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
2.6.1.28. ensemble de configuration OC Copier lienLien copié sur presse-papiers!
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
2.6.1.29. configuration OC Set-cluster Copier lienLien copié sur presse-papiers!
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
2.6.1.30. configuration OC set-context Copier lienLien copié sur presse-papiers!
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
2.6.1.31. configuration OC config set-credentials Copier lienLien copié sur presse-papiers!
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-
2.6.1.32. config OC Unset Copier lienLien copié sur presse-papiers!
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
2.6.1.33. configuration OC use-context Copier lienLien copié sur presse-papiers!
Définir le contexte courant dans un fichier kubeconfig
Exemple d’utilisation
# Use the context for the minikube cluster
oc config use-context minikube
2.6.1.34. affichage de configuration OC Copier lienLien copié sur presse-papiers!
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}'
2.6.1.35. cp d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.36. création d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.37. création d’OC Copier lienLien copié sur presse-papiers!
Créer une nouvelle construction
Exemple d’utilisation
# Create a new build
oc create build myapp
2.6.1.38. créer clusterresourcequota Copier lienLien copié sur presse-papiers!
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
2.6.1.39. créer clusterrole OC Copier lienLien copié sur presse-papiers!
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"
2.6.1.40. créer le clusterrolebinding Copier lienLien copié sur presse-papiers!
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
2.6.1.41. créer un configmap Copier lienLien copié sur presse-papiers!
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
2.6.1.42. créer un cronjob Copier lienLien copié sur presse-papiers!
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
2.6.1.43. créer un déploiement Copier lienLien copié sur presse-papiers!
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
2.6.1.44. créer la configuration de déploiement Copier lienLien copié sur presse-papiers!
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
2.6.1.45. créer une identité Copier lienLien copié sur presse-papiers!
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
2.6.1.46. créer un flux d’images Copier lienLien copié sur presse-papiers!
Créer un nouveau flux d’images vide
Exemple d’utilisation
# Create a new image stream
oc create imagestream mysql
2.6.1.47. création d’imagestreamtag Copier lienLien copié sur presse-papiers!
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
2.6.1.48. l’OC crée une entrée Copier lienLien copié sur presse-papiers!
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"
2.6.1.49. création d’emploi OC Copier lienLien copié sur presse-papiers!
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
2.6.1.50. créer un espace de noms Copier lienLien copié sur presse-papiers!
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
2.6.1.51. créer un budget poddisruption Copier lienLien copié sur presse-papiers!
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%
2.6.1.52. créer une classe de priorité Copier lienLien copié sur presse-papiers!
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"
2.6.1.53. créer un quota Copier lienLien copié sur presse-papiers!
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
2.6.1.54. créer un rôle Copier lienLien copié sur presse-papiers!
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
2.6.1.55. l’OC crée la reliure de rôle Copier lienLien copié sur presse-papiers!
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
2.6.1.56. créer un bord de route Copier lienLien copié sur presse-papiers!
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
2.6.1.57. l’OC crée un passage d’itinéraire Copier lienLien copié sur presse-papiers!
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
2.6.1.58. créer une route reencrypt Copier lienLien copié sur presse-papiers!
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
2.6.1.59. créer un fichier secret docker-registry Copier lienLien copié sur presse-papiers!
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
2.6.1.60. créer un secret générique Copier lienLien copié sur presse-papiers!
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
2.6.1.61. créer des tls secrets Copier lienLien copié sur presse-papiers!
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
2.6.1.62. créer un cluster de service Copier lienLien copié sur presse-papiers!
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"
2.6.1.63. créer un nom externe de service Copier lienLien copié sur presse-papiers!
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
2.6.1.64. créer un balanceur de charge de service Copier lienLien copié sur presse-papiers!
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
2.6.1.65. créer un service nodeport Copier lienLien copié sur presse-papiers!
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
2.6.1.66. créer un compte de service Copier lienLien copié sur presse-papiers!
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
2.6.1.67. créer un jeton OC Copier lienLien copié sur presse-papiers!
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
2.6.1.68. créer un utilisateur Copier lienLien copié sur presse-papiers!
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"
2.6.1.69. création d’un useridentitymapping Copier lienLien copié sur presse-papiers!
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
2.6.1.70. débogage d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.71. les OC suppriment Copier lienLien copié sur presse-papiers!
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
2.6.1.72. les OC décrivent Copier lienLien copié sur presse-papiers!
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
2.6.1.73. diff d’OC Copier lienLien copié sur presse-papiers!
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 -
2.6.1.74. édition d’OC Copier lienLien copié sur presse-papiers!
É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'
2.6.1.75. événements OC Copier lienLien copié sur presse-papiers!
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
2.6.1.76. exec de l’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.77. l’OC explique Copier lienLien copié sur presse-papiers!
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
2.6.1.78. exposition d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.79. extrait d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.80. les OC obtiennent Copier lienLien copié sur presse-papiers!
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
2.6.1.81. Get-token d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.82. oisive d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.83. annexe de l’image OC Copier lienLien copié sur presse-papiers!
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
2.6.1.84. extrait d’image OC Copier lienLien copié sur presse-papiers!
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:]
2.6.1.85. info sur l’image OC Copier lienLien copié sur presse-papiers!
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
2.6.1.86. le miroir d’image OC Copier lienLien copié sur presse-papiers!
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
2.6.1.87. image d’importation d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.88. kustomize OC Copier lienLien copié sur presse-papiers!
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
2.6.1.89. étiquette OC Copier lienLien copié sur presse-papiers!
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-
2.6.1.90. connexion OC Copier lienLien copié sur presse-papiers!
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
2.6.1.91. logo d’OC Copier lienLien copié sur presse-papiers!
Fin de la session serveur actuelle
Exemple d’utilisation
# Log out
oc logout
2.6.1.92. journaux d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.93. la nouvelle application OC Copier lienLien copié sur presse-papiers!
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
2.6.1.94. la nouvelle construction d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.95. le nouveau projet OC Copier lienLien copié sur presse-papiers!
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."
2.6.1.96. l’OC observe Copier lienLien copié sur presse-papiers!
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
2.6.1.97. patch d’OC Copier lienLien copié sur presse-papiers!
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}}'
2.6.1.98. liste des plugins OC Copier lienLien copié sur presse-papiers!
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
2.6.1.99. add-role-to-user de la politique d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.100. examen de la politique de l’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.101. la politique d’OCC-sujet-review Copier lienLien copié sur presse-papiers!
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
2.6.1.102. le port d’Oc-forward Copier lienLien copié sur presse-papiers!
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
2.6.1.103. le processus d’OC Copier lienLien copié sur presse-papiers!
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 -
2.6.1.104. le projet OC Copier lienLien copié sur presse-papiers!
Basculer vers un autre projet
Exemple d’utilisation
# Switch to the 'myapp' project
oc project myapp
# Display the project currently in use
oc project
2.6.1.105. les projets d’OC Copier lienLien copié sur presse-papiers!
Afficher les projets existants
Exemple d’utilisation
# List all projects
oc projects
2.6.1.106. le proxy d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.107. connexion au registre OC Copier lienLien copié sur presse-papiers!
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
2.6.1.108. les OC remplacent Copier lienLien copié sur presse-papiers!
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
2.6.1.109. le retour d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.110. annulation du déploiement d’OC Copier lienLien copié sur presse-papiers!
Annuler le déploiement en cours
Exemple d’utilisation
# Cancel the in-progress deployment based on 'nginx'
oc rollout cancel dc/nginx
2.6.1.111. historique de déploiement d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.112. dernier déploiement d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.113. pause de déploiement d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.114. déploiement d’OC redémarrage Copier lienLien copié sur presse-papiers!
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
2.6.1.115. CV de déploiement d’OC Copier lienLien copié sur presse-papiers!
Reprendre une ressource en pause
Exemple d’utilisation
# Resume an already paused deployment
oc rollout resume dc/nginx
2.6.1.116. essai de déploiement d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.117. État du déploiement d’OC Copier lienLien copié sur presse-papiers!
Afficher l’état du déploiement
Exemple d’utilisation
# Watch the status of the latest rollout
oc rollout status dc/nginx
2.6.1.118. lancement d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.119. à propos de OC rsh Copier lienLien copié sur presse-papiers!
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
2.6.1.120. l’OC rsync Copier lienLien copié sur presse-papiers!
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
2.6.1.121. course d’OC Copier lienLien copié sur presse-papiers!
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>
2.6.1.122. échelle d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.123. lien secret OC Copier lienLien copié sur presse-papiers!
Lier des secrets à un compte de service
Exemple d’utilisation
# Add an image pull secret to a service account to automatically use it for pulling pod images
oc secrets link serviceaccount-name pull-secret --for=pull
# Add an image pull secret to a service account to automatically use it for both pulling and pushing build images
oc secrets link builder builder-image-secret --for=pull,mount
2.6.1.124. les secrets d’OC unlink Copier lienLien copié sur presse-papiers!
Détacher les secrets d’un compte de service
Exemple d’utilisation
# Unlink a secret currently associated with a service account
oc secrets unlink serviceaccount-name secret-name another-secret-name ...
2.6.1.125. ensemble OC build-hook Copier lienLien copié sur presse-papiers!
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"
2.6.1.126. ensemble OC build-secret Copier lienLien copié sur presse-papiers!
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
2.6.1.127. ensemble de données OC Copier lienLien copié sur presse-papiers!
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
2.6.1.128. jeu OC set déploiement-hook Copier lienLien copié sur presse-papiers!
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
2.6.1.129. ensemble d’OC env Copier lienLien copié sur presse-papiers!
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
2.6.1.130. image de jeu d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.131. configuration d’image-lookup d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.132. capteur de jeu d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.133. l’OC a défini des ressources Copier lienLien copié sur presse-papiers!
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
2.6.1.134. boucles de route d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.135. ensemble d’OC sélecteur Copier lienLien copié sur presse-papiers!
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 -
2.6.1.136. compte de service fixe d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.137. ensemble d’OC sujet Copier lienLien copié sur presse-papiers!
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
2.6.1.138. déclencheurs OC réglés Copier lienLien copié sur presse-papiers!
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
2.6.1.139. ensemble de volumes d’OC Copier lienLien copié sur presse-papiers!
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>
2.6.1.140. démarrage d’OC Copier lienLien copié sur presse-papiers!
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
2.6.1.141. État des OC Copier lienLien copié sur presse-papiers!
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
2.6.1.142. étiquette OC Copier lienLien copié sur presse-papiers!
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
2.6.1.143. la version OC Copier lienLien copié sur presse-papiers!
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
2.6.1.144. les OC attendent Copier lienLien copié sur presse-papiers!
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
2.6.1.145. l’OC whoami Copier lienLien copié sur presse-papiers!
Informations de retour sur la session en cours
Exemple d’utilisation
# Display the currently authenticated user
oc whoami
2.7. Commande OpenShift CLI Référence de commande Copier lienLien copié sur presse-papiers!
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 <command> --aider à obtenir des détails supplémentaires pour une commande spécifique.
2.7.1. Commandes d’administrateur OpenShift CLI (oc) Copier lienLien copié sur presse-papiers!
2.7.1.1. ajouter au panier OC adm build-chain Copier lienLien copié sur presse-papiers!
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
2.7.1.2. catalogue OC adm miroir Copier lienLien copié sur presse-papiers!
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
2.7.1.3. le certificat OC adm approuve Copier lienLien copié sur presse-papiers!
Approuver une demande de signature de certificat
Exemple d’utilisation
# Approve CSR 'csr-sqgzp'
oc adm certificate approve csr-sqgzp
2.7.1.4. certificat OC adm refusant Copier lienLien copié sur presse-papiers!
Refuser une demande de signature de certificat
Exemple d’utilisation
# Deny CSR 'csr-sqgzp'
oc adm certificate deny csr-sqgzp
2.7.1.5. copier-to-node d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.6. ajouter au panier OC adm cordon Copier lienLien copié sur presse-papiers!
Nœud de marque comme imprévu
Exemple d’utilisation
# Mark node "foo" as unschedulable
oc adm cordon foo
2.7.1.7. création-bootstrap-project-template d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.8. création-erreur-template d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.9. ajouter au panier OC adm create-login-template Copier lienLien copié sur presse-papiers!
Créer un modèle de connexion
Exemple d’utilisation
# Output a template for the login page to stdout
oc adm create-login-template
2.7.1.10. création-fournisseur-sélection-template OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.11. drain d’adm OC Copier lienLien copié sur presse-papiers!
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
2.7.1.12. groupes d’adm OC add-users Copier lienLien copié sur presse-papiers!
Ajouter des utilisateurs à un groupe
Exemple d’utilisation
# Add user1 and user2 to my-group
oc adm groups add-users my-group user1 user2
2.7.1.13. les groupes d’adm OC nouveaux Copier lienLien copié sur presse-papiers!
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
2.7.1.14. groupes d’adm OC prunes Copier lienLien copié sur presse-papiers!
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
2.7.1.15. les groupes d’adm OC suppriment les utilisateurs Copier lienLien copié sur presse-papiers!
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
2.7.1.16. les groupes d’adm OC se synchronisent Copier lienLien copié sur presse-papiers!
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
2.7.1.17. inspection d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.18. ajouter au panier OC adm migration icsp Copier lienLien copié sur presse-papiers!
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
2.7.1.19. annonces OC migration template-instances Copier lienLien copié sur presse-papiers!
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
2.7.1.20. ajouter au panier OC adm must-collectther Copier lienLien copié sur presse-papiers!
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
2.7.1.21. le nouveau projet OC adm Copier lienLien copié sur presse-papiers!
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'
2.7.1.22. création d’une image de nœud d’adm OC Copier lienLien copié sur presse-papiers!
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
2.7.1.23. contrôleur d’image de nœud d’adm OC Copier lienLien copié sur presse-papiers!
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
2.7.1.24. carnets de nœuds d’adm OC Copier lienLien copié sur presse-papiers!
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
2.7.1.25. certificats OC adm ocp-certificats moniteurs Copier lienLien copié sur presse-papiers!
Certificats de plate-forme de surveillance
Exemple d’utilisation
# Watch platform certificates
oc adm ocp-certificates monitor-certificates
2.7.1.26. certificats OC adm ocp-regenerate-feuille Copier lienLien copié sur presse-papiers!
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
2.7.1.27. ocp-certificates OC adm regenerate-machine-config-server-serving-cert Copier lienLien copié sur presse-papiers!
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
2.7.1.28. les certificats OC adm ocp se régénérent en haut niveau Copier lienLien copié sur presse-papiers!
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
2.7.1.29. les certificats OC adm ocp éliminent la confiance Copier lienLien copié sur presse-papiers!
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
2.7.1.30. l’OC adm ocp-certificates met à jour-ignition-ca-bundle-for-machine-config-server Copier lienLien copié sur presse-papiers!
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
2.7.1.31. adm pod-réseau-isolats-projets OC adm pod-network Copier lienLien copié sur presse-papiers!
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'
2.7.1.32. co-projets OC adm pod-network Copier lienLien copié sur presse-papiers!
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'
2.7.1.33. adm pod-network make-projects-global Copier lienLien copié sur presse-papiers!
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'
2.7.1.34. adm politique d’OC add-cluster-role-to-groupe Copier lienLien copié sur presse-papiers!
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
2.7.1.35. adm politique d’OC add-cluster-role-to-user Copier lienLien copié sur presse-papiers!
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
2.7.1.36. add-role-to-user de la politique d’adm OC Copier lienLien copié sur presse-papiers!
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
2.7.1.37. adm policy add-scc-to-group d’OC Copier lienLien copié sur presse-papiers!
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
2.7.1.38. adm policy add-scc-to-user Copier lienLien copié sur presse-papiers!
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
2.7.1.39. la politique d’OC adm supprime-cluster-role-du-groupe Copier lienLien copié sur presse-papiers!
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
2.7.1.40. la politique d’OC adm Remove-cluster-role-de-l’utilisateur Copier lienLien copié sur presse-papiers!
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
2.7.1.41. avis sur la politique d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.42. la politique d’OC adm scc-subject-review Copier lienLien copié sur presse-papiers!
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
2.7.1.43. constructions OC adm prune Copier lienLien copié sur presse-papiers!
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
2.7.1.44. déploiements OC adm prunes Copier lienLien copié sur presse-papiers!
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
2.7.1.45. groupes de prunes OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.46. images de prunes OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.47. ajouter au panier OC adm prune rendermachineconfigs Copier lienLien copié sur presse-papiers!
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
2.7.1.48. liste des configurations automatiques OC adm prune Copier lienLien copié sur presse-papiers!
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
2.7.1.49. ajouter au panier OC adm reboot-machine-config-pool Copier lienLien copié sur presse-papiers!
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
2.7.1.50. extrait de libération d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.51. infos sur la libération d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.52. le miroir de libération d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.53. lancement d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.54. ajouter au panier OC adm redémarrer-kubelet Copier lienLien copié sur presse-papiers!
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
2.7.1.55. ajouter au panier OC adm taint Copier lienLien copié sur presse-papiers!
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
2.7.1.56. images haut OC adm Copier lienLien copié sur presse-papiers!
Afficher les statistiques d’utilisation des images
Exemple d’utilisation
# Show usage statistics for images
oc adm top images
2.7.1.57. flux d’images haut OC adm Copier lienLien copié sur presse-papiers!
Afficher les statistiques d’utilisation pour les flux d’images
Exemple d’utilisation
# Show usage statistics for image streams
oc adm top imagestreams
2.7.1.58. nœud supérieur OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.59. ajouter au panier OC adm top pod Copier lienLien copié sur presse-papiers!
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
2.7.1.60. ajouter au panier OC adm uncordon Copier lienLien copié sur presse-papiers!
Nœud de marque comme calendrier
Exemple d’utilisation
# Mark node "foo" as schedulable
oc adm uncordon foo
2.7.1.61. amélioration d’OC adm Copier lienLien copié sur presse-papiers!
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
2.7.1.62. adm d’OC check-image-signature Copier lienLien copié sur presse-papiers!
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
2.7.1.63. adm OC wait-for-node-reboot Copier lienLien copié sur presse-papiers!
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
2.7.1.64. ajouter au panier OC adm wait-for-stable-cluster Copier lienLien copié sur presse-papiers!
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
Chapitre 3. Importante mise à jour sur l’odo Copier lienLien copié sur presse-papiers!
Le Red Hat ne fournit pas d’informations sur l’odo sur le service OpenShift Red Hat sur le site de documentation AWS. Consultez la documentation conservée par Red Hat et la communauté en amont pour obtenir des informations sur l’odo.
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.
Chapitre 4. Knative CLI pour une utilisation avec OpenShift Serverless Copier lienLien copié sur presse-papiers!
Le Knative (kn) CLI permet une interaction simple avec les composants Knative sur Red Hat OpenShift Service sur AWS.
4.1. Caractéristiques clés Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
Installer le CLI Knative.
Chapitre 5. Oléoducs CLI (tkn) Copier lienLien copié sur presse-papiers!
5.1. Installation de tkn Copier lienLien copié sur presse-papiers!
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.
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.
Les archives et les RPM contiennent les exécutables suivants:
- le TKN
- le TKN-pac
5.1.1. Installation du Red Hat OpenShift Pipelines CLI sur Linux Copier lienLien copié sur presse-papiers!
Dans le cas des distributions Linux, vous pouvez télécharger le CLI sous forme d’archive tar.gz.
Procédure
Cliquez sur l’outil CLI pertinent.
Décompressez l’archive:
$ tar xvzf <file>- Ajoutez l’emplacement de vos fichiers tkn et tkn-pac à votre variable d’environnement PATH.
Afin de vérifier votre PATH, exécutez la commande suivante:
$ echo $PATH
5.1.2. Installation du Red Hat OpenShift Pipelines CLI sur Linux à l’aide d’un RPM Copier lienLien copié sur presse-papiers!
Avec Red Hat Enterprise Linux (RHEL) version 8, vous pouvez installer le Red Hat OpenShift Pipelines CLI en tant que RPM.
Conditions préalables
- Le Service OpenShift de Red Hat est actif sur l’abonnement AWS sur votre compte Red Hat.
- Il y a des privilèges racine ou sudo sur votre système local.
Procédure
Inscrivez-vous avec Red Hat Subscription Manager:
# subscription-manager registerRetirez les dernières données d’abonnement:
# subscription-manager refreshListe des abonnements disponibles:
# subscription-manager list --available --matches '*pipelines*'Dans la sortie de la commande précédente, trouvez l’identifiant de pool de votre Red Hat OpenShift Service sur l’abonnement AWS et joindre l’abonnement au système enregistré:
# subscription-manager attach --pool=<pool_id>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"Linux sur IBM Z® et IBM® LinuxONE (s390x)
# subscription-manager repos --enable="pipelines-1.17-for-rhel-8-s390x-rpms"Linux sur IBM Power® (ppc64le)
# subscription-manager repos --enable="pipelines-1.17-for-rhel-8-ppc64le-rpms"Linux sur ARM (aarch64, bras64)
# subscription-manager repos --enable="pipelines-1.17-for-rhel-8-aarch64-rpms"
Installez le package openshift-pipelines-client:
# yum install openshift-pipelines-client
Après avoir installé le CLI, il est disponible à l’aide de la commande tkn:
$ tkn version
5.1.3. Installation du Red Hat OpenShift Pipelines CLI sur Windows Copier lienLien copié sur presse-papiers!
Dans Windows, vous pouvez télécharger le CLI sous forme d’archive zip.
Procédure
- Cliquez sur l’outil CLI.
- Extrayez l’archive avec un programme ZIP.
- Ajoutez l’emplacement de vos fichiers tkn et tkn-pac à votre variable d’environnement PATH.
Afin de vérifier votre PATH, exécutez la commande suivante:
C:\> path
5.1.4. Installation du Red Hat OpenShift Pipelines CLI sur macOS Copier lienLien copié sur presse-papiers!
Dans macOS, vous pouvez télécharger le CLI sous forme d’archive tar.gz.
Procédure
Cliquez sur l’outil CLI pertinent.
- Déballez et extrayez l’archive.
- Ajoutez l’emplacement de vos fichiers tkn et tkn-pac à votre variable d’environnement PATH.
Afin de vérifier votre PATH, exécutez la commande suivante:
$ echo $PATH
5.2. Configuration des pipelines OpenShift tkn CLI Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
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.
Enregistrez le code d’achèvement Bash dans un fichier:
$ tkn completion bash > tkn_bash_completionCopiez le fichier dans /etc/bash_completion.d/:
$ sudo cp tkn_bash_completion /etc/bash_completion.d/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 Copier lienLien copié sur presse-papiers!
Cette section répertorie les commandes de base tkn CLI.
5.3.1. La syntaxe de base Copier lienLien copié sur presse-papiers!
[commande ou options] [arguments…]
5.3.2. Les options globales Copier lienLien copié sur presse-papiers!
--aide, -h
5.3.3. Commandes d’utilitaire Copier lienLien copié sur presse-papiers!
5.3.3.1. le TKN Copier lienLien copié sur presse-papiers!
Commande parent pour tkn CLI.
Exemple : Afficher toutes les options
$ tkn
5.3.3.2. achèvement [coquille] Copier lienLien copié sur presse-papiers!
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
5.3.3.3. la version Copier lienLien copié sur presse-papiers!
Imprimer les informations de la version tkn CLI.
Exemple : Vérifiez la version tkn
$ tkn version
5.3.4. Commandes de gestion des pipelines Copier lienLien copié sur presse-papiers!
5.3.4.1. gazoduc Copier lienLien copié sur presse-papiers!
Gérer les pipelines.
Exemple : Aide d’affichage
$ tkn pipeline --help
5.3.4.2. éliminer le pipeline Copier lienLien copié sur presse-papiers!
Effacez un pipeline.
Exemple : Supprimer le pipeline mypipeline d’un espace de noms
$ tkn pipeline delete mypipeline -n myspace
5.3.4.3. description du pipeline Copier lienLien copié sur presse-papiers!
Décrivez un pipeline.
Exemple : Décrivez le pipeline mypipeline
$ tkn pipeline describe mypipeline
5.3.4.4. liste des pipelines Copier lienLien copié sur presse-papiers!
Afficher une liste de pipelines.
Exemple : Afficher une liste de pipelines
$ tkn pipeline list
5.3.4.5. journaux des pipelines Copier lienLien copié sur presse-papiers!
Afficher les journaux d’un pipeline spécifique.
Exemple: diffuser les journaux en direct pour le pipeline mypipeline
$ tkn pipeline logs -f mypipeline
5.3.4.6. démarrage du pipeline Copier lienLien copié sur presse-papiers!
Lancez un pipeline.
Exemple : Démarrer le pipeline mypipeline
$ tkn pipeline start mypipeline
5.3.5. Commandes d’exécution de pipeline Copier lienLien copié sur presse-papiers!
5.3.5.1. cours d’oléoduc Copier lienLien copié sur presse-papiers!
Gérer les conduites de pipelines.
Exemple : Aide d’affichage
$ tkn pipelinerun -h
5.3.5.2. annulation de pipelinerun Copier lienLien copié sur presse-papiers!
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
5.3.5.3. les pipelinerun suppriment Copier lienLien copié sur presse-papiers!
Effacez une conduite de pipeline.
Exemple : Supprimer le pipeline à partir d’un espace de noms
$ tkn pipelinerun delete mypipelinerun1 mypipelinerun2 -n myspace
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
- 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
À 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 Copier lienLien copié sur presse-papiers!
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
5.3.5.5. liste de pipelinerun Copier lienLien copié sur presse-papiers!
Liste des cours d’eau.
Exemple : Afficher une liste d’exécutions de pipelines dans un espace de noms
$ tkn pipelinerun list -n myspace
5.3.5.6. journaux de pipelinerun Copier lienLien copié sur presse-papiers!
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
5.3.6. Commandes de gestion des tâches Copier lienLien copié sur presse-papiers!
5.3.6.1. la tâche Copier lienLien copié sur presse-papiers!
Gérer les tâches.
Exemple : Aide d’affichage
$ tkn task -h
5.3.6.2. effacer la tâche Copier lienLien copié sur presse-papiers!
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
5.3.6.3. décrire la tâche Copier lienLien copié sur presse-papiers!
Décrivez une tâche.
Exemple : Décrivez la tâche mytask dans un espace de noms
$ tkn task describe mytask -n myspace
5.3.6.4. liste des tâches Copier lienLien copié sur presse-papiers!
Liste des tâches.
Exemple : Répertez toutes les tâches dans un espace de noms
$ tkn task list -n myspace
5.3.6.5. journaux des tâches Copier lienLien copié sur presse-papiers!
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
5.3.6.6. démarrage de la tâche Copier lienLien copié sur presse-papiers!
Commencez une tâche.
Exemple : Démarrez la tâche mytask dans un espace de noms
$ tkn task start mytask -s <ServiceAccountName> -n myspace
5.3.7. Commandes d’exécution des tâches Copier lienLien copié sur presse-papiers!
5.3.7.1. exécution des tâches Copier lienLien copié sur presse-papiers!
Gérer l’exécution des tâches.
Exemple : Aide d’affichage
$ tkn taskrun -h
5.3.7.2. annulation de Taskrun Copier lienLien copié sur presse-papiers!
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
5.3.7.3. Effacer les tâches Copier lienLien copié sur presse-papiers!
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
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
- 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 Copier lienLien copié sur presse-papiers!
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
5.3.7.5. liste des tâches Copier lienLien copié sur presse-papiers!
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
5.3.7.6. journaux d’exécution des tâches Copier lienLien copié sur presse-papiers!
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
5.3.8. Commandes de gestion de condition Copier lienLien copié sur presse-papiers!
5.3.8.1. État de l’état Copier lienLien copié sur presse-papiers!
Gérer les conditions.
Exemple : Aide d’affichage
$ tkn condition --help
5.3.8.2. condition supprimer Copier lienLien copié sur presse-papiers!
Effacer une condition.
Exemple: Supprimer la condition mycondition1 d’un espace de noms
$ tkn condition delete mycondition1 -n myspace
5.3.8.3. condition décrire Copier lienLien copié sur presse-papiers!
Décrivez une condition.
Exemple : Décrivez la condition mycondition1 dans un espace de noms
$ tkn condition describe mycondition1 -n myspace
5.3.8.4. liste de condition Copier lienLien copié sur presse-papiers!
Liste des conditions.
Exemple : Liste des conditions dans un espace de noms
$ tkn condition list -n myspace
5.3.9. Commandes de gestion des ressources de pipeline Copier lienLien copié sur presse-papiers!
5.3.9.1. a) Ressources Copier lienLien copié sur presse-papiers!
Gérer les ressources des pipelines.
Exemple : Aide d’affichage
$ tkn resource -h
5.3.9.2. créer des ressources Copier lienLien copié sur presse-papiers!
Créer une ressource de pipeline.
Exemple : Créer une ressource de pipeline dans un espace de noms
$ tkn resource create -n myspace
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 Copier lienLien copié sur presse-papiers!
Supprimez une ressource de pipeline.
Exemple: Supprimer la ressource de pipeline myresource à partir d’un espace de noms
$ tkn resource delete myresource -n myspace
5.3.9.4. décrire la ressource Copier lienLien copié sur presse-papiers!
Décrivez une ressource de pipeline.
Exemple : Décrivez la ressource du pipeline myresource
$ tkn resource describe myresource -n myspace
5.3.9.5. liste des ressources Copier lienLien copié sur presse-papiers!
Liste des ressources du pipeline.
Exemple : Répertez toutes les ressources de pipeline dans un espace de noms
$ tkn resource list -n myspace
5.3.10. Commandes de gestion de ClusterTask Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
Gérer ClusterTasks.
Exemple : Aide d’affichage
$ tkn clustertask --help
5.3.10.2. clustertask supprimer Copier lienLien copié sur presse-papiers!
Supprimez une ressource ClusterTask dans un cluster.
Exemple: Supprimer mytask1 et mytask2 ClusterTasks
$ tkn clustertask delete mytask1 mytask2
5.3.10.3. clustertask décrire Copier lienLien copié sur presse-papiers!
Décrivez un ClusterTask.
Exemple : Décrivez le ClusterTask de mytask
$ tkn clustertask describe mytask1
5.3.10.4. liste de clustertask Copier lienLien copié sur presse-papiers!
Liste ClusterTasks.
Exemple: Liste ClusterTasks
$ tkn clustertask list
5.3.10.5. démarrage de clustertask Copier lienLien copié sur presse-papiers!
Démarrez ClusterTasks.
Exemple: Démarrer le ClusterTask de mytask
$ tkn clustertask start mytask
5.3.11. Commandes de gestion de déclenchement Copier lienLien copié sur presse-papiers!
5.3.11.1. EventListener Copier lienLien copié sur presse-papiers!
Gérer EventListeners.
Exemple : Aide d’affichage
$ tkn eventlistener -h
5.3.11.2. EventListener supprimer Copier lienLien copié sur presse-papiers!
Effacer un EventListener.
Exemple : Supprimer mylistener1 et mylistener2 EventListeners dans un espace de noms
$ tkn eventlistener delete mylistener1 mylistener2 -n myspace
5.3.11.3. EventListener décrire Copier lienLien copié sur presse-papiers!
Décrivez un EventListener.
Exemple : Décrivez le mylistener EventListener dans un espace de noms
$ tkn eventlistener describe mylistener -n myspace
5.3.11.4. liste EventListener Copier lienLien copié sur presse-papiers!
Liste EventListeners.
Exemple : Répertez tous les EventListeners dans un espace de noms
$ tkn eventlistener list -n myspace
5.3.11.5. journaux EventListener Copier lienLien copié sur presse-papiers!
Afficher les journaux d’un EventListener.
Exemple : Afficher les journaux du mylistener EventListener dans un espace de noms
$ tkn eventlistener logs mylistener -n myspace
5.3.11.6. binage de déclenchement Copier lienLien copié sur presse-papiers!
Gérez TriggerBindings.
Exemple: Affichage TriggerBindings aide
$ tkn triggerbinding -h
5.3.11.7. triggerbinding supprimer Copier lienLien copié sur presse-papiers!
Effacer un TriggerBinding.
Exemple: Supprimer mybinding1 et mybinding2 TriggerBindings dans un espace de noms
$ tkn triggerbinding delete mybinding1 mybinding2 -n myspace
5.3.11.8. triggerbinding décrire Copier lienLien copié sur presse-papiers!
Décrivez un TriggerBinding.
Exemple: Décrivez le Mybinding TriggerBinding dans un espace de noms
$ tkn triggerbinding describe mybinding -n myspace
5.3.11.9. liste debinaison de déclenchement Copier lienLien copié sur presse-papiers!
Liste TriggerBindings.
Exemple: Liste tous les TriggerBindings dans un espace de noms
$ tkn triggerbinding list -n myspace
5.3.11.10. triggertemplate Copier lienLien copié sur presse-papiers!
Gérez TriggerTemplates.
Exemple: Affichage TriggerTemplate aide
$ tkn triggertemplate -h
5.3.11.11. triggertemplate supprimer Copier lienLien copié sur presse-papiers!
Effacer un TriggerTemplate.
Exemple: Supprimer mytemplate1 et mytemplate2 TriggerTemplates dans un espace de noms
$ tkn triggertemplate delete mytemplate1 mytemplate2 -n `myspace`
5.3.11.12. triggertemplate décrit Copier lienLien copié sur presse-papiers!
Décrivez un TriggerTemplate.
Exemple: Décrivez le mytemplate TriggerTemplate dans un espace de noms
$ tkn triggertemplate describe mytemplate -n `myspace`
5.3.11.13. liste de triggertemplate Copier lienLien copié sur presse-papiers!
Liste TriggerTemplates.
Exemple: Liste tous les TriggerTemplates dans un espace de noms
$ tkn triggertemplate list -n myspace
5.3.11.14. clustertriggerbinding Copier lienLien copié sur presse-papiers!
Gérer ClusterTriggerBindings.
Exemple: Affichage ClusterTriggerBindings aide
$ tkn clustertriggerbinding -h
5.3.11.15. clustertriggerbinding supprimer Copier lienLien copié sur presse-papiers!
Effacer un ClusterTriggerBinding.
Exemple: Supprimer myclusterbinding1 et myclusterbinding2 ClusterTriggerBindings
$ tkn clustertriggerbinding delete myclusterbinding1 myclusterbinding2
5.3.11.16. clustertriggerbinding décrit Copier lienLien copié sur presse-papiers!
Décrivez un ClusterTriggerBinding.
Exemple: Décrivez le myclusterbinding ClusterTriggerBinding
$ tkn clustertriggerbinding describe myclusterbinding
5.3.11.17. liste de clustertriggerbinding Copier lienLien copié sur presse-papiers!
Liste ClusterTriggerBindings.
Exemple: Liste tous les ClusterTriggerBindings
$ tkn clustertriggerbinding list
5.3.12. Commandes d’interaction Hub Copier lienLien copié sur presse-papiers!
Interagissez avec Tekton Hub pour des ressources telles que des tâches et des pipelines.
5.3.12.1. le hub Copier lienLien copié sur presse-papiers!
Interagissez avec le hub.
Exemple : Aide d’affichage
$ tkn hub -h
Exemple : Interagir avec un serveur API hub
$ tkn hub --api-server https://api.hub.tekton.dev
Dans chaque exemple, pour obtenir les sous-commandes et drapeaux correspondants, exécutez tkn hub <command> --help.
5.3.12.2. déclassement du moyeu Copier lienLien copié sur presse-papiers!
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
5.3.12.3. le hub se fait Copier lienLien copié sur presse-papiers!
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
5.3.12.4. infos sur le hub Copier lienLien copié sur presse-papiers!
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
5.3.12.5. installation du hub Copier lienLien copié sur presse-papiers!
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
5.3.12.6. Hub réinstallé Copier lienLien copié sur presse-papiers!
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
5.3.12.7. la recherche de hub Copier lienLien copié sur presse-papiers!
Cherchez une ressource par une combinaison de nom, de genre et de balises.
Exemple: Rechercher une ressource avec une balise cli
$ tkn hub search --tags cli
5.3.12.8. amélioration du hub Copier lienLien copié sur presse-papiers!
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
Chapitre 6. CLI OPM Copier lienLien copié sur presse-papiers!
6.1. Installation de l’opm CLI Copier lienLien copié sur presse-papiers!
6.1.1. À propos de l’opm CLI Copier lienLien copié sur presse-papiers!
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 Red Hat OpenShift Service sur AWS, 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 Copier lienLien copié sur presse-papiers!
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
- Accédez au site miroir OpenShift et téléchargez la dernière version du tarball qui correspond à votre système d’exploitation.
Déballez l’archive.
Linux ou macOS:
$ tar xvf <file>- Dans Windows, décompressez l’archive avec un programme ZIP.
Déposez le fichier n’importe où dans votre PATH.
Linux ou macOS:
Consultez votre PATH:
$ echo $PATHDéplacez le fichier. À titre d’exemple:
$ sudo mv ./opm /usr/local/bin/
Avec Windows:
Consultez votre PATH:
C:\> pathDéplacez le fichier:
C:\> move opm.exe <directory>
La vérification
Après avoir installé l’opm CLI, vérifiez qu’il est disponible:
$ opm version
6.2. CLI de référence OPM Copier lienLien copié sur presse-papiers!
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>]
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.
| Drapeau | Description |
|---|---|
|
| Évitez la vérification du certificat TLS pour les enregistrements d’images de conteneur tout en tirant des paquets ou des index. |
|
| Lorsque vous tirez des paquets, utilisez HTTP plaine pour les registres d’images de conteneur. |
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 Red Hat OpenShift Service sur AWS et continue d’être prise en charge; cependant, il sera supprimé dans une future version de ce produit et n’est pas recommandé pour de nouveaux déploiements.
6.2.1. générer Copier lienLien copié sur presse-papiers!
Générez divers artefacts pour les index de configuration déclaratifs.
La syntaxe de commande
$ opm generate <subcommand> [<flags>]
| Le sous-commande | Description |
|---|---|
|
| Générer un Dockerfile pour un index de configuration déclaratif. |
| Drapeaux | Description |
|---|---|
| -h, --aide | Aide pour générer. |
6.2.1.1. Dockerfile Copier lienLien copié sur presse-papiers!
Générer un Dockerfile pour un index de configuration déclaratif.
Cette commande crée un Dockerfile dans le même répertoire que le <dcRootDir> (nommé <dcDirName>.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>]
| Drapeau | Description |
|---|---|
| -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. |
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 Copier lienLien copié sur presse-papiers!
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.
À partir de Red Hat OpenShift Service sur AWS 4.11, le catalogue par défaut Red Hat fourni par l’opérateur publie dans le format de catalogue basé sur des fichiers. Les catalogues de Red Hat fournis par défaut pour Red Hat OpenShift Service sur AWS 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>]
| Le sous-commande | Description |
|---|---|
|
| Ajoutez des paquets d’opérateurs à un index. |
|
| Eliminer un index de tous les paquets sauf spécifiés. |
|
| Eliminez un index de paquets échoués, qui sont des paquets qui ne sont pas associés à une image particulière. |
|
| Effacer un opérateur entier d’un index. |
6.2.2.1. ajouter Copier lienLien copié sur presse-papiers!
Ajoutez des paquets d’opérateurs à un index.
La syntaxe de commande
$ opm index add [<flags>]
| Drapeau | Description |
|---|---|
| -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. |
|
| 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. |
|
| 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 Copier lienLien copié sur presse-papiers!
Eliminer un index de tous les paquets sauf spécifiés.
La syntaxe de commande
$ opm index prune [<flags>]
| Drapeau | Description |
|---|---|
| -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. |
|
| 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. |
|
| 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 Copier lienLien copié sur presse-papiers!
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>]
| Drapeau | Description |
|---|---|
| -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. |
|
| 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. |
|
| 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 Copier lienLien copié sur presse-papiers!
Effacer un opérateur entier d’un index.
La syntaxe de commande
$ opm index rm [<flags>]
| Drapeau | Description |
|---|---|
| -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. |
|
| 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. |
|
| 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 Copier lienLien copié sur presse-papiers!
Générez un blob de configuration déclaratif olm.package.
La syntaxe de commande
$ opm init <package_name> [<flags>]
| Drapeau | Description |
|---|---|
| -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 Copier lienLien copié sur presse-papiers!
Faites migrer une image ou un fichier d’index de base de données SQLite vers un catalogue basé sur des fichiers.
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 Red Hat OpenShift Service sur AWS et continue d’être prise en charge; cependant, il sera supprimé dans une future version de ce produit et n’est pas recommandé pour de nouveaux déploiements.
La syntaxe de commande
$ opm migrate <index_ref> <output_dir> [<flags>]
| Drapeau | Description |
|---|---|
| -O, --sortie (chaîne) | Format de sortie: json (la valeur par défaut) ou yaml. |
6.2.5. le rendu Copier lienLien copié sur presse-papiers!
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>]
| Drapeau | Description |
|---|---|
| -O, --sortie (chaîne) | Format de sortie: json (la valeur par défaut) ou yaml. |
6.2.6. à servir Copier lienLien copié sur presse-papiers!
Il sert des configurations déclaratives via un serveur GRPC.
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>]
| Drapeau | Description |
|---|---|
| --cache-dir (chaîne) | Lorsque ce drapeau est défini, il synchronise et persiste le répertoire cache du serveur. |
|
| 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. |
|
| Synchronise le cache de service et les sorties sans service. |
|
| 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 Copier lienLien copié sur presse-papiers!
La validation du fichier (s) de configuration déclaratif JSON dans un répertoire donné.
La syntaxe de commande
$ opm validate <directory> [<flags>]
Chapitre 7. Le SDK de l’opérateur Copier lienLien copié sur presse-papiers!
7.1. Installation de l’opérateur SDK CLI Copier lienLien copié sur presse-papiers!
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.
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 Opérateur, est dépréciée et devrait être supprimée dans une future version de Red Hat OpenShift Service sur AWS. 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 du futur service Red Hat OpenShift sur les versions AWS.
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 Red Hat OpenShift Service sur AWS 4 pour maintenir leurs projets et créer des versions d’opérateur ciblant de nouvelles versions de Red Hat OpenShift Service sur AWS.
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 Red Hat OpenShift Service sur AWS, peuvent utiliser l’opérateur SDK CLI 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 Copier lienLien copié sur presse-papiers!
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
- Accédez au site miroir OpenShift.
- À partir du dernier répertoire 4, téléchargez la dernière version du tarball pour Linux.
Décompressez l’archive:
$ tar xvf operator-sdk-v1.38.0-ocp-linux-x86_64.tar.gzFaire le fichier exécutable:
$ chmod +x operator-sdkDéplacez le binaire opérateur-sdk extrait vers un répertoire qui se trouve sur votre PATH.
AstuceAfin de vérifier votre PATH:
$ echo $PATH$ sudo mv ./operator-sdk /usr/local/bin/operator-sdk
La vérification
Après avoir installé l’opérateur SDK CLI, vérifiez qu’il est disponible:
$ operator-sdk versionExemple de sortie
operator-sdk version: "v1.38.0-ocp", ...
7.1.2. Installation de l’opérateur SDK CLI sur macOS Copier lienLien copié sur presse-papiers!
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
- En ce qui concerne l’architecture amd64, accédez au site miroir OpenShift pour l’architecture amd64.
- À partir du dernier répertoire 4, téléchargez la dernière version du tarball pour macOS.
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.gzFaites le fichier exécutable en exécutant la commande suivante:
$ chmod +x operator-sdkDéplacez le binaire opérateur-sdk extrait vers un répertoire qui est sur votre PATH en exécutant la commande suivante:
AstuceCochez votre PATH en exécutant la commande suivante:
$ echo $PATH$ sudo mv ./operator-sdk /usr/local/bin/operator-sdk
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 versionExemple de sortie
operator-sdk version: "v1.38.0-ocp", ...
7.2. Opérateur SDK CLI référence Copier lienLien copié sur presse-papiers!
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.
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 Opérateur, est dépréciée et devrait être supprimée dans une future version de Red Hat OpenShift Service sur AWS. 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 du futur service Red Hat OpenShift sur les versions AWS.
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 Red Hat OpenShift Service sur AWS 4 pour maintenir leurs projets et créer des versions d’opérateur ciblant de nouvelles versions de Red Hat OpenShift Service sur AWS.
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>]
7.2.1. le paquet Copier lienLien copié sur presse-papiers!
La commande Operator-sdk bundle gère les métadonnées du bundle Operator.
7.2.1.1. de valider Copier lienLien copié sur presse-papiers!
Le bundle valide la sous-commande valide un bundle d’opérateur.
| Drapeau | Description |
|---|---|
| -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 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 Copier lienLien copié sur presse-papiers!
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.
| Drapeau | Description |
|---|---|
| -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. |
|
| 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 Copier lienLien copié sur presse-papiers!
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.
| Le sous-commande | Description |
|---|---|
|
| Générez des finitions bash. |
|
| Générez des finitions zsh. |
| Drapeau | Description |
|---|---|
|
| Aide à l’utilisation de sortie. |
À titre d’exemple:
$ operator-sdk completion bash
Exemple de sortie
# bash completion for operator-sdk -*- shell-script -*-
...
# ex: ts=4 sw=4 et filetype=sh
7.2.4. créer Copier lienLien copié sur presse-papiers!
La commande operator-sdk create est utilisée pour créer, ou échafauder, une API Kubernetes.
7.2.4.1. API Copier lienLien copié sur presse-papiers!
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.
| Drapeau | Description |
|---|---|
| -h, --aide | Aide à la sortie pour la sous-commande du paquet d’exécution. |
7.2.5. générer Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
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.
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.
| Drapeau | Description |
|---|---|
| --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. |
|
| Générez des manifestes de paquets. |
|
| Générez des métadonnées groupées et Dockerfile. |
| --sortie-dir (chaîne) | Annuaire pour écrire le paquet vers. |
|
| É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 Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
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.
| Drapeau | Description |
|---|---|
| --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. |
|
| 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 Copier lienLien copié sur presse-papiers!
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
| Drapeau | Description |
|---|---|
|
| 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. |
|
| La version du projet. Les valeurs disponibles sont 2 et 3-alpha, qui est la valeur par défaut. |
7.2.7. courir Copier lienLien copié sur presse-papiers!
La commande operator-sdk run fournit des options qui peuvent lancer l’opérateur dans divers environnements.
7.2.7.1. le paquet Copier lienLien copié sur presse-papiers!
La sous-commande de paquet d’exécution déploie un opérateur dans le format de paquet avec Operator Lifecycle Manager (OLM).
| Drapeau | Description |
|---|---|
| --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. |
|
| Installez le mode supporté par la version de service cluster (CSV) de l’opérateur, par exemple AllNamespaces ou SingleNamespace. |
|
| 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. |
|
| 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. |
- 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 Copier lienLien copié sur presse-papiers!
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).
| Drapeau | Description |
|---|---|
|
| 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. |
|
| 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. |
- 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 Copier lienLien copié sur presse-papiers!
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.
| Drapeau | Description |
|---|---|
| -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. |
|
| 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 <durée> | Des secondes pour attendre que les tests soient terminés, par exemple 35s. La valeur par défaut est 30s. |
- 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 ».
Chapitre 8. À PROPOS DE ROSA CLI Copier lienLien copié sur presse-papiers!
8.1. Débuter avec le ROSA CLI Copier lienLien copié sur presse-papiers!
8.1.1. À propos de la ROSA CLI Copier lienLien copié sur presse-papiers!
À l’aide du Red Hat OpenShift Service sur AWS (ROSA) interface de ligne de commande (CLI), la commande rosa, pour créer, mettre à jour, gérer et supprimer des clusters et des ressources ROSA.
8.1.2. Installation de la ROSA CLI Copier lienLien copié sur presse-papiers!
Installez et configurez le ROSA CLI (rosa) sur votre hôte d’installation.
Procédure
Installez et configurez les derniers CLI AWS (aws).
Suivez la documentation AWS Command Line Interface pour installer et configurer le CLI AWS pour votre système d’exploitation.
Indiquez aws_access_key_id, aws_secret_access_key et région dans le fichier .aws/credentials. Consultez les bases de configuration AWS dans la documentation AWS.
NoteEn option, vous pouvez utiliser la variable d’environnement AWS_DEFAULT_REGION pour définir la région AWS par défaut.
Interrogez l’API AWS pour vérifier si le CLI AWS est installé et configuré correctement:
$ aws sts get-caller-identity --output textExemple de sortie
<aws_account_id> arn:aws:iam::<aws_account_id>:user/<username> <aws_user_id>
- Consultez la dernière version de la ROSA CLI (rosa) pour votre système d’exploitation à partir de la page Téléchargements sur OpenShift Cluster Manager.
Extrayez le fichier binaire rosa de l’archive téléchargée. L’exemple suivant extrait le binaire d’une archive tar Linux:
$ tar xvf rosa-linux.tar.gzAjoutez rosa à votre chemin. Dans l’exemple suivant, le répertoire /usr/local/bin est inclus dans le chemin d’accès de l’utilisateur:
$ sudo mv rosa /usr/local/bin/rosaAssurez-vous que le ROSA CLI est correctement installé en interrogeant la version rosa:
$ rosa versionExemple de sortie
1.2.15 Your ROSA CLI is up to date.Facultatif: Activer la réalisation de l’onglet pour le ROSA CLI. Avec l’achèvement de l’onglet activé, vous pouvez appuyer deux fois sur la touche Tab pour compléter automatiquement les sous-commandes et recevoir des suggestions de commande:
Activer l’achèvement de l’onglet persistant pour Bash sur un hôte Linux:
Générez un fichier de configuration d’achèvement de l’onglet rosa pour Bash et enregistrez-le dans votre répertoire /etc/bash_completion.d/:
# rosa completion bash > /etc/bash_completion.d/rosa- Ouvrez un nouveau terminal pour activer la configuration.
Activer l’achèvement de l’onglet persistant pour Bash sur un hôte macOS:
Générez un fichier de configuration d’achèvement de l’onglet rosa pour Bash et enregistrez-le dans votre répertoire /usr/local/etc/bash_completion.d/:
$ rosa completion bash > /usr/local/etc/bash_completion.d/rosa- Ouvrez un nouveau terminal pour activer la configuration.
Afin de permettre l’achèvement de l’onglet persistant pour Zsh:
Lorsque l’achèvement de l’onglet n’est pas activé pour votre environnement Zsh, activez-le en exécutant la commande suivante:
$ echo "autoload -U compinit; compinit" >> ~/.zshrcGénérez un fichier de configuration d’achèvement de l’onglet rosa pour Zsh et enregistrez-le dans le premier répertoire de votre chemin d’accès:
$ rosa completion zsh > "${fpath[1]}/_rosa"- Ouvrez un nouveau terminal pour activer la configuration.
Afin de permettre l’achèvement persistant de l’onglet pour les poissons:
Générez un fichier de configuration d’achèvement de l’onglet rosa pour les poissons et enregistrez-le dans votre répertoire ~/.config/fish/completions/
$ rosa completion fish > ~/.config/fish/completions/rosa.fish- Ouvrez un nouveau terminal pour activer la configuration.
Activer l’achèvement de l’onglet persistant pour PowerShell:
Générez un fichier de configuration d’achèvement de l’onglet rosa pour PowerShell et enregistrez-le dans un fichier nommé rosa.ps1:
PS> rosa completion powershell | Out-String | Invoke-Expression- Sourcez le fichier rosa.ps1 à partir de votre profil PowerShell.
NoteConsultez le menu d’aide pour plus d’informations sur la configuration de l’onglet rosa en exécutant la commande rosa Complete --help.
8.1.3. Configuration du ROSA CLI Copier lienLien copié sur presse-papiers!
Les commandes suivantes permettent de configurer le service OpenShift Red Hat sur AWS (ROSA) CLI, rosa.
8.1.3.1. connexion Copier lienLien copié sur presse-papiers!
Connectez-vous à votre compte Red Hat, enregistrant les informations d’identification dans le fichier de configuration rosa. Lorsque vous vous connectez, vous devez fournir un jeton. Copiez votre jeton à partir de la page de jeton ROSA.
Le ROSA CLI (rosa) cherche un jeton dans l’ordre de priorité suivant:
- Arguments en ligne de commande
- La variable d’environnement ROSA_TOKEN
- Le fichier de configuration rosa
- Interactive à partir d’une invite de ligne de commande
Syntaxe
$ rosa login [arguments]
| L’option | Définition |
|---|---|
| --client-id | L’identifiant client OpenID (string). Défaut: Cloud-services |
| --client-secret | Le secret client OpenID (string). |
| --insécurité | Active la communication non sécurisée avec le serveur. Cette désactivation de la vérification des certificats TLS et des noms d’hôte. |
| --scope | La portée OpenID (chaîne). Dans le cas où cette option est utilisée, elle remplace les portées par défaut. Cela peut être répété plusieurs fois pour spécifier plusieurs portées. Défaut: openid |
| --jeton | Accède ou rafraîchit le jeton (corde). |
| --token-url | L’URL de jeton OpenID (string). Défaut: https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
8.1.3.2. logout Copier lienLien copié sur presse-papiers!
Déconnectez-vous de Rosa. La connexion supprime également le fichier de configuration rosa.
Syntaxe
$ rosa logout [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
8.1.3.3. contrôlez les autorisations Copier lienLien copié sur presse-papiers!
Assurez-vous que les autorisations AWS requises pour créer un cluster ROSA sont configurées correctement:
Syntaxe
$ rosa verify permissions [arguments]
Cette commande vérifie les autorisations uniquement pour les clusters qui n’utilisent pas le service AWS Security Token (STS).
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --région | La région AWS (chaîne) dans laquelle exécuter la commande. Cette valeur remplace la variable d’environnement AWS_REGION. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Assurez-vous que les autorisations AWS sont configurées correctement:
$ rosa verify permissions
Assurez-vous que les autorisations AWS sont configurées correctement dans une région spécifique:
$ rosa verify permissions --region=us-west-2
8.1.3.4. contrôle du quota Copier lienLien copié sur presse-papiers!
Il vérifie que les quotas AWS sont configurés correctement pour votre région par défaut.
Syntaxe
$ rosa verify quota [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --région | La région AWS (chaîne) dans laquelle exécuter la commande. Cette valeur remplace la variable d’environnement AWS_REGION. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Assurez-vous que les quotas AWS sont configurés correctement pour la région par défaut:
$ rosa verify quota
Assurez-vous que les quotas AWS sont configurés correctement dans une région spécifique:
$ rosa verify quota --region=us-west-2
8.1.3.5. à télécharger rosa Copier lienLien copié sur presse-papiers!
Cliquez ici pour télécharger la dernière version compatible de la rosa CLI.
Après avoir téléchargé rosa, extraire le contenu de l’archive et l’ajouter à votre chemin.
Syntaxe
$ rosa download rosa [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
8.1.3.6. des logiciels similaires à oc Copier lienLien copié sur presse-papiers!
Cliquez ici pour télécharger la dernière version compatible de OpenShift Container Platform CLI (oc).
Après avoir téléchargé oc, vous devez extraire le contenu de l’archive et l’ajouter à votre chemin.
Syntaxe
$ rosa download oc [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
Exemple :
Les outils client de oc:
$ rosa download oc
8.1.3.7. vérifier oc Copier lienLien copié sur presse-papiers!
Il vérifie que l’OpenShift Container Platform CLI (oc) est correctement installé.
Syntaxe
$ rosa verify oc [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
Exemple :
Vérifier les outils clients oc:
$ rosa verify oc
8.1.4. Initialisation de ROSA Copier lienLien copié sur presse-papiers!
La commande init permet d’initialiser Red Hat OpenShift Service sur AWS (ROSA) uniquement si vous utilisez des non-STS.
8.1.4.1. init Copier lienLien copié sur presse-papiers!
Effectuez une série de vérifications pour vérifier que vous êtes prêt à déployer un cluster ROSA.
La liste des vérifications comprend les éléments suivants:
- Contrôle pour voir que vous vous êtes connecté (voir login)
- Contrôle que vos identifiants AWS sont valides
- Contrôle de la validité de vos autorisations AWS (voir vérification des autorisations)
- Contrôle que vos niveaux de quotas AWS sont suffisamment élevés (voir vérifier le quota)
- Exécute une simulation de cluster pour s’assurer que la création de clusters fonctionnera comme prévu
- Contrôle que l’utilisateur osdCcsAdmin a été créé dans votre compte AWS
- Contrôle que l’outil de ligne de commande OpenShift Container Platform est disponible sur votre système
Syntaxe
$ rosa init [arguments]
| L’option | Définition |
|---|---|
| --région | La région AWS (chaîne) dans laquelle vérifier le quota et les autorisations. Cette valeur remplace la variable d’environnement AWS_REGION uniquement lors de l’exécution de la commande init, mais elle ne modifie pas votre configuration AWS CLI. |
| --supprimer | Supprime le modèle de pile qui est appliqué à votre compte AWS lors de la commande init. |
| --client-id | L’identifiant client OpenID (string). Défaut: Cloud-services |
| --client-secret | Le secret client OpenID (string). |
| --insécurité | Active la communication non sécurisée avec le serveur. Cette désactivation de la vérification des certificats TLS et des noms d’hôte. |
| --scope | La portée OpenID (chaîne). Dans le cas où cette option est utilisée, elle remplace complètement les portées par défaut. Cela peut être répété plusieurs fois pour spécifier plusieurs portées. Défaut: openid |
| --jeton | Accède ou rafraîchit le jeton (corde). |
| --token-url | L’URL de jeton OpenID (string). Défaut: https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Configurez votre compte AWS pour autoriser les clusters ROSA:
$ rosa init
Configurez un nouveau compte AWS à l’aide des identifiants OpenShift Cluster Manager préexistants:
$ rosa init --token=$OFFLINE_ACCESS_TOKEN
8.1.5. À l’aide d’un script Bash Copier lienLien copié sur presse-papiers!
Ceci est un exemple de flux de travail de la façon d’utiliser un script Bash avec le Red Hat OpenShift Service sur AWS (ROSA) CLI, rosa.
Conditions préalables
Assurez-vous que les identifiants AWS sont disponibles comme l’une des options suivantes:
- Le profil AWS
- Les variables d’environnement (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
Procédure
Initialisez rosa en utilisant un jeton hors ligne Red Hat OpenShift Cluster Manager de Red Hat:
$ rosa init --token=<token>Créer le cluster ROSA:
$ rosa create cluster --cluster-name=<cluster_name>Ajouter un fournisseur d’identité (IDP):
$ rosa create idp --cluster=<cluster_name> --type=<identity_provider> [arguments]Ajouter un utilisateur dédié-admin:
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
8.1.6. La mise à jour du ROSA CLI Copier lienLien copié sur presse-papiers!
La mise à jour de la dernière version compatible de la ROSA CLI (rosa).
Procédure
Confirmez qu’une nouvelle version de la ROSA CLI (rosa) est disponible:
$ rosa versionExemple de sortie
1.2.12 There is a newer release version '1.2.15', please consider updating: https://mirror.openshift.com/pub/openshift-v4/clients/rosa/latest/La dernière version compatible de la ROSA CLI:
$ rosa download rosaCette commande télécharge une archive appelée rosa-*.tar.gz dans le répertoire actuel. Le nom exact du fichier dépend de votre système d’exploitation et de l’architecture du système.
Extraire le contenu de l’archive:
$ tar -xzf rosa-linux.tar.gzInstallez la nouvelle version de la ROSA CLI en déplaçant le fichier extrait dans votre chemin. Dans l’exemple suivant, le répertoire /usr/local/bin est inclus dans le chemin d’accès de l’utilisateur:
$ sudo mv rosa /usr/local/bin/rosa
La vérification
Assurez-vous que la nouvelle version de ROSA est installée.
$ rosa versionExemple de sortie
1.2.15 Your ROSA CLI is up to date.
8.2. Gérer les objets avec le ROSA CLI Copier lienLien copié sur presse-papiers!
Gérer les objets avec Red Hat OpenShift Service sur AWS (ROSA) CLI, rosa, tels que l’ajout d’utilisateurs admin dédiés, la gestion de clusters et la planification des mises à niveau des clusters.
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 la rosa CLI de sorte que toute communication avec le cluster passe par le proxy HTTP.
8.2.1. Commandes et arguments communs Copier lienLien copié sur presse-papiers!
Ces commandes et arguments communs sont disponibles pour le Red Hat OpenShift Service sur AWS (ROSA) CLI, rosa.
8.2.1.1. débogage Copier lienLien copié sur presse-papiers!
Active le mode débogage pour la commande parent pour aider au dépannage.
Exemple :
$ rosa create cluster --cluster-name=<cluster_name> --debug
8.2.1.2. à télécharger Copier lienLien copié sur presse-papiers!
Télécharge la dernière version compatible du logiciel spécifié dans le répertoire actuel dans un fichier d’archives. Extrayez le contenu de l’archive et ajoutez le contenu à votre chemin d’utilisation pour utiliser le logiciel. Afin de télécharger la dernière ROSA CLI, spécifiez rosa. Afin de télécharger le dernier OpenShift CLI, spécifiez oc.
Exemple :
$ rosa download <software>
8.2.1.3. aide Copier lienLien copié sur presse-papiers!
Affiche les informations générales d’aide pour le ROSA CLI (rosa) et une liste de commandes disponibles. Cette option peut également être utilisée comme argument pour afficher des informations d’aide pour une commande parente, comme la version ou la création.
Exemples
Affiche l’aide générale pour le ROSA CLI.
$ rosa --help
Affiche l’aide générale pour la version.
$ rosa version --help
8.2.1.4. interactif Copier lienLien copié sur presse-papiers!
Active le mode interactif.
Exemple :
$ rosa create cluster --cluster-name=<cluster_name> --interactive
8.2.1.5. le profil Copier lienLien copié sur presse-papiers!
Indique un profil AWS à partir de votre fichier d’identification.
Exemple :
$ rosa create cluster --cluster-name=<cluster_name> --profile=myAWSprofile
8.2.1.6. la version Copier lienLien copié sur presse-papiers!
Affiche la version rosa et vérifie si une version plus récente est disponible.
Exemple :
$ rosa version [arguments]
Exemple de sortie
Affiché lorsqu’une version plus récente du ROSA CLI est disponible.
1.2.12
There is a newer release version '1.2.15', please consider updating: https://mirror.openshift.com/pub/openshift-v4/clients/rosa/latest/
8.2.2. Commandes parentes Copier lienLien copié sur presse-papiers!
Le Red Hat OpenShift Service sur AWS (ROSA) CLI, rosa, utilise des commandes parentales avec des commandes enfant pour gérer les objets. Les commandes parentes créent, modifient, suppriment, listent et décrivent. Les commandes parent ne peuvent pas toutes être utilisées avec toutes les commandes enfant. Consultez les sujets de référence spécifiques qui décrivent les commandes enfant.
8.2.2.1. créer Copier lienLien copié sur presse-papiers!
Crée un objet ou une ressource lorsqu’il est associé à une commande enfant.
Exemple :
$ rosa create cluster --cluster-name=mycluster
8.2.2.2. Editer Copier lienLien copié sur presse-papiers!
Edite des options pour un objet, comme rendre un cluster privé.
Exemple :
$ rosa edit cluster --cluster=mycluster --private
8.2.2.3. effacer Copier lienLien copié sur presse-papiers!
Supprime un objet ou une ressource lorsqu’il est associé à une commande enfant.
Exemple :
$ rosa delete ingress --cluster=mycluster
8.2.2.4. liste Copier lienLien copié sur presse-papiers!
Liste des clusters ou des ressources pour un cluster spécifique.
Exemple :
$ rosa list users --cluster=mycluster
8.2.2.5. décrire Copier lienLien copié sur presse-papiers!
Affiche les détails d’un cluster.
Exemple :
$ rosa describe cluster --cluster=mycluster
8.2.3. Créer des objets Copier lienLien copié sur presse-papiers!
Cette section décrit les commandes de création de clusters et de ressources.
8.2.3.1. créer des rôles de compte Copier lienLien copié sur presse-papiers!
Créez le rôle et les ressources stratégiques nécessaires à l’ensemble du compte pour votre cluster.
Syntaxe
$ rosa create account-roles [flags]
| L’option | Définition |
|---|---|
| --debug | Activer le mode débogage. |
| -I, --interactif | Activer le mode interactif. |
| -M, --mode chaîne | Comment effectuer l’opération. Les options valides sont:
|
| --chaîne de chemin | Le chemin Amazon Resource Name (ARN) pour les rôles et les politiques à l’échelle du compte, y compris les politiques d’opérateur. |
| --permissions-chaînes limitrophes | L’ARN de la stratégie utilisée pour définir la limite des autorisations pour les rôles de compte. |
| --chaîne de préfixe | Le préfixe défini par l’utilisateur pour toutes les ressources AWS générées. La valeur par défaut est ManagedOpenShift. |
| --fichier de chaîne | Utilisez un profil AWS spécifique à partir de votre fichier d’identification. |
| -y, --oui | Automatiquement répondre oui pour confirmer les opérations. |
8.2.3.2. créer un administrateur Copier lienLien copié sur presse-papiers!
Créez un administrateur de cluster avec un mot de passe généré automatiquement qui peut se connecter à un cluster.
Syntaxe
$ rosa create admin --cluster=<cluster_name>|<cluster_id>
| L’option | Définition |
|---|---|
| --cluster <cluster_name>|<cluster_id> | C’est nécessaire. Le nom ou l’ID (chaîne) du cluster à ajouter au fournisseur d’identité (IDP). |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --fichier de chaîne | Indique un profil AWS à partir de votre fichier d’identification. |
Exemple :
Créez un administrateur de cluster qui peut se connecter à un cluster nommé mycluster.
$ rosa create admin --cluster=mycluster
8.2.3.3. créer des informations d’identification en verre cassé Copier lienLien copié sur presse-papiers!
Créez un identifiant de verre de rupture pour un cluster de plan de contrôle hébergé avec authentification externe activée.
Syntaxe
$ rosa create break-glass-credential --cluster=<cluster_name> [arguments]
| L’option | Définition |
|---|---|
| --cluster <cluster_name>|<cluster_id> | C’est nécessaire. Le nom ou l’identifiant du cluster auquel sera ajouté l’identifiant de verre cassé. |
| -- périmés | Facultatif: Combien de temps un identifiant de verre de rupture peut être utilisé avant d’expirer. La durée d’expiration doit être d’un minimum de 10 minutes et d’un maximum de 24 heures. Dans le cas où vous n’enregistrez pas de valeur, la durée d’expiration par défaut est de 24 heures. |
| --nom d’utilisateur | En option. Le nom d’utilisateur de l’identifiant de verre cassé. Lorsque vous n’entrez pas une valeur, un nom d’utilisateur aléatoire est généré pour vous. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
| --région | Indique une région AWS, dépassant la variable d’environnement AWS_REGION. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
Exemples
Ajoutez un identifiant de verre cassé à un cluster nommé mycluster.
Syntaxe
$ rosa create break-glass-credential --cluster=mycluster
Ajoutez un identifiant de verre de rupture à un cluster nommé mycluster en utilisant le mode interactif.
Syntaxe
$ rosa create break-glass-credential --cluster=mycluster -i
8.2.3.4. créer un cluster Copier lienLien copié sur presse-papiers!
Créez un nouveau cluster.
Syntaxe
$ rosa create cluster --cluster-name=<cluster_name> [arguments]
| L’option | Définition |
|---|---|
| --addition-compute-sécurité-groupe-ids <sec_group_id> | L’identifiant d’un ou plusieurs groupes de sécurité supplémentaires à utiliser avec les groupes de sécurité par défaut qui sont utilisés avec le pool de machines standard créé à côté du cluster. Afin d’obtenir de plus amples renseignements sur d’autres groupes de sécurité, consultez les exigences relatives aux groupes de sécurité au titre des ressources supplémentaires. |
| --addition-infra-sécurité-groupe-id> <sec_group_id> | L’identifiant d’un ou plusieurs groupes de sécurité supplémentaires à utiliser avec les groupes de sécurité par défaut qui sont utilisés avec les nœuds infras créés à côté du cluster. Afin d’obtenir de plus amples renseignements sur d’autres groupes de sécurité, consultez les exigences relatives aux groupes de sécurité au titre des ressources supplémentaires. |
| --addition-contrôle-plan-sécurité-groupe-id> <sec_group_id> | L’identifiant d’un ou plusieurs groupes de sécurité supplémentaires à utiliser avec les groupes de sécurité par défaut qui sont utilisés avec les nœuds de plan de contrôle créés à côté du cluster. Afin d’obtenir de plus amples renseignements sur d’autres groupes de sécurité, consultez les exigences relatives aux groupes de sécurité au titre des ressources supplémentaires. |
| --supplément-permis-principaux <arn> | Liste séparée par virgule des ARN principaux supplémentaires autorisés à être ajoutés au service de point de terminaison VPC du plan de contrôle hébergé pour permettre l’acceptation automatique des demandes de connexion de point de terminaison VPC supplémentaires. |
| --cluster-name <cluster_name> | C’est nécessaire. Le nom du cluster. Lorsqu’il est utilisé avec la commande de cluster de création, cet argument est utilisé pour définir le nom du cluster et peut contenir jusqu’à 54 caractères. La valeur de cet argument doit être unique au sein de votre organisation. |
| --compute-machine-type <instance_type> | Le type d’instance pour calculer les nœuds dans le cluster. Cela détermine la quantité de mémoire et de vCPU qui est allouée à chaque nœud de calcul. Consultez les types d’instance AWS dans la définition de service ROSA pour plus d’informations sur les types d’instances valides. |
| --ControlPlane-iam-role <arn> | L’ARN du rôle de l’IAM à attacher aux instances de contrôle du plan. |
| --créer-cluster-admin | En option. Dans le cadre de la création de clusters, créez un utilisateur administrateur local (cluster-admin) pour votre cluster. Cela configure automatiquement un fournisseur d’identité htpasswd pour l’utilisateur cluster-admin. En option, utilisez les options --cluster-admin-user et --cluster-admin-password pour spécifier le nom d’utilisateur et le mot de passe pour l’utilisateur administrateur. L’omission de ces options génère automatiquement les informations d’identification et affiche leurs valeurs en tant que sortie terminale. |
| --cluster-admin-user | En option. Indique le nom d’utilisateur de l’utilisateur administrateur du cluster créé lorsqu’il est utilisé en conjonction avec l’option --create-cluster-admin. |
| --cluster-admin-password | En option. Indique le mot de passe de l’utilisateur administrateur du cluster créé lorsqu’il est utilisé conjointement avec l’option --create-cluster-admin. |
| --désable-scp-checks | Indique si les contrôles d’autorisation dans le cloud sont désactivés lors de la tentative d’installation d’un cluster. |
| --dry-run | Il simule la création du cluster. |
| --domaine-préfixe | Facultatif: Lorsqu’il est utilisé avec la commande de cluster de création, cet argument définit le sous-domaine de votre cluster sur *.openshiftapps.com. La valeur de cet argument doit être unique au sein de votre organisation, ne peut pas dépasser 15 caractères et ne peut pas être modifiée après la création de clusters. Lorsque l’argument n’est pas fourni, une valeur générée automatiquement est créée qui dépend de la longueur du nom du cluster. Lorsque le nom du cluster est inférieur ou égal à 15 caractères, ce nom est utilisé pour le préfixe de domaine. Lorsque le nom du cluster est supérieur à 15 caractères, le préfixe de domaine est généré au hasard sur une chaîne de 15 caractères. |
| --ec2-metadata-http-tokens chaîne | Configure l’utilisation d’IMDSv2 pour les instances EC2. Les valeurs valides sont facultatives (par défaut) ou requises. |
| --enable-autoscaling | Active la mise à l’échelle automatique des nœuds de calcul. La mise à l’échelle automatique par défaut est définie sur 2 nœuds. Afin de définir des limites de nœuds non par défaut, utilisez cet argument avec les arguments --min-replicas et --max-replicas. |
| --etcd-encryption | Active le cryptage des valeurs clés ETCD sur Red Hat OpenShift Service sur les clusters AWS (architecture classique). |
| --etcd-encryption-kms-arn | Active le cryptage du stockage ETCD à l’aide de la clé gérée par le client gérée dans AWS Key Management Service. |
| --external-id <arn_string> | Identificateur unique optionnel qui pourrait être requis lorsque vous assumez un rôle dans un autre compte. |
| --host-prefix <subnet> | La longueur de préfixe de sous-réseau à attribuer à chaque nœud individuel, en tant qu’entier. Ainsi, si le préfixe hôte est défini à 23, chaque nœud reçoit un sous-réseau /23 à partir du CIDR donné. |
| --machine-cidr <address_block> | Bloc d’adresses IP (ipNet) utilisé par ROSA lors de l’installation du cluster, par exemple 10.0.0.0/16. Important En interne, OVN-Kubernetes, le fournisseur de réseau par défaut dans ROSA 4.11 et ultérieure, utilise la plage d’adresses IP 100.64.0.0/16. Lorsque votre cluster utilise OVN-Kubernetes, n’incluez pas la plage d’adresses IP 100.64.0.0/16 dans les autres définitions CIDR de votre cluster. |
| --Max-replicas <number_of_nodes> | Indique le nombre maximal de nœuds de calcul lors de l’activation de l’autoscaling. Défaut: 2 |
| --min-replicas <number_of_nodes> | Indique le nombre minimum de nœuds de calcul lors de l’activation de l’autoscaling. Défaut: 2 |
| --multi-az | Déploiement dans plusieurs centres de données. |
| --no-cni | Crée un cluster sans plugin Container Network Interface (CNI). Les clients peuvent ensuite apporter leur propre plugin CNI et l’installer après la création de clusters. |
| --operator-roles-prefix <string> | Le préfixe qui est utilisé pour tous les rôles IAM utilisés par les opérateurs nécessaires dans l’installateur OpenShift. Le préfixe est généré automatiquement si vous n’en spécifiez pas un. |
| --pod-cidr <address_block> | Bloc d’adresses IP (ipNet) à partir duquel les adresses IP pod sont allouées, par exemple 10.128.0.0/14. Important En interne, OVN-Kubernetes, le fournisseur de réseau par défaut dans ROSA 4.11 et ultérieure, utilise la plage d’adresses IP 100.64.0.0/16. Lorsque votre cluster utilise OVN-Kubernetes, n’incluez pas la plage d’adresses IP 100.64.0.0/16 dans les autres définitions CIDR de votre cluster. |
| --privé | Limite le point de terminaison principal de l’API et les itinéraires d’application à une connectivité directe et privée. |
| --lien privé | Indique l’utilisation d’AWS PrivateLink pour fournir une connectivité privée entre les VPC et les services. L’argument --subnet-ids est requis lors de l’utilisation -- private-link. |
| --région <région_name> | Le nom de la région AWS où votre pool de travailleurs sera situé, par exemple, us-est-1. Cet argument remplace la variable d’environnement AWS_REGION. |
| --répliques n | Le nombre de nœuds de travailleurs à disposition par zone de disponibilité. Les clusters d’une seule zone nécessitent au moins 2 nœuds. Les clusters multizones nécessitent au moins 3 nœuds. Défaut: 2 pour les clusters à zone unique; 3 pour les clusters multi-zones. |
| --rolle-arn <arn> | L’ARN du rôle d’installateur utilisé par OpenShift Cluster Manager pour créer le cluster. Ceci est requis si vous n’avez pas déjà créé de rôles de compte. |
| --service-cidr <address_block> | Bloc d’adresses IP (ipNet) pour les services, par exemple 172.30.0.0/16. Important En interne, OVN-Kubernetes, le fournisseur de réseau par défaut dans ROSA 4.11 et ultérieure, utilise la plage d’adresses IP 100.64.0.0/16. Lorsque votre cluster utilise OVN-Kubernetes, n’incluez pas la plage d’adresses IP 100.64.0.0/16 dans les autres définitions CIDR de votre cluster. |
| --STS | --non-sts | Indique s’il faut utiliser AWS Security Token Service (STS) ou IAM (non-STS) pour déployer votre cluster. |
| --subnet-ids <aws_subnet_id> | Les ID de sous-réseau AWS qui sont utilisés lors de l’installation du cluster, par exemple, sous-net-01abc234d5678ef9a. Les ID de sous-réseau doivent être en paires avec un identifiant de sous-réseau privé et un identifiant de sous-réseau public par zone de disponibilité. Les sous-réseaux sont délimités par virgule, par exemple --subnet-ids=subnet-1,subnet-2. Laissez la valeur vide pour les ID de sous-réseau fournis par l’installateur. Lorsque vous utilisez -- private-link, l’argument --subnet-ids est requis et un seul sous-réseau privé est autorisé par zone. |
| --support-role-arn chaîne | L’ARN du rôle utilisé par Red Hat Site Reliability Engineers (SRE) pour permettre l’accès au compte cluster pour fournir un support. |
| --tags | Balises utilisées sur les ressources créées par Red Hat OpenShift Service sur AWS dans AWS. Les balises peuvent vous aider à gérer, identifier, organiser, rechercher et filtrer les ressources au sein d’AWS. Les étiquettes sont séparées par virgule, par exemple: "valeur clé, foo bar". Important Le service Red Hat OpenShift sur AWS ne prend en charge que les balises personnalisées des ressources Red Hat OpenShift lors de la création de clusters. Lorsqu’ils ont été ajoutés, les balises ne peuvent pas être supprimées ou modifiées. Les balises ajoutées par Red Hat sont nécessaires pour que les clusters restent en conformité avec les accords de niveau de production de Red Hat (SLA). Ces balises ne doivent pas être supprimées. Le service OpenShift Red Hat sur AWS ne prend pas en charge l’ajout de balises supplémentaires en dehors des ressources gérées par le cluster ROSA. Ces balises peuvent être perdues lorsque les ressources AWS sont gérées par le cluster ROSA. Dans ces cas, vous pourriez avoir besoin de solutions ou d’outils personnalisés pour réconcilier les balises et les garder intactes. |
| --version chaîne | La version de ROSA qui sera utilisée pour installer les ressources du cluster ou du cluster. Dans le cas d’un cluster, utilisez un format X.Y.Z, par exemple 4.18.0. Dans le cas du rôle de compte, utilisez un format X.Y, par exemple 4.18. |
| --worker-iam-role string | L’ARN du rôle IAM qui sera attaché aux instances de calcul. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Créez un cluster nommé mycluster.
$ rosa create cluster --cluster-name=mycluster
Créez un cluster avec une région AWS spécifique.
$ rosa create cluster --cluster-name=mycluster --region=us-east-2
Créez un cluster avec autoscaling activé sur le pool de machines de travail par défaut.
$ rosa create cluster --cluster-name=mycluster -region=us-east-1 --enable-autoscaling --min-replicas=2 --max-replicas=5
8.2.3.5. créer un fournisseur externe Copier lienLien copié sur presse-papiers!
Ajoutez un fournisseur d’identité externe au lieu du serveur OpenShift OAuth2.
Il est possible d’utiliser uniquement des fournisseurs d’authentification externes sur ROSA avec des clusters HCP.
Syntaxe
$ rosa create external-auth-provider --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --claim-mapping-groups-claim <string> | C’est nécessaire. Décrit les règles sur la façon de transformer les informations d’un jeton ID en une identité de cluster. |
| --claim-validation-règle <strings> | Des règles qui sont appliquées pour valider les revendications de jetons pour authentifier les utilisateurs. L’entrée sera dans un format <claim>:<required_value>. Afin d’avoir plusieurs règles de validation des revendications, vous pouvez séparer les valeurs par ,. À titre d’exemple, <claim>:<required_value>,<claim>:<required_value>. |
| --claim-mapping-username-claim <string> | Le nom de la revendication qui devrait être utilisé pour construire des noms d’utilisateur pour l’identité du cluster. |
| --cluster <cluster_name>|<cluster_id> | C’est nécessaire. Le nom ou l’ID du cluster auquel le PDI sera ajouté. |
| --console-client-id <string> | L’identifiant du client OIDC du fournisseur OIDC pour la console Web OpenShift Cluster Manager. |
| --console-client-secret <string> | Le secret associé à l’enregistrement de l’application console. |
| --Émetteur-audiences <strings> | Divers publics pour vérifier les jetons entrants contre. Les jetons valides doivent inclure au moins une de ces valeurs dans leur revendication d’audience. |
| --Émetteur-ca-file <string> | Le chemin d’accès au fichier de certificat encodé PEM à utiliser lors de la demande au serveur. |
| --émetteur-url <string> | L’URL de service de l’émetteur de jetons. |
| --nom <string> | Le nom utilisé pour désigner le fournisseur d’authentification externe. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique une chaîne de profil AWS à partir de votre fichier d’identification. |
Exemples
Ajoutez un fournisseur d’identité Microsoft Entra ID à un cluster nommé mycluster.
$ rosa create external-auth-provider --cluster=mycluster --name <provider_name> --issuer-audiences <audience_id> --issuer-url <issuing id> --claim-mapping-username-claim email --claim-mapping-groups-claim groups
8.2.3.6. créer idp Copier lienLien copié sur presse-papiers!
Ajoutez un fournisseur d’identité (IDP) pour définir comment les utilisateurs se connectent à un cluster.
Syntaxe
$ rosa create idp --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster <cluster_name>|<cluster_id> | C’est nécessaire. Le nom ou l’ID du cluster auquel le PDI sera ajouté. |
| --ca <path_to_file> | Le chemin d’accès au fichier de certificat encodé PEM à utiliser lors de l’envoi de requêtes au serveur, par exemple, /usr/share/cert.pem. |
| --client-id | L’ID client (chaîne) de l’application enregistrée. |
| --client-secret | Le secret client (chaîne) de la demande enregistrée. |
| --mapping-méthod | Indique comment les nouvelles identités (chaînes) sont cartographiées aux utilisateurs lorsqu’ils se connectent. Défaut: réclamation |
| --nom | Le nom (chaîne) du fournisseur d’identité. |
| --type | Le type (chaîne) du fournisseur d’identité. Les options: github, gitlab, google, ldap, openid |
| L’option | Définition |
|---|---|
| --nom d’hôte | Le domaine optionnel (chaîne) utilisé avec une instance hébergée de GitHub Enterprise. |
| --organisation | Indique les organisations pour l’accès à la connexion. Les utilisateurs qui sont membres d’au moins une des organisations listées (chaîne) sont seuls autorisés à se connecter. |
| --équipes | Indique les équipes pour l’accès à la connexion. Les utilisateurs qui sont membres d’au moins une des équipes listées (chaîne) sont seuls autorisés à se connecter. Le format est <org>/<équipe>. |
| L’option | Définition |
|---|---|
| --host-url | L’URL hôte (chaîne) d’un fournisseur GitLab. Défaut: https://gitlab.com |
| L’option | Définition |
|---|---|
| --domaine hébergé | Limite les utilisateurs à un domaine Google Apps (chaîne). |
| L’option | Définition |
|---|---|
| --bind-dn | Le nom de domaine (chaîne) à lier pendant la phase de recherche. |
| --bind-password | Le mot de passe (chaîne) à lier pendant la phase de recherche. |
| --email-attributs | La liste (chaîne) des attributs dont les valeurs doivent être utilisées comme adresse e-mail. |
| --ID-attributs | La liste (chaîne) des attributs dont les valeurs doivent être utilisées comme ID utilisateur. Défaut: dn |
| --insécurité | Il ne fait pas de connexions TLS au serveur. |
| --nom-attributs | La liste (chaîne) des attributs dont les valeurs doivent être utilisées comme nom d’affichage. Défaut: cn |
| --URL | La RFC 2255 URL (chaîne) qui spécifie les paramètres de recherche LDAP qui sont utilisés. |
| --nom d’utilisateur-attributs | La liste (chaîne) des attributs dont les valeurs doivent être utilisées comme nom d’utilisateur préféré. Défaut: uid |
| L’option | Définition |
|---|---|
| --email-claims | La liste (chaîne) des revendications qui sont utilisées comme adresse e-mail. |
| --extra-scopes | La liste (chaîne) des portées à demander, en plus de la portée openid, lors de la demande de jeton d’autorisation. |
| --émetteur-url | L’URL (chaîne) que le fournisseur OpenID affirme comme l’identifiant de l’émetteur. Il doit utiliser le schéma HTTPS sans paramètres de requête d’URL ou fragment. |
| --nom-revendications | La liste (chaîne) des revendications qui sont utilisées comme nom d’affichage. |
| --nom d’utilisateur-claims | La liste (chaîne) des revendications qui sont utilisées comme nom d’utilisateur préféré lors du provisionnement d’un utilisateur. |
| --groupes-revendications | La liste (chaîne) des revendications qui sont utilisées comme noms de groupes. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Ajoutez un fournisseur d’identité GitHub à un cluster nommé mycluster.
$ rosa create idp --type=github --cluster=mycluster
Ajoutez un fournisseur d’identité à la suite d’invites interactives.
$ rosa create idp --cluster=mycluster --interactive
8.2.3.7. créer une entrée Copier lienLien copié sur presse-papiers!
Ajoutez un point de terminaison d’entrée pour activer l’accès à l’API au cluster.
Syntaxe
$ rosa create ingress --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster <cluster_name>|<cluster_id> | Le nom ou l’identifiant du cluster auquel l’entrée sera ajoutée. |
| --label-match | Le label match (corde) pour ingress. Le format doit être une liste délimitée par virgule de paires key=valeur. En l’absence d’étiquette, tous les itinéraires sont exposés sur les deux routeurs. |
| --privé | Limite l’itinéraire de l’application à la connectivité directe et privée. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Ajoutez une entrée interne à un cluster nommé mycluster.
$ rosa create ingress --private --cluster=mycluster
Ajoutez une entrée publique à un cluster nommé mycluster.
$ rosa create ingress --cluster=mycluster
Ajoutez une entrée avec un sélecteur d’itinéraire correspondant à l’étiquette.
$ rosa create ingress --cluster=mycluster --label-match=foo=bar,bar=baz
8.2.3.8. créer kubeletconfig Copier lienLien copié sur presse-papiers!
Créer un objet KubeletConfig personnalisé pour permettre la configuration personnalisée des nœuds dans un
Syntaxe
$ rosa create kubeletconfig --cluster=<cluster_name|cluster_id> --name=<kubeletconfig_name> --pod-pids-limit=<number> [flags]
| L’option | Définition |
|---|---|
| --pod-pids-limit <numéro> | C’est nécessaire. Le nombre maximal de PID pour chaque nœud dans le |
| -C, --cluster <cluster_name>|<cluster_id> | C’est nécessaire. Le nom ou l’ID du cluster dans lequel créer l’objet KubeletConfig. |
| --nom | Indique un nom pour l’objet KubeletConfig. |
| -I, --interactif | Activer le mode interactif. |
| -h, --aide | Affiche l’aide pour cette commande. |
Afin d’obtenir de plus amples informations sur la définition de la limite PID pour le cluster, consultez Configuring PID limites.
8.2.3.9. créer machinepool Copier lienLien copié sur presse-papiers!
Ajoutez un pool de machines à un cluster existant.
Syntaxe
$ rosa create machinepool --cluster=<cluster_name> | <cluster_id> --replicas=<number> --name=<machinepool_name> [arguments]
| L’option | Définition |
|---|---|
| --addition-sécurité-groupe-ID <sec_group_id> | L’identifiant d’un ou plusieurs groupes de sécurité supplémentaires à utiliser avec les groupes de sécurité par défaut pour ce pool de machines. Afin d’obtenir de plus amples renseignements sur d’autres groupes de sécurité, consultez les exigences relatives aux groupes de sécurité au titre des ressources supplémentaires. |
| --cluster <cluster_name>|<cluster_id> | Requis : le nom ou l’identifiant du cluster auquel le pool de machines sera ajouté. |
| --taille de disque | Définissez la taille du volume du disque pour le pool de machines, dans Gib ou TiB. La valeur par défaut est 300 GiB. Dans le cas des clusters ROSA (architecture classique) version 4.13 ou antérieures, la taille minimale du disque est de 128 GiB, et le maximum est de 1 TiB. En cluster version 4.14 et ultérieure, le minimum est 128 GiB, et le maximum est 16 TiB. Dans le cas de ROSA avec des clusters HCP, la taille minimale du disque est de 75 GiB, et le maximum est de 16 384 GiB. |
| --enable-autoscaling | Activer ou désactiver la mise à l’échelle automatique des nœuds de calcul. Afin d’activer l’autoscaling, utilisez cet argument avec les arguments --min-replicas et --max-replicas. Afin de désactiver l’autoscaling, utilisez --enable-autoscaling=false avec l’argument --replicas. |
| --instance-type | Le type d’instance (chaîne) qui doit être utilisé. Défaut: m5.xlarge |
| --kubelet-configs <kubeletconfig_name> | Dans le cas de Red Hat OpenShift Service sur AWS (ROSA) avec des clusters de plans de contrôle hébergés (HCP), les noms des objets KubeletConfig s’appliquent aux nœuds d’un pool de machines. |
| --étiquettes | Les étiquettes (chaîne) pour la piscine de machines. Le format doit être une liste délimitée par virgule de paires key=valeur. Cette liste écrase les modifications apportées aux étiquettes des nœuds sur une base continue. |
| --max-replicas | Indique le nombre maximal de nœuds de calcul lors de l’activation de l’autoscaling. |
| --min-replicas | Indique le nombre minimum de nœuds de calcul lors de l’activation de l’autoscaling. |
| --Max-surge | Dans le cas de Red Hat OpenShift Service sur AWS (ROSA) avec des clusters de plans de contrôle hébergés (HCP), le paramètre max-surge définit le nombre de nouveaux nœuds qui peuvent être fournis au-delà du nombre souhaité de répliques pour le pool de machines, comme configuré à l’aide du paramètre --replicas, ou tel que déterminé par l’autoscaler lorsque l’autoscaling est activé. Cela peut être un nombre absolu (par exemple, 2) ou un pourcentage de la taille du pool de la machine (par exemple, 20%), mais doit utiliser la même unité que le paramètre max-indisponible. La valeur par défaut est 1, ce qui signifie que le nombre maximum de nœuds dans le pool de machines lors d’une mise à niveau est de 1 plus le nombre de répliques souhaitée pour le pool de machines. Dans cette situation, un nœud excédentaire peut être fourni avant que les nœuds existants ne soient rendus indisponibles. Le nombre de nœuds qui peuvent être fournis simultanément lors d’une mise à niveau est max-surge plus max-indisponible. |
| --Max-indisponible | Dans le cas de Red Hat OpenShift Service sur AWS (ROSA) avec des clusters de plans de contrôle hébergés (HCP), le paramètre max-indisponible définit le nombre de nœuds qui peuvent être rendus indisponibles dans un pool de machines lors d’une mise à niveau, avant que de nouveaux nœuds ne soient fournis. Cela peut être un nombre absolu (par exemple, 2) ou un pourcentage du nombre de répliques actuelles dans le pool de machines (par exemple, 20%), mais doit utiliser la même unité que le paramètre max-surge. La valeur par défaut est 0, ce qui signifie qu’aucun nœud obsolète n’est supprimé avant que de nouveaux nœuds ne soient provisionnés. La plage valide pour cette valeur est de 0 à la taille actuelle de la machine, ou de 0% à 100%. Le nombre total de nœuds qui peuvent être mis à niveau simultanément lors d’une mise à niveau est max-surge plus max-indisponible. |
| --nom | Requis: Le nom (chaîne) pour la piscine de la machine. |
| --répliques | Lorsque l’autoscaling n’est pas configuré. Le nombre (integer) de machines pour ce pool de machines. |
| --tags | Appliquez des balises définies par l’utilisateur à toutes les ressources créées par ROSA dans AWS. Les étiquettes sont séparées par des virgules, par exemple: 'valeur clé, foo bar'. |
| --tains | Des taintes pour la piscine de machines. Cette valeur de chaîne doit être formatée sous la forme d’une liste séparée par virgule de key=value:ScheduleType. Cette liste écrasera les modifications apportées aux taches de nœud sur une base continue. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Ajoutez de manière interactive un pool de machines à un cluster nommé mycluster.
$ rosa create machinepool --cluster=mycluster --interactive
Ajoutez un pool de machines nommé mp-1 à un cluster avec autoscaling activé.
$ rosa create machinepool --cluster=mycluster --enable-autoscaling --min-replicas=2 --max-replicas=5 --name=mp-1
Ajoutez un pool de machines nommé mp-1 avec 3 répliques de m5.xlarge à un cluster.
$ rosa create machinepool --cluster=mycluster --replicas=3 --instance-type=m5.xlarge --name=mp-1
Ajoutez un pool de machines (mp-1) à un Red Hat OpenShift Service sur AWS (ROSA) avec cluster de plans de contrôle hébergés (HCP), configurant 6 répliques et le comportement de mise à niveau suivant:
- Autoriser jusqu’à 2 nœuds excédentaires à provisionner lors d’une mise à niveau.
- Assurez-vous qu’au plus 3 nœuds ne sont pas disponibles lors d’une mise à niveau.
$ rosa create machinepool --cluster=mycluster --replicas=6 --name=mp-1 --max-surge=2 --max-unavailable=3
Ajoutez un pool de machines avec des étiquettes à un cluster.
$ rosa create machinepool --cluster=mycluster --replicas=2 --instance-type=r5.2xlarge --labels=foo=bar,bar=baz --name=mp-1
Ajoutez un pool de machines avec des étiquettes à un cluster.
$ rosa create machinepool --cluster=mycluster --replicas=2 --instance-type=r5.2xlarge --tags='foo bar,bar baz' --name=mp-1
8.2.3.10. créer un réseau Copier lienLien copié sur presse-papiers!
Créez un réseau qui crée toutes les ressources AWS nécessaires à l’aide de modèles AWS CloudFormation. Cette commande d’aide est destinée à aider à créer et à configurer un VPC pour une utilisation avec ROSA avec HCP. Cette commande prend également en charge les clusters de sortie zéro.
L’exécution de cette commande crée des ressources dans votre compte AWS.
Dans le cas des configurations personnalisées ou avancées, il est fortement recommandé d’utiliser le CLI AWS directement à l’aide de la commande aws Cloudformation ou de créer un nouveau modèle personnalisé avec les configurations requises. Lorsque vous utilisez un modèle CloudFormation personnalisé avec le ROSA CLI, la version minimale requise est 1.2.47 ou ultérieure.
Syntaxe
$ rosa create network [flags]
| L’option | Définition |
|---|---|
| <template-nom> | Il vous permet d’utiliser un modèle personnalisé. Les modèles doivent être dans le dossier de modèles, structurés comme templates/<template-name>/cloudformation.yaml. En l’absence de nom de modèle, la commande utilise le modèle par défaut. Dans le cas des builds binaires, ce répertoire de modèles doit être référencé manuellement après son téléchargement. |
Le modèle par défaut de CloudFormation
AWSTemplateFormatVersion: '2010-09-09'
Description: CloudFormation template to create a ROSA Quickstart default VPC.
This CloudFormation template may not work with rosa CLI versions later than 1.2.47.
Please ensure that you are using the compatible CLI version before deploying this template.
Parameters:
AvailabilityZoneCount:
Type: Number
Description: "Number of Availability Zones to use"
Default: 1
MinValue: 1
MaxValue: 3
Region:
Type: String
Description: "AWS Region"
Default: "us-west-2"
Name:
Type: String
Description: "Name prefix for resources"
VpcCidr:
Type: String
Description: CIDR block for the VPC
Default: '10.0.0.0/16'
Conditions:
HasAZ1: !Equals [!Ref AvailabilityZoneCount, 1]
HasAZ2: !Equals [!Ref AvailabilityZoneCount, 2]
HasAZ3: !Equals [!Ref AvailabilityZoneCount, 3]
One:
Fn::Or:
- Condition: HasAZ1
- Condition: HasAZ2
- Condition: HasAZ3
Two:
Fn::Or:
- Condition: HasAZ3
- Condition: HasAZ2
Resources:
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: !Ref VpcCidr
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: !Ref Name
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
S3VPCEndpoint:
Type: AWS::EC2::VPCEndpoint
Properties:
VpcId: !Ref VPC
ServiceName: !Sub "com.amazonaws.${Region}.s3"
VpcEndpointType: Gateway
RouteTableIds:
- !Ref PublicRouteTable
- !Ref PrivateRouteTable
SubnetPublic1:
Condition: One
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: !Select [0, !Cidr [!Ref VpcCidr, 6, 8]]
AvailabilityZone: !Select [0, !GetAZs '']
MapPublicIpOnLaunch: true
Tags:
- Key: Name
Value: !Sub "${Name}-Public-Subnet-1"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
- Key: 'kubernetes.io/role/elb'
Value: '1'
SubnetPrivate1:
Condition: One
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: !Select [1, !Cidr [!Ref VpcCidr, 6, 8]]
AvailabilityZone: !Select [0, !GetAZs '']
MapPublicIpOnLaunch: false
Tags:
- Key: Name
Value: !Sub "${Name}-Private-Subnet-1"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
- Key: 'kubernetes.io/role/internal-elb'
Value: '1'
SubnetPublic2:
Condition: Two
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: !Select [2, !Cidr [!Ref VpcCidr, 6, 8]]
AvailabilityZone: !Select [1, !GetAZs '']
MapPublicIpOnLaunch: true
Tags:
- Key: Name
Value: !Sub "${Name}-Public-Subnet-2"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
- Key: 'kubernetes.io/role/elb'
Value: '1'
SubnetPrivate2:
Condition: Two
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: !Select [3, !Cidr [!Ref VpcCidr, 6, 8]]
AvailabilityZone: !Select [1, !GetAZs '']
MapPublicIpOnLaunch: false
Tags:
- Key: Name
Value: !Sub "${Name}-Private-Subnet-2"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
- Key: 'kubernetes.io/role/internal-elb'
Value: '1'
SubnetPublic3:
Condition: HasAZ3
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: !Select [4, !Cidr [!Ref VpcCidr, 6, 8]]
AvailabilityZone: !Select [2, !GetAZs '']
MapPublicIpOnLaunch: true
Tags:
- Key: Name
Value: !Sub "${Name}-Public-Subnet-3"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
- Key: 'kubernetes.io/role/elb'
Value: '1'
SubnetPrivate3:
Condition: HasAZ3
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: !Select [5, !Cidr [!Ref VpcCidr, 6, 8]]
AvailabilityZone: !Select [2, !GetAZs '']
MapPublicIpOnLaunch: false
Tags:
- Key: Name
Value: !Sub "${Name}-Private-Subnet-3"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
- Key: 'kubernetes.io/role/internal-elb'
Value: '1'
InternetGateway:
Type: AWS::EC2::InternetGateway
Properties:
Tags:
- Key: Name
Value: !Ref Name
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
AttachGateway:
Type: AWS::EC2::VPCGatewayAttachment
Properties:
VpcId: !Ref VPC
InternetGatewayId: !Ref InternetGateway
ElasticIP1:
Type: AWS::EC2::EIP
Properties:
Domain: vpc
Tags:
- Key: Name
Value: !Ref Name
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
ElasticIP2:
Type: AWS::EC2::EIP
Properties:
Domain: vpc
Tags:
- Key: Name
Value: !Ref Name
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
ElasticIP3:
Condition: HasAZ3
Type: AWS::EC2::EIP
Properties:
Domain: vpc
Tags:
- Key: Name
Value: !Ref Name
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
NATGateway1:
Condition: One
Type: 'AWS::EC2::NatGateway'
Properties:
AllocationId: !GetAtt ElasticIP1.AllocationId
SubnetId: !Ref SubnetPublic1
Tags:
- Key: Name
Value: !Sub "${Name}-NAT-1"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
NATGateway2:
Condition: Two
Type: 'AWS::EC2::NatGateway'
Properties:
AllocationId: !GetAtt ElasticIP2.AllocationId
SubnetId: !Ref SubnetPublic2
Tags:
- Key: Name
Value: !Sub "${Name}-NAT-2"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
NATGateway3:
Condition: HasAZ3
Type: 'AWS::EC2::NatGateway'
Properties:
AllocationId: !GetAtt ElasticIP3.AllocationId
SubnetId: !Ref SubnetPublic3
Tags:
- Key: Name
Value: !Sub "${Name}-NAT-3"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
PublicRouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref VPC
Tags:
- Key: Name
Value: !Ref Name
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
PublicRoute:
Type: AWS::EC2::Route
DependsOn: AttachGateway
Properties:
RouteTableId: !Ref PublicRouteTable
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref InternetGateway
PrivateRouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref VPC
Tags:
- Key: Name
Value: !Sub "${Name}-Private-Route-Table"
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
- Key: 'service'
Value: 'ROSA'
PrivateRoute:
Type: AWS::EC2::Route
Properties:
RouteTableId: !Ref PrivateRouteTable
DestinationCidrBlock: 0.0.0.0/0
NatGatewayId: !If
- One
- !Ref NATGateway1
- !If
- Two
- !Ref NATGateway2
- !If
- HasAZ3
- !Ref NATGateway3
- !Ref "AWS::NoValue"
PublicSubnetRouteTableAssociation1:
Condition: One
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref SubnetPublic1
RouteTableId: !Ref PublicRouteTable
PublicSubnetRouteTableAssociation2:
Condition: Two
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref SubnetPublic2
RouteTableId: !Ref PublicRouteTable
PublicSubnetRouteTableAssociation3:
Condition: HasAZ3
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref SubnetPublic3
RouteTableId: !Ref PublicRouteTable
PrivateSubnetRouteTableAssociation1:
Condition: One
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref SubnetPrivate1
RouteTableId: !Ref PrivateRouteTable
PrivateSubnetRouteTableAssociation2:
Condition: Two
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref SubnetPrivate2
RouteTableId: !Ref PrivateRouteTable
PrivateSubnetRouteTableAssociation3:
Condition: HasAZ3
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref SubnetPrivate3
RouteTableId: !Ref PrivateRouteTable
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: "Authorize inbound VPC traffic"
VpcId: !Ref VPC
SecurityGroupIngress:
- IpProtocol: -1
FromPort: 0
ToPort: 0
CidrIp: "10.0.0.0/16"
SecurityGroupEgress:
- IpProtocol: -1
FromPort: 0
ToPort: 0
CidrIp: 0.0.0.0/0
Tags:
- Key: Name
Value: !Ref Name
- Key: 'service'
Value: 'ROSA'
- Key: 'rosa_managed_policies'
Value: 'true'
- Key: 'rosa_hcp_policies'
Value: 'true'
EC2VPCEndpoint:
Type: AWS::EC2::VPCEndpoint
Properties:
VpcId: !Ref VPC
ServiceName: !Sub "com.amazonaws.${Region}.ec2"
PrivateDnsEnabled: true
VpcEndpointType: Interface
SubnetIds:
- !If [One, !Ref SubnetPrivate1, !Ref "AWS::NoValue"]
- !If [Two, !Ref SubnetPrivate2, !Ref "AWS::NoValue"]
- !If [HasAZ3, !Ref SubnetPrivate3, !Ref "AWS::NoValue"]
SecurityGroupIds:
- !Ref SecurityGroup
KMSVPCEndpoint:
Type: AWS::EC2::VPCEndpoint
Properties:
VpcId: !Ref VPC
ServiceName: !Sub "com.amazonaws.${Region}.kms"
PrivateDnsEnabled: true
VpcEndpointType: Interface
SubnetIds:
- !If [One, !Ref SubnetPrivate1, !Ref "AWS::NoValue"]
- !If [Two, !Ref SubnetPrivate2, !Ref "AWS::NoValue"]
- !If [HasAZ3, !Ref SubnetPrivate3, !Ref "AWS::NoValue"]
SecurityGroupIds:
- !Ref SecurityGroup
STSVPCEndpoint:
Type: AWS::EC2::VPCEndpoint
Properties:
VpcId: !Ref VPC
ServiceName: !Sub "com.amazonaws.${Region}.sts"
PrivateDnsEnabled: true
VpcEndpointType: Interface
SubnetIds:
- !If [One, !Ref SubnetPrivate1, !Ref "AWS::NoValue"]
- !If [Two, !Ref SubnetPrivate2, !Ref "AWS::NoValue"]
- !If [HasAZ3, !Ref SubnetPrivate3, !Ref "AWS::NoValue"]
SecurityGroupIds:
- !Ref SecurityGroup
EcrApiVPCEndpoint:
Type: AWS::EC2::VPCEndpoint
Properties:
VpcId: !Ref VPC
ServiceName: !Sub "com.amazonaws.${Region}.ecr.api"
PrivateDnsEnabled: true
VpcEndpointType: Interface
SubnetIds:
- !If [One, !Ref SubnetPrivate1, !Ref "AWS::NoValue"]
- !If [Two, !Ref SubnetPrivate2, !Ref "AWS::NoValue"]
- !If [HasAZ3, !Ref SubnetPrivate3, !Ref "AWS::NoValue"]
SecurityGroupIds:
- !Ref SecurityGroup
EcrDkrVPCEndpoint:
Type: AWS::EC2::VPCEndpoint
Properties:
VpcId: !Ref VPC
ServiceName: !Sub "com.amazonaws.${Region}.ecr.dkr"
PrivateDnsEnabled: true
VpcEndpointType: Interface
SubnetIds:
- !If [One, !Ref SubnetPrivate1, !Ref "AWS::NoValue"]
- !If [Two, !Ref SubnetPrivate2, !Ref "AWS::NoValue"]
- !If [HasAZ3, !Ref SubnetPrivate3, !Ref "AWS::NoValue"]
SecurityGroupIds:
- !Ref SecurityGroup
Outputs:
VPCId:
Description: "VPC Id"
Value: !Ref VPC
Export:
Name: !Sub "${Name}-VPCId"
VPCEndpointId:
Description: The ID of the VPC Endpoint
Value: !Ref S3VPCEndpoint
Export:
Name: !Sub "${Name}-VPCEndpointId"
PublicSubnets:
Description: "Public Subnet Ids"
Value: !Join [",", [!If [One, !Ref SubnetPublic1, !Ref "AWS::NoValue"], !If [Two, !Ref SubnetPublic2, !Ref "AWS::NoValue"], !If [HasAZ3, !Ref SubnetPublic3, !Ref "AWS::NoValue"]]]
Export:
Name: !Sub "${Name}-PublicSubnets"
PrivateSubnets:
Description: "Private Subnet Ids"
Value: !Join [",", [!If [One, !Ref SubnetPrivate1, !Ref "AWS::NoValue"], !If [Two, !Ref SubnetPrivate2, !Ref "AWS::NoValue"], !If [HasAZ3, !Ref SubnetPrivate3, !Ref "AWS::NoValue"]]]
Export:
Name: !Sub "${Name}-PrivateSubnets"
EIP1AllocationId:
Description: Allocation ID for ElasticIP1
Value: !GetAtt ElasticIP1.AllocationId
Export:
Name: !Sub "${Name}-EIP1-AllocationId"
EIP2AllocationId:
Description: Allocation ID for ElasticIP2
Value: !GetAtt ElasticIP2.AllocationId
Export:
Name: !Sub "${Name}-EIP2-AllocationId"
EIP3AllocationId:
Condition: HasAZ3
Description: Allocation ID for ElasticIP3
Value: !GetAtt ElasticIP3.AllocationId
Export:
Name: !Sub "${Name}-EIP3-AllocationId"
NatGatewayId:
Description: The NAT Gateway IDs
Value: !Join [",", [!If [One, !Ref NATGateway1, !Ref "AWS::NoValue"], !If [Two, !Ref NATGateway2, !Ref "AWS::NoValue"], !If [HasAZ3, !Ref NATGateway3, !Ref "AWS::NoValue"]]]
Export:
Name: !Sub "${Name}-NatGatewayId"
InternetGatewayId:
Description: The ID of the Internet Gateway
Value: !Ref InternetGateway
Export:
Name: !Sub "${Name}-InternetGatewayId"
PublicRouteTableId:
Description: The ID of the public route table
Value: !Ref PublicRouteTable
Export:
Name: !Sub "${Name}-PublicRouteTableId"
PrivateRouteTableId:
Description: The ID of the private route table
Value: !Ref PrivateRouteTable
Export:
Name: !Sub "${Name}-PrivateRouteTableId"
EC2VPCEndpointId:
Description: The ID of the EC2 VPC Endpoint
Value: !Ref EC2VPCEndpoint
Export:
Name: !Sub "${Name}-EC2VPCEndpointId"
KMSVPCEndpointId:
Description: The ID of the KMS VPC Endpoint
Value: !Ref KMSVPCEndpoint
Export:
Name: !Sub "${Name}-KMSVPCEndpointId"
STSVPCEndpointId:
Description: The ID of the STS VPC Endpoint
Value: !Ref STSVPCEndpoint
Export:
Name: !Sub "${Name}-STSVPCEndpointId"
EcrApiVPCEndpointId:
Description: The ID of the ECR API VPC Endpoint
Value: !Ref EcrApiVPCEndpoint
Export:
Name: !Sub "${Name}-EcrApiVPCEndpointId"
EcrDkrVPCEndpointId:
Description: The ID of the ECR DKR VPC Endpoint
Value: !Ref EcrDkrVPCEndpoint
Export:
Name: !Sub "${Name}-EcrDkrVPCEndpointId"
| L’option | Définition |
|---|---|
| --template-dir | Il vous permet de spécifier le chemin d’accès au répertoire de modèles. Remplace la variable d’environnement OCM_TEMPLATE_DIR. Requis si la commande n’est pas exécutée à l’intérieur du répertoire de modèles. |
| --nom de Paraam | Définissez le nom de votre réseau. Le paramètre requis lors de l’utilisation d’un fichier modèle personnalisé. |
| --région de Paraam | Définissez la région de votre réseau. Le paramètre requis lors de l’utilisation d’un fichier modèle personnalisé. |
| --Param <various> | Les paramètres disponibles dépendent du modèle. Dans le répertoire de modèles, utilisez --help pour trouver les paramètres disponibles. |
| --mode=manuel | Fournit des commandes AWS pour créer la pile réseau. |
Exemple :
Créez un réseau de base avec des arguments et des drapeaux réguliers.
$ rosa create network rosa-quickstart-default-vpc --param Tags=key1=value1,key2=value2 --param Name=example-stack --param Region=us-west-2
8.2.3.11. créer ocm-role Copier lienLien copié sur presse-papiers!
Créez les ressources ocm-role requises pour votre cluster.
Syntaxe
$ rosa create ocm-role [flags]
| L’option | Définition |
|---|---|
| --admin | Activer les capacités d’administration pour le rôle. |
| --debug | Activer le mode débogage. |
| -I, --interactif | Activer le mode interactif. |
| -M, --mode chaîne | Comment effectuer l’opération. Les options valides sont:
|
| --chaîne de chemin | Le chemin ARN pour le rôle et les politiques de l’OCM. |
| --permissions-chaînes limitrophes | L’ARN de la politique utilisée pour définir la limite des autorisations pour le rôle OCM. |
| --chaîne de préfixe | Le préfixe défini par l’utilisateur pour toutes les ressources AWS générées. La valeur par défaut est ManagedOpenShift. |
| --fichier de chaîne | Utilisez un profil AWS spécifique à partir de votre fichier d’identification. |
| -y, --oui | Automatiquement répondre oui pour confirmer l’opération. |
Afin d’obtenir de plus amples informations sur le rôle OCM créé avec la commande rosa, consultez le rôle de MAI à l’échelle du compte et la référence des politiques.
8.2.3.12. créer un rôle utilisateur Copier lienLien copié sur presse-papiers!
Créez les ressources de rôle utilisateur requises pour votre cluster.
Syntaxe
$ rosa create user-role [flags]
| L’option | Définition |
|---|---|
| --debug | Activer le mode débogage. |
| -I, --interactif | Activer le mode interactif. |
| -M, --mode chaîne | Comment effectuer l’opération. Les options valides sont:
|
| --chaîne de chemin | Le chemin ARN pour le rôle et les politiques de l’utilisateur. |
| --permissions-chaînes limitrophes | L’ARN de la stratégie utilisée pour définir la limite des autorisations pour le rôle de l’utilisateur. |
| --chaîne de préfixe | Le préfixe défini par l’utilisateur pour toutes les ressources AWS générées La valeur par défaut est ManagedOpenShift. |
| --fichier de chaîne | Utilisez un profil AWS spécifique à partir de votre fichier d’identification. |
| -y, --oui | Automatiquement répondre oui pour confirmer l’opération. |
Afin d’obtenir de plus amples informations sur le rôle d’utilisateur créé avec la commande rosa, consultez Comprendre l’association de compte AWS.
8.2.5. Éditer des objets Copier lienLien copié sur presse-papiers!
Cette section décrit les commandes d’édition pour les clusters et les ressources.
8.2.5.1. groupe d’édition Copier lienLien copié sur presse-papiers!
Autorise les modifications à un cluster existant.
Syntaxe
$ rosa edit cluster --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --supplément-permis-principaux <arn> | Liste des ARN principaux autorisés supplémentaires à ajouter au service de point de terminaison VPC du plan de contrôle hébergé pour permettre l’acceptation automatique des demandes de connexion de point de terminaison VPC supplémentaires. |
| --cluster | Requis: Le nom ou l’ID (chaîne) du cluster à modifier. |
| --privé | Limite un point de terminaison principal de l’API à une connectivité directe et privée. |
| --enable-delete-protection=true | Active la fonction de protection de suppression. |
| --enable-delete-protection=faux | Désactive la fonction de protection de suppression. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Editez un cluster nommé mycluster pour le rendre privé.
$ rosa edit cluster --cluster=mycluster --private
Éditer toutes les options de cluster de manière interactive sur un cluster nommé mycluster.
$ rosa edit cluster --cluster=mycluster --interactive
8.2.5.2. Editer l’entrée Copier lienLien copié sur presse-papiers!
Edite le routeur d’application par défaut pour un cluster.
En ce qui concerne l’édition de routeurs d’applications non par défaut, voir Ressources supplémentaires.
Syntaxe
$ rosa edit ingress --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’ID (chaîne) du cluster auquel l’entrée sera ajoutée. |
| --cluster-routes-hostname | Les composants routent le nom d’hôte pour OAuth, console et téléchargement. |
| --cluster-routes-tls-secret-ref | Les composants routent la référence secrète TLS pour OAuth, console et téléchargement. |
| --excluded-namespaces | Les espaces de noms exclus pour l’entrée. Le format est une valeur de liste séparée par virgule1, valeur2…. En l’absence de valeurs spécifiées, tous les espaces de noms seront exposés. |
| --label-match | Le label match (corde) pour ingress. Le format doit être une liste délimitée par virgule de paires key=valeur. En l’absence d’étiquette, tous les itinéraires sont exposés sur les deux routeurs. |
| --lb-type | Le type d’équilibreur de charge. Les options sont classiques, nlb. |
| --namespace-propriété-politique | La politique de propriété de l’espace de noms pour l’entrée. Les options sont Strict et InterNamespaceAllowed. La valeur par défaut est Strict. |
| --privé | Limite l’itinéraire de l’application à une connectivité directe et privée. |
| --route-séléctor | Le sélecteur d’itinéraire pour l’entrée. Le format est une liste séparée par virgule de key=valeur. En l’absence d’étiquette, tous les itinéraires seront exposés sur les deux routeurs. En ce qui concerne les entrées héritées, il s’agit d’étiquettes d’inclusion, sinon elles sont traitées comme des étiquettes d’exclusion. |
| --wildcard-policy | La politique de wildcard pour l’entrée. Les options sont WildcardsDisallowed et WildcardsAllowed. La valeur par défaut est WildcardsDisallowed. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Faites une entrée supplémentaire avec l’ID a1b2 comme connexion privée sur un cluster nommé mycluster.
$ rosa edit ingress --private --cluster=mycluster a1b2
Actualisez les sélecteurs de routeur pour l’entrée supplémentaire avec l’ID a1b2 sur un cluster nommé mycluster.
$ rosa edit ingress --label-match=foo=bar --cluster=mycluster a1b2
Actualisez l’entrée par défaut à l’aide des applications d’identification de sous-domaine sur un cluster nommé mycluster.
$ rosa edit ingress --private=false --cluster=mycluster apps
Actualisez le type d’équilibreur de charge des applications2.
$ rosa edit ingress --lb-type=nlb --cluster=mycluster apps2
8.2.5.3. Editer kubeletconfig Copier lienLien copié sur presse-papiers!
Éditer un objet KubeletConfig personnalisé dans un
Syntaxe
$ rosa edit kubeletconfig --cluster=<cluster_name|cluster_id> --name=<kubeletconfig_name> --pod-pids-limit=<number> [flags]
| L’option | Définition |
|---|---|
| -C, --cluster <cluster_name>|<cluster_id> | C’est nécessaire. Le nom ou l’ID du cluster pour lequel l’objet KubeletConfig sera édité. |
| -I, --interactif | Activer le mode interactif. |
| --pod-pids-limit <numéro> | C’est nécessaire. Le nombre maximal de PID pour chaque nœud dans le |
| --nom | Indique un nom pour l’objet KubeletConfig. |
| -h, --aide | Affiche l’aide pour cette commande. |
Afin d’obtenir de plus amples informations sur la définition de la limite PID pour le cluster, consultez Configuring PID limites.
8.2.5.4. Editer la machinepool Copier lienLien copié sur presse-papiers!
Autorise les modifications dans le pool de machines dans un cluster.
Syntaxe
$ rosa edit machinepool --cluster=<cluster_name_or_id> <machinepool_name> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’ID (chaîne) du cluster à modifier sur lequel le pool de machines supplémentaire sera édité. |
| --enable-autoscaling | Activer ou désactiver la mise à l’échelle automatique des nœuds de calcul. Afin d’activer l’autoscaling, utilisez cet argument avec les arguments --min-replicas et --max-replicas. Afin de désactiver l’autoscaling, utilisez --enable-autoscaling=false avec l’argument --replicas. |
| --étiquettes | Les étiquettes (chaîne) pour la piscine de machines. Le format doit être une liste délimitée par virgule de paires key=valeur. L’édition de cette valeur n’affecte que les nœuds nouvellement créés du pool de machines, qui sont créés en augmentant le nombre de nœuds, et n’affectent pas les nœuds existants. Cette liste écrase les modifications apportées aux étiquettes des nœuds sur une base continue. |
| --kubelet-configs <kubeletconfig_name> | Dans le cas de Red Hat OpenShift Service sur AWS (ROSA) avec des clusters de plans de contrôle hébergés (HCP), les noms des objets KubeletConfig s’appliquent aux nœuds d’un pool de machines. |
| --max-replicas | Indique le nombre maximal de nœuds de calcul lors de l’activation de l’autoscaling. |
| --min-replicas | Indique le nombre minimum de nœuds de calcul lors de l’activation de l’autoscaling. |
| --Max-surge | Dans le cas de Red Hat OpenShift Service sur AWS (ROSA) avec des clusters de plans de contrôle hébergés (HCP), le paramètre max-surge définit le nombre de nouveaux nœuds qui peuvent être fournis au-delà du nombre souhaité de répliques pour le pool de machines, comme configuré à l’aide du paramètre --replicas, ou tel que déterminé par l’autoscaler lorsque l’autoscaling est activé. Cela peut être un nombre absolu (par exemple, 2) ou un pourcentage de la taille du pool de la machine (par exemple, 20%), mais doit utiliser la même unité que le paramètre max-indisponible. La valeur par défaut est 1, ce qui signifie que le nombre maximum de nœuds dans le pool de machines lors d’une mise à niveau est de 1 plus le nombre de répliques souhaitée pour le pool de machines. Dans cette situation, un nœud excédentaire peut être fourni avant que les nœuds existants ne soient rendus indisponibles. Le nombre de nœuds qui peuvent être fournis simultanément lors d’une mise à niveau est max-surge plus max-indisponible. |
| --Max-indisponible | Dans le cas de Red Hat OpenShift Service sur AWS (ROSA) avec des clusters de plans de contrôle hébergés (HCP), le paramètre max-indisponible définit le nombre de nœuds qui peuvent être rendus indisponibles dans un pool de machines lors d’une mise à niveau, avant que de nouveaux nœuds ne soient fournis. Cela peut être un nombre absolu (par exemple, 2) ou un pourcentage du nombre de répliques actuelles dans le pool de machines (par exemple, 20%), mais doit utiliser la même unité que le paramètre max-surge. La valeur par défaut est 0, ce qui signifie qu’aucun nœud obsolète n’est supprimé avant que de nouveaux nœuds ne soient provisionnés. La plage valide pour cette valeur est de 0 à la taille actuelle de la machine, ou de 0% à 100%. Le nombre total de nœuds qui peuvent être mis à niveau simultanément lors d’une mise à niveau est max-surge plus max-indisponible. |
| --node-drain-grace-période | Spécifie le délai de grâce de drain du nœud lors de la mise à niveau ou du remplacement du pool de machines. (Ceci est pour ROSA avec des clusters HCP seulement.) |
| --répliques | Lorsque l’autoscaling n’est pas configuré. Le nombre (integer) de machines pour ce pool de machines. |
| --tains | Des taintes pour la piscine de machines. Cette valeur de chaîne doit être formatée sous la forme d’une liste séparée par virgule de key=value:ScheduleType. L’édition de cette valeur n’affecte que les nœuds nouvellement créés du pool de machines, qui sont créés en augmentant le nombre de nœuds, et n’affectent pas les nœuds existants. Cette liste annule les modifications apportées aux taches de nœud sur une base continue. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Définissez 4 répliques sur un pool de machines nommé mp1 sur un cluster nommé mycluster.
$ rosa edit machinepool --cluster=mycluster --replicas=4 mp1
Activer l’autoscaling sur un pool de machines nommé mp1 sur un cluster nommé mycluster.
$ rosa edit machinepool --cluster=mycluster --enable-autoscaling --min-replicas=3 --max-replicas=5 mp1
Désactivez l’autoscaling sur un pool de machines nommé mp1 sur un cluster nommé mycluster.
$ rosa edit machinepool --cluster=mycluster --enable-autoscaling=false --replicas=3 mp1
Modifiez la plage d’autoscaling sur un pool de machines nommé mp1 sur un cluster nommé mycluster.
$ rosa edit machinepool --max-replicas=9 --cluster=mycluster mp1
Dans Red Hat OpenShift Service sur AWS (ROSA) avec des clusters de plans de contrôle hébergés (HCP), modifiez le pool de machines mp1 pour ajouter le comportement suivant lors des mises à niveau:
- Autoriser jusqu’à 2 nœuds excédentaires à provisionner lors d’une mise à niveau.
- Assurez-vous qu’au plus 3 nœuds ne sont pas disponibles lors d’une mise à niveau.
$ rosa edit machinepool --cluster=mycluster mp1 --max-surge=2 --max-unavailable=3
Associez un objet KubeletConfig à un pool de machines haut débit existant sur un ROSA avec un cluster HCP.
$ rosa edit machinepool -c mycluster --kubelet-configs=set-high-pids high-pid-pool
8.2.7. Effacer les objets Copier lienLien copié sur presse-papiers!
Cette section décrit les commandes de suppression pour les clusters et les ressources.
8.2.7.1. effacer l’administrateur Copier lienLien copié sur presse-papiers!
Supprime un administrateur de cluster à partir d’un cluster spécifié.
Syntaxe
$ rosa delete admin --cluster=<cluster_name> | <cluster_id>
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster à ajouter au fournisseur d’identité (IDP). |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Supprimez un administrateur de cluster d’un cluster nommé mycluster.
$ rosa delete admin --cluster=mycluster
8.2.7.2. supprimer le cluster Copier lienLien copié sur presse-papiers!
Supprime un cluster.
Syntaxe
$ rosa delete cluster --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster à supprimer. |
| ---------- | Surveille les journaux de désinstallation du cluster. |
| --meilleur effort | Saute les étapes de la chaîne de destruction des clusters qui sont connues pour causer l’échec du processus de suppression de cluster. Cette option devrait être utilisée avec soin et il est recommandé de vérifier manuellement votre compte AWS pour toutes les ressources qui pourraient être laissées après l’utilisation de --best-effort. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
Exemples
Effacer un cluster nommé mycluster.
$ rosa delete cluster --cluster=mycluster
8.2.7.3. supprimer externe-auth-fournisseur Copier lienLien copié sur presse-papiers!
Supprime un fournisseur d’authentification externe d’un cluster.
Syntaxe
$ rosa delete external-auth-provider <name_of_external_auth_provider> --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | C’est nécessaire. Le nom ou la chaîne d’identification du cluster du fournisseur d’Auth externe sera supprimé. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique une chaîne de profil AWS à partir de votre fichier d’identification. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
Exemple :
Effacer un fournisseur d’identité nommé exauth-1 à partir d’un cluster nommé mycluster.
$ rosa delete external-auth-provider exauth-1 --cluster=mycluster
8.2.7.4. effacer idp Copier lienLien copié sur presse-papiers!
Supprime un fournisseur d’identité spécifique (IDP) d’un cluster.
Syntaxe
$ rosa delete idp --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster à partir duquel le PDI sera supprimé. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
Exemple :
Effacer un fournisseur d’identité nommé github à partir d’un cluster nommé mycluster.
$ rosa delete idp github --cluster=mycluster
8.2.7.5. effacer l’entrée Copier lienLien copié sur presse-papiers!
Supprime un routeur d’application non par défaut (ingress) d’un cluster.
Syntaxe
$ rosa delete ingress --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster à partir duquel l’entrée sera supprimée. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
Exemples
Effacer une entrée avec l’ID a1b2 à partir d’un cluster nommé mycluster.
$ rosa delete ingress --cluster=mycluster a1b2
Effacer une entrée secondaire avec le nom de sous-domaine apps2 à partir d’un cluster nommé mycluster.
$ rosa delete ingress --cluster=mycluster apps2
8.2.7.6. effacer kubeletconfig Copier lienLien copié sur presse-papiers!
Effacer un objet KubeletConfig personnalisé à partir d’un cluster.
Syntaxe
$ rosa delete kubeletconfig --cluster=<cluster_name|cluster_id> [flags]
| L’option | Définition |
|---|---|
| -C, --cluster <cluster_name>|<cluster_id> | C’est nécessaire. Le nom ou l’ID du cluster pour lequel vous souhaitez supprimer l’objet KubeletConfig. |
| -h, --aide | Affiche l’aide pour cette commande. |
| --nom | Indique un nom pour l’objet KubeletConfig. |
| -y, --oui | Automatiquement répond oui pour confirmer l’opération. |
8.2.7.7. effacer la machinepool Copier lienLien copié sur presse-papiers!
Supprime un pool de machines d’un cluster.
Syntaxe
$ rosa delete machinepool --cluster=<cluster_name> | <cluster_id> <machine_pool_id>
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’identifiant (chaîne) du cluster dont le pool de machine sera supprimé. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --interactif | Active le mode interactif. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
Exemple :
Effacer le pool de machines avec l’ID mp-1 à partir d’un cluster nommé mycluster.
$ rosa delete machinepool --cluster=mycluster mp-1
8.2.8. Installer et désinstaller des add-ons Copier lienLien copié sur presse-papiers!
Cette section décrit comment installer et désinstaller des modules de service gérés Red Hat sur un cluster.
8.2.8.1. installer addon Copier lienLien copié sur presse-papiers!
Installe un module de service géré sur un cluster.
Syntaxe
$ rosa install addon --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster où le module sera installé. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Utilise un profil AWS spécifique (corde) à partir de votre fichier d’identification. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
Exemple :
Ajoutez l’installation dbaas-operator add-on à un cluster nommé mycluster.
$ rosa install addon --cluster=mycluster dbaas-operator
8.2.8.2. désinstaller addon Copier lienLien copié sur presse-papiers!
Désinstaller un module de service géré à partir d’un cluster.
Syntaxe
$ rosa uninstall addon --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’ID (chaîne) du cluster à partir duquel l’add-on sera désinstallé. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Utilise un profil AWS spécifique (corde) à partir de votre fichier d’identification. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
Exemple :
Enlevez l’installation dbaas-operator d’un cluster nommé mycluster.
$ rosa uninstall addon --cluster=mycluster dbaas-operator
8.2.9. Liste et description des objets Copier lienLien copié sur presse-papiers!
Cette section décrit la liste et décrit les commandes pour les clusters et les ressources.
8.2.9.1. addon de liste Copier lienLien copié sur presse-papiers!
Énumérez les installations complémentaires de service gérées.
Syntaxe
$ rosa list addons --cluster=<cluster_name> | <cluster_id>
| L’option | Définition |
|---|---|
| --cluster | Requis: Le nom ou l’ID (chaîne) du cluster pour énumérer les add-ons pour. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
8.2.9.2. Liste des informations d’identification en verre cassé Copier lienLien copié sur presse-papiers!
Énumérez toutes les informations d’identification en verre cassé pour un cluster.
Syntaxe
$ rosa list break-glass-credential [arguments]
| L’option | Définition |
|---|---|
| --cluster <cluster_name>|<cluster_id> | C’est nécessaire. Le nom ou l’identifiant du cluster auquel les informations d’identification en verre cassé ont été ajoutées. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Liste toutes les informations d’identification en verre cassé pour un cluster nommé mycluster.
$ rosa list break-glass-credential --cluster=mycluster
8.2.9.3. liste des clusters Copier lienLien copié sur presse-papiers!
Listez tous vos clusters.
Syntaxe
$ rosa list clusters [arguments]
| L’option | Définition |
|---|---|
| --compte | Le nombre (integer) de clusters à afficher. Défaut: 100 |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
8.2.9.4. liste externe-fournisseur auth Copier lienLien copié sur presse-papiers!
Liste des fournisseurs d’authentification externes pour un cluster.
Syntaxe
$ rosa list external-auth-provider --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou chaîne d’identification du cluster pour lequel le fournisseur d’authentification externe sera listé. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique une chaîne de profil AWS à partir de votre fichier d’identification. |
Exemple :
Liste des fournisseurs d’authentification externes pour un cluster nommé mycluster.
$ rosa list external-auth-provider --cluster=mycluster
8.2.9.5. liste des idps Copier lienLien copié sur presse-papiers!
Énumérez tous les fournisseurs d’identité (IDP) pour un cluster.
Syntaxe
$ rosa list idps --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’ID (chaîne) du cluster pour lequel les PDI seront listés. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Énumérez tous les fournisseurs d’identité (IDP) pour un cluster nommé mycluster.
$ rosa list idps --cluster=mycluster
8.2.9.6. liste des entrées Copier lienLien copié sur presse-papiers!
Énumérez tous les points de terminaison API et ingress pour un cluster.
Syntaxe
$ rosa list ingresses --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’ID (chaîne) du cluster pour lequel les PDI seront listés. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Énumérez tous les points de terminaison API et ingress pour un cluster nommé mycluster.
$ rosa list ingresses --cluster=mycluster
8.2.9.7. liste des types d’instances Copier lienLien copié sur presse-papiers!
Énumérez tous les types d’instances disponibles pour une utilisation avec ROSA. La disponibilité est basée sur le quota AWS du compte.
Syntaxe
$ rosa list instance-types [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --sortie | Le format de sortie. Les formats autorisés sont json ou yaml. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Énumérez tous les types d’instances.
$ rosa list instance-types
8.2.9.8. liste des kubeletconfigs Copier lienLien copié sur presse-papiers!
Liste des objets KubeletConfig configurés sur un cluster.
Syntaxe
$ rosa list kubeletconfigs --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’identifiant (chaîne) du cluster pour lequel les pools de machines seront listés. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
Exemple :
Énumérez tous les objets KubeletConfig sur un cluster nommé mycluster.
$ rosa list kubeletconfigs --cluster=mycluster
8.2.9.9. liste des pools de machines Copier lienLien copié sur presse-papiers!
Listez les pools de machines configurés sur un cluster.
Syntaxe
$ rosa list machinepools --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’identifiant (chaîne) du cluster pour lequel les pools de machines seront listés. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Liste tous les pools de machines sur un cluster nommé mycluster.
$ rosa list machinepools --cluster=mycluster
8.2.9.10. liste des régions Copier lienLien copié sur presse-papiers!
Énumérez toutes les régions disponibles pour le compte AWS actuel.
Syntaxe
$ rosa list regions [arguments]
| L’option | Définition |
|---|---|
| --multi-az | Liste les régions qui fournissent un support pour plusieurs zones de disponibilité. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Liste de toutes les régions disponibles.
$ rosa list regions
8.2.9.11. liste des mises à jour Copier lienLien copié sur presse-papiers!
Énumérez toutes les mises à jour de la version cluster disponibles et programmées.
Syntaxe
$ rosa list upgrades --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’ID (chaîne) du cluster pour lequel les mises à jour disponibles seront listées. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Liste toutes les mises à jour disponibles pour un cluster nommé mycluster.
$ rosa list upgrades --cluster=mycluster
8.2.9.12. liste des utilisateurs Copier lienLien copié sur presse-papiers!
Énumérez l’administrateur du cluster et les utilisateurs d’administrateurs dédiés pour un cluster spécifié.
Syntaxe
$ rosa list users --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster pour lequel les administrateurs de cluster seront listés. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Énumérez tous les administrateurs de cluster et les administrateurs dédiés pour un cluster nommé mycluster.
$ rosa list users --cluster=mycluster
8.2.9.13. liste des versions Copier lienLien copié sur presse-papiers!
Énumérez toutes les versions OpenShift disponibles pour la création d’un cluster.
Syntaxe
$ rosa list versions [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Énumérez toutes les versions OpenShift Container Platform.
$ rosa list versions
8.2.9.14. décrire l’administrateur Copier lienLien copié sur presse-papiers!
Afficher les détails d’un utilisateur cluster-admin spécifié et une commande pour se connecter au cluster.
Syntaxe
$ rosa describe admin --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Le nom ou l’ID (chaîne) du cluster auquel appartient le cluster-admin. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Décrivez l’utilisateur cluster-admin pour un cluster nommé mycluster.
$ rosa describe admin --cluster=mycluster
8.2.9.15. décrire addon Copier lienLien copié sur presse-papiers!
Afficher les détails d’un module complémentaire de service géré.
Syntaxe
$ rosa describe addon <addon_id> | <addon_name> [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Décrivez un add-on nommé dbaas-operator.
$ rosa describe addon dbaas-operator
8.2.9.16. décrire les informations d’identification en verre cassé Copier lienLien copié sur presse-papiers!
Affiche les détails d’un identifiant de verre cassé pour un cluster spécifique.
Syntaxe
$ rosa describe break-glass-credential --id=<break_glass_credential_id> --cluster=<cluster_name>| <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster. |
| --ID | Requis: L’ID (chaîne) de l’identifiant de verre cassé. |
| --kubeconfig | Facultatif: Récupérez le kubeconfig à partir de l’identifiant de verre cassé. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
8.2.9.17. décrire le cluster Copier lienLien copié sur presse-papiers!
Affiche les détails d’un cluster.
Syntaxe
$ rosa describe cluster --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --external-id <arn_string> | Identificateur unique optionnel qui pourrait être requis lorsque vous assumez un rôle dans un autre compte. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
| --get-role-policy-bindings | Liste les politiques qui sont attachées aux rôles STS assignés au cluster. |
Exemple :
Décrivez un cluster nommé mycluster.
$ rosa describe cluster --cluster=mycluster
8.2.9.18. décrire kubeletconfig Copier lienLien copié sur presse-papiers!
Afficher les détails d’un objet KubeletConfig personnalisé.
Syntaxe
$ rosa describe kubeletconfig --cluster=<cluster_name|cluster_id> [flags]
| L’option | Définition |
|---|---|
| -C, --cluster <cluster_name>|<cluster_id> | C’est nécessaire. Le nom ou l’ID du cluster pour lequel vous souhaitez afficher l’objet KubeletConfig. |
| -h, --aide | Affiche l’aide pour cette commande. |
| --nom | En option. Indique le nom de l’objet KubeletConfig à décrire. |
| -O, --sortie chaîne | -O, --sortie chaîne |
8.2.9.19. décrire la machinepool Copier lienLien copié sur presse-papiers!
Décrit un pool de machines spécifique configuré sur un cluster.
Syntaxe
$ rosa describe machinepool --cluster=[<cluster_name>|<cluster_id>] --machinepool=<machinepool_name> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster. |
| --piscine à machine | Requis: Le nom ou l’identifiant (chaîne) de la machinepool. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Décrivez un pool de machines nommé mymachinepool sur un cluster nommé mycluster.
$ rosa describe machinepool --cluster=mycluster --machinepool=mymachinepool
8.2.10. Abroger des objets Copier lienLien copié sur presse-papiers!
Cette section décrit les commandes de révocation pour les clusters et les ressources.
8.2.10.1. abroger-break-verre-crédential Copier lienLien copié sur presse-papiers!
Annule toutes les informations d’identification en verre cassées à partir d’un cluster de plan de contrôle hébergé spécifié avec authentification externe activée.
Syntaxe
$ rosa revoke break-glass-credential --cluster=<cluster_name> | <cluster_id>
| L’option | Définition |
|---|---|
| --cluster | Requis: Le nom ou l’identifiant (chaîne) du cluster à partir duquel les informations d’identification en verre cassé seront supprimés. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
Exemple :
Annuler les informations d’identification en verre cassé d’un cluster nommé mycluster.
$ rosa revoke break-glass-credential --cluster=mycluster
8.2.11. Améliorez et supprimez la mise à niveau pour les objets Copier lienLien copié sur presse-papiers!
Cette section décrit l’utilisation de la commande de mise à niveau pour les objets.
8.2.11.1. cluster de mise à niveau Copier lienLien copié sur presse-papiers!
Planifiez une mise à niveau de cluster.
Syntaxe
$ rosa upgrade cluster --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster pour lequel la mise à jour sera programmée. |
| --interactif | Active le mode interactif. |
| --version | La version (chaîne) d’OpenShift Container Platform vers laquelle le cluster sera mis à niveau. |
| --date d’horaire | La prochaine date (chaîne) où la mise à jour s’exécutera à l’heure spécifiée dans le Temps Universel Coordonné (UTC). Format: yyyy-mm-dd |
| --horaire-temps | La prochaine fois que la mise à jour s’exécutera à la date spécifiée dans le Temps Universel Coordonné (UTC). Format: HH:mm |
| --node-drain-grace-période [1] | Fixe un délai de grâce (chaînement) pour combien de temps les charges de travail protégées par le budget sont respectées pendant les mises à niveau. Après ce délai de grâce, toute charge de travail protégée par des budgets de perturbation de pod qui n’ont pas été vidés avec succès d’un nœud sera expulsée de force. Défaut: 1 heure |
| --avion de contrôle [2] | Améliore le plan de contrôle hébergé du cluster. |
- Clusters classiques uniquement
- Le ROSA avec des clusters HCP uniquement
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
Exemples
De manière interactive, planifiez une mise à niveau sur un cluster nommé mycluster.
$ rosa upgrade cluster --cluster=mycluster --interactive
Planifiez une mise à niveau de cluster dans l’heure sur un cluster nommé mycluster.
$ rosa upgrade cluster --cluster=mycluster --version 4.5.20
8.2.11.2. supprimer la mise à niveau du cluster Copier lienLien copié sur presse-papiers!
Annuler une mise à niveau de cluster programmée.
Syntaxe
$ rosa delete upgrade --cluster=<cluster_name> | <cluster_id>
| L’option | Définition |
|---|---|
| --cluster | Requis : Le nom ou l’ID (chaîne) du cluster pour lequel la mise à jour sera annulée. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| -- oui | Automatiquement répond oui pour confirmer l’opération. |
8.2.11.3. améliorer la machinepool Copier lienLien copié sur presse-papiers!
Améliore un pool de machines spécifique configuré sur un ROSA avec le cluster HCP.
La commande de mise à niveau pour les pools de machines s’applique uniquement à ROSA avec des clusters HCP.
Syntaxe
$ rosa upgrade machinepool --cluster=<cluster_name> <machinepool_name>
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster. |
| --date d’horaire | La prochaine date (chaîne) où la mise à jour s’exécutera à l’heure spécifiée dans le Temps Universel Coordonné (UTC). Format: yyyy-mm-dd |
| --horaire-temps | La prochaine fois que la mise à jour s’exécutera à la date spécifiée dans le Temps Universel Coordonné (UTC). Format: HH:mm |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Améliorez un pool de machines sur un cluster nommé mycluster.
$ rosa upgrade machinepool --cluster=mycluster
8.2.11.4. supprimer la mise à niveau de machinepool Copier lienLien copié sur presse-papiers!
Annuler une mise à niveau prévue de machinepool.
Syntaxe
$ rosa delete upgrade --cluster=<cluster_name> <machinepool_name>
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
8.2.11.5. améliorer les rôles Copier lienLien copié sur presse-papiers!
Améliore les rôles configurés sur un cluster.
Syntaxe
$ rosa upgrade roles --cluster=<cluster_id>
| L’option | Définition |
|---|---|
| --cluster | Requis : Nom ou ID (chaîne) du cluster. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Améliorez les rôles sur un cluster nommé mycluster.
$ rosa upgrade roles --cluster=mycluster
8.3. Contrôle des informations sur le compte et la version avec le ROSA CLI Copier lienLien copié sur presse-papiers!
Consultez les commandes suivantes pour vérifier les informations de votre compte et de votre version.
8.3.1. le Whoami Copier lienLien copié sur presse-papiers!
Afficher les informations sur vos comptes AWS et Red Hat en utilisant la syntaxe de commande suivante:
Syntaxe
$ rosa whoami [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
$ rosa whoami
8.3.2. la version Copier lienLien copié sur presse-papiers!
Afficher la version de votre rosa CLI en utilisant la syntaxe de commande suivante:
Syntaxe
$ rosa version [arguments]
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
$ rosa version
8.4. Consulter les journaux avec le ROSA CLI Copier lienLien copié sur presse-papiers!
Les commandes suivantes permettent de vérifier vos journaux d’installation et de désinstallation.
8.4.1. les journaux installent Copier lienLien copié sur presse-papiers!
Afficher les journaux d’installation du cluster à l’aide de la syntaxe de commande suivante:
Syntaxe
$ rosa logs install --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Requis: Le nom ou l’ID (chaîne) du cluster pour obtenir des journaux pour. |
| --tail | Le nombre (integer) de lignes à obtenir à partir de la fin du journal. Défaut: 2000 |
| ---------- | Il regarde les changements après avoir obtenu les journaux. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemples
Afficher les 100 dernières lignes de journal d’installation pour un cluster nommé mycluster:
$ rosa logs install mycluster --tail=100
Afficher les journaux d’installation d’un cluster nommé mycluster:
$ rosa logs install --cluster=mycluster
8.4.2. désinstallation des logs Copier lienLien copié sur presse-papiers!
Afficher les journaux de désinstallation du cluster en utilisant la syntaxe de commande suivante:
Syntaxe
$ rosa logs uninstall --cluster=<cluster_name> | <cluster_id> [arguments]
| L’option | Définition |
|---|---|
| --cluster | Le nom ou l’ID (chaîne) du cluster pour obtenir des journaux pour. |
| --tail | Le nombre (integer) de lignes à obtenir à partir de la fin du journal. Défaut: 2000 |
| ---------- | Il regarde les changements après avoir obtenu les journaux. |
| L’option | Définition |
|---|---|
| --aider | Affiche l’aide pour cette commande. |
| --debug | Active le mode débogage. |
| --profil | Indique un profil AWS (corde) à partir de votre fichier d’identification. |
Exemple :
Afficher les 100 derniers journaux de désinstallation d’un cluster nommé mycluster:
$ rosa logs uninstall --cluster=mycluster --tail=100
8.5. Le moins d’autorisations de privilège pour les commandes ROSA CLI Copier lienLien copié sur presse-papiers!
Il est possible de créer des rôles avec des autorisations qui adhèrent au principe du moindre privilège, dans lequel les utilisateurs qui leur ont attribué les rôles n’ont pas d’autres autorisations qui leur sont assignées en dehors de la portée de l’action spécifique qu’ils doivent effectuer. Ces stratégies ne contiennent que les autorisations minimales requises pour effectuer des actions spécifiques en utilisant l’interface de ligne de commande (CLI) de Red Hat OpenShift Service sur AWS (ROSA).
Bien que les politiques et les commandes présentées dans ce sujet fonctionnent en conjonction, vous pourriez avoir d’autres restrictions au sein de votre environnement AWS qui rendent les politiques de ces commandes insuffisantes pour vos besoins spécifiques. Le Red Hat fournit ces exemples comme base de référence, en supposant qu’aucune autre restriction AWS Identity and Access Management (IAM) n’est présente.
Consultez AWS Identity and Access Management dans la documentation AWS pour plus d’informations sur la configuration des autorisations, des stratégies et des rôles dans la console AWS.
8.5.1. Le moins d’autorisations de privilège pour les commandes ROSA CLI courantes Copier lienLien copié sur presse-papiers!
Les autorisations minimales suivantes pour les commandes ROSA CLI listées s’appliquent aux clusters HCP (HCP) et Classic.
8.5.1.1. Créer un fournisseur géré OpenID Connect (OIDC) Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour créer votre fournisseur OIDC géré en utilisant le mode automatique.
Entrée
$ rosa create oidc-config --mode auto
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CreateOidcConfig",
"Effect": "Allow",
"Action": [
"iam:TagOpenIDConnectProvider",
"iam:CreateOpenIDConnectProvider"
],
"Resource": "*"
}
]
}
8.5.1.2. Créer un fournisseur OpenID Connect non géré Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour créer votre fournisseur OIDC non géré en utilisant le mode automatique.
Entrée
$ rosa create oidc-config --mode auto --managed=false
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:TagOpenIDConnectProvider",
"iam:ListRoleTags",
"iam:ListRoles",
"iam:CreateOpenIDConnectProvider",
"s3:CreateBucket",
"s3:PutObject",
"s3:PutBucketTagging",
"s3:PutBucketPolicy",
"s3:PutObjectTagging",
"s3:PutBucketPublicAccessBlock",
"secretsmanager:CreateSecret",
"secretsmanager:TagResource"
],
"Resource": "*"
}
]
}
8.5.1.3. Liste des rôles de votre compte Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour répertorier les rôles de votre compte.
Entrée
$ rosa list account-roles
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListAccountRoles",
"Effect": "Allow",
"Action": [
"iam:ListRoleTags",
"iam:ListRoles"
],
"Resource": "*"
}
]
}
8.5.1.4. Liste de vos rôles d’opérateur Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour répertorier vos rôles d’opérateur.
Entrée
$ rosa list operator-roles
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListOperatorRoles",
"Effect": "Allow",
"Action": [
"iam:ListRoleTags",
"iam:ListAttachedRolePolicies",
"iam:ListRoles",
"iam:ListPolicyTags"
],
"Resource": "*"
}
]
}
8.5.1.5. Liste de vos fournisseurs OIDC Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour répertorier vos fournisseurs OIDC.
Entrée
$ rosa list oidc-providers
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListOidcProviders",
"Effect": "Allow",
"Action": [
"iam:ListOpenIDConnectProviders",
"iam:ListOpenIDConnectProviderTags"
],
"Resource": "*"
}
]
}
8.5.1.6. Contrôlez votre quota Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour vérifier votre quota.
Entrée
$ rosa verify quota
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VerifyQuota",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:DescribeAccountLimits",
"servicequotas:ListServiceQuotas"
],
"Resource": "*"
}
]
}
8.5.1.7. Supprimez votre configuration OIDC gérée Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour supprimer votre configuration OIDC gérée en utilisant le mode automatique.
Entrée
$ rosa delete oidc-config -–mode auto
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DeleteOidcConfig",
"Effect": "Allow",
"Action": [
"iam:ListOpenIDConnectProviders",
"iam:DeleteOpenIDConnectProvider"
],
"Resource": "*"
}
]
}
8.5.1.8. Effacer votre configuration OIDC non gérée Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour supprimer votre configuration OIDC non gérée en utilisant le mode automatique.
Entrée
$ rosa delete oidc-config -–mode auto
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"iam:ListOpenIDConnectProviders",
"iam:DeleteOpenIDConnectProvider",
"secretsmanager:DeleteSecret",
"s3:ListBucket",
"s3:DeleteObject",
"s3:DeleteBucket"
],
"Resource": "*"
}
]
}
8.5.2. Le moins d’autorisations de privilège pour ROSA commune avec les commandes HCP CLI Copier lienLien copié sur presse-papiers!
Les exemples suivants montrent les autorisations de privilèges les moins nécessaires pour les commandes ROSA CLI les plus courantes lors de la construction de ROSA avec des clusters de plans de contrôle hébergés (HCP).
8.5.2.1. Créer un cluster Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour créer ROSA avec des clusters HCP.
Entrée
$ rosa create cluster --hosted-cp
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CreateCluster",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:ListRoleTags",
"iam:ListAttachedRolePolicies",
"iam:ListRoles",
"ec2:DescribeSubnets",
"ec2:DescribeRouteTables",
"ec2:DescribeAvailabilityZones"
],
"Resource": "*"
}
]
}
8.5.2.2. Créez des rôles de compte et des rôles d’opérateur Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour créer des rôles de compte et d’opérateur en utilisant le mode automatique.
Entrée
$ rosa create account-roles --mode auto --hosted-cp
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CreateAccountRoles",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:UpdateAssumeRolePolicy",
"iam:ListRoleTags",
"iam:GetPolicy",
"iam:TagRole",
"iam:ListRoles",
"iam:CreateRole",
"iam:AttachRolePolicy",
"iam:ListPolicyTags"
],
"Resource": "*"
}
]
}
8.5.2.3. Effacer les rôles de votre compte Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour supprimer les rôles de compte en mode automatique.
Entrée
$ rosa delete account-roles -–mode auto
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DeleteAccountRoles",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:ListInstanceProfilesForRole",
"iam:DetachRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:ListRoles",
"iam:DeleteRole",
"iam:ListRolePolicies"
],
"Resource": "*"
}
]
}
8.5.2.4. Supprimez vos rôles d’opérateur Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour supprimer vos rôles d’opérateur en mode automatique.
Entrée
$ rosa delete operator-roles -–mode auto
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DeleteOperatorRoles",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:DetachRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:ListRoles",
"iam:DeleteRole"
],
"Resource": "*"
}
]
}
8.5.3. Le moins d’autorisations de privilège pour les commandes ROSA Classic CLI courantes Copier lienLien copié sur presse-papiers!
Les exemples suivants montrent les autorisations de privilèges les moins nécessaires pour les commandes ROSA CLI les plus courantes lors de la construction de clusters ROSA Classic.
8.5.3.1. Créer un cluster Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour créer un cluster ROSA Classic avec le moins d’autorisations de privilège.
Entrée
$ rosa create cluster
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CreateCluster",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:ListRoleTags",
"iam:ListRoles"
],
"Resource": "*"
}
]
}
8.5.3.2. Créer des rôles de compte et des rôles d’opérateur Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour créer des rôles de compte et d’opérateur en mode 'auto'.
Entrée
$ rosa create account-roles --mode auto --classic
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CreateAccountOperatorRoles",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:UpdateAssumeRolePolicy",
"iam:ListRoleTags",
"iam:GetPolicy",
"iam:TagRole",
"iam:ListRoles",
"iam:CreateRole",
"iam:AttachRolePolicy",
"iam:TagPolicy",
"iam:CreatePolicy",
"iam:ListPolicyTags"
],
"Resource": "*"
}
]
}
8.5.3.3. Effacer les rôles de votre compte Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour supprimer les rôles de compte en mode automatique.
Entrée
$ rosa delete account-roles -–mode auto
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:ListInstanceProfilesForRole",
"iam:DetachRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:ListRoles",
"iam:DeleteRole",
"iam:ListRolePolicies",
"iam:GetPolicy",
"iam:ListPolicyVersions",
"iam:DeletePolicy"
],
"Resource": "*"
}
]
}
8.5.3.4. Supprimez vos rôles d’opérateur Copier lienLien copié sur presse-papiers!
Exécutez la commande suivante avec les autorisations spécifiées pour supprimer les rôles Opérateur en mode automatique.
Entrée
$ rosa delete operator-roles -–mode auto
La politique
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:ListInstanceProfilesForRole",
"iam:DetachRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:ListRoles",
"iam:DeleteRole",
"iam:ListRolePolicies",
"iam:GetPolicy",
"iam:ListPolicyVersions",
"iam:DeletePolicy"
],
"Resource": "*"
}
]
}
8.5.4. Commandes ROSA CLI sans autorisation requise Copier lienLien copié sur presse-papiers!
Les commandes ROSA CLI suivantes ne nécessitent pas d’autorisations ou de stratégies pour s’exécuter. Au lieu de cela, ils nécessitent une clé d’accès et une clé secrète configurée ou un rôle joint.
| Commande | Entrée |
|---|---|
| groupe de listes |
|
| liste des versions |
|
| décrire le cluster |
|
| créer un administrateur |
|
| liste des utilisateurs |
|
| liste des mises à jour |
|
| liste de configuration OIDC |
|
| liste des fournisseurs d’identité |
|
| liste des entrées |
|
Legal Notice
Copier lienLien copié sur presse-papiers!
Copyright © 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 the OpenJS Foundation.
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.