2.2. Configuration de la création de projet
Dans Red Hat OpenShift Service sur AWS, les projets sont utilisés pour regrouper et isoler des objets connexes. Lorsqu’une demande est faite pour créer un nouveau projet à l’aide de la console Web ou de la commande oc new-project, un point de terminaison dans Red Hat OpenShift Service sur AWS est utilisé pour fournir le projet en fonction d’un modèle, qui peut être personnalisé.
En tant qu’administrateur de cluster, vous pouvez autoriser et configurer la façon dont les développeurs et les comptes de services peuvent créer, ou auto-provisionner, leurs propres projets.
2.2.1. À propos de la création de projet Copier lienLien copié sur presse-papiers!
Le Red Hat OpenShift Service sur le serveur AWS API fournit automatiquement de nouveaux projets en fonction du modèle de projet identifié par le paramètre projectRequestTemplate dans la ressource de configuration de projet du cluster. Dans le cas où le paramètre n’est pas défini, le serveur API crée un modèle par défaut qui crée un projet avec le nom demandé et attribue l’utilisateur demandeur au rôle d’administrateur de ce projet.
Lorsqu’une demande de projet est soumise, l’API remplace les paramètres suivants dans le modèle:
Le paramètre | Description |
---|---|
| Le nom du projet. C’est nécessaire. |
| Le nom d’affichage du projet. C’est peut-être vide. |
| La description du projet. C’est peut-être vide. |
| Le nom d’utilisateur de l’utilisateur administrant. |
| Le nom d’utilisateur de l’utilisateur demandeur. |
L’accès à l’API est accordé aux développeurs ayant le rôle d’auto-proviseur et le rôle de cluster d’auto-fournisseurs. Ce rôle est disponible pour tous les développeurs authentifiés par défaut.
2.2.2. La modification du modèle pour les nouveaux projets Copier lienLien copié sur presse-papiers!
En tant qu’administrateur de cluster, vous pouvez modifier le modèle de projet par défaut afin que de nouveaux projets soient créés en utilisant vos exigences personnalisées.
Créer votre propre modèle de projet personnalisé:
Conditions préalables
- Grâce à un compte doté d’autorisations d’administration dédiées, vous avez accès à un service Red Hat OpenShift sur AWS.
Procédure
- Connectez-vous en tant qu’utilisateur avec des privilèges cluster-admin.
Générer le modèle de projet par défaut:
oc adm create-bootstrap-project-template -o yaml > template.yaml
$ oc adm create-bootstrap-project-template -o yaml > template.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Créez un éditeur de texte pour modifier le fichier template.yaml généré en ajoutant des objets ou en modifiant des objets existants.
Le modèle de projet doit être créé dans l’espace de noms openshift-config. Chargez votre modèle modifié:
oc create -f template.yaml -n openshift-config
$ oc create -f template.yaml -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Éditez la ressource de configuration du projet à l’aide de la console Web ou du CLI.
En utilisant la console web:
-
Accédez à la page Administration
Paramètres du cluster. - Cliquez sur Configuration pour afficher toutes les ressources de configuration.
- Cherchez l’entrée pour Projet et cliquez sur Modifier YAML.
-
Accédez à la page Administration
En utilisant le CLI:
Editez la ressource project.config.openshift.io/cluster:
oc edit project.config.openshift.io/cluster
$ oc edit project.config.openshift.io/cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Actualisez la section Spécifications pour inclure les paramètres projectRequestTemplate et nom, et définissez le nom de votre modèle de projet téléchargé. Le nom par défaut est project-request.
Configuration du projet ressource avec modèle de projet personnalisé
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Après avoir enregistré vos modifications, créez un nouveau projet pour vérifier que vos modifications ont été appliquées avec succès.
2.2.3. Désactivation de l’auto-provisionnement du projet Copier lienLien copié sur presse-papiers!
Il est possible d’empêcher un groupe d’utilisateurs authentifié d’auto-provisionner de nouveaux projets.
Procédure
- Connectez-vous en tant qu’utilisateur avec des privilèges cluster-admin.
Affichez l’utilisation de la liaison de rôle du cluster auto-fournisseur en exécutant la commande suivante:
oc describe clusterrolebinding.rbac self-provisioners
$ oc describe clusterrolebinding.rbac self-provisioners
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Examiner les sujets dans la section des autoprovisionnaires.
Enlevez le rôle de cluster d’auto-fournisseur du système de groupe:authenticated:oauth.
Lorsque la liaison de rôle du cluster auto-fournisseur lie uniquement le rôle d’auto-fournisseur au système:authenticated:oauth group, exécutez la commande suivante:
oc patch clusterrolebinding.rbac self-provisioners -p '{"subjects": null}'
$ oc patch clusterrolebinding.rbac self-provisioners -p '{"subjects": null}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque la liaison de rôle de cluster auto-fournisseur lie le rôle d’auto-fournisseur à plus d’utilisateurs, de groupes ou de comptes de service que le groupe system:authenticated:oauth, exécutez la commande suivante:
oc adm policy \ remove-cluster-role-from-group self-provisioner \ system:authenticated:oauth
$ oc adm policy \ remove-cluster-role-from-group self-provisioner \ system:authenticated:oauth
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Éditez la liaison du rôle de cluster d’auto-fournisseurs pour empêcher les mises à jour automatiques du rôle. Les mises à jour automatiques réinitialisent les rôles de cluster à l’état par défaut.
De mettre à jour la liaison de rôle à l’aide de l’ICC:
Exécutez la commande suivante:
oc edit clusterrolebinding.rbac self-provisioners
$ oc edit clusterrolebinding.rbac self-provisioners
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans la liaison de rôle affichée, définissez la valeur du paramètre rbac.authorization.kubernetes.io/autoupdate sur false, comme indiqué dans l’exemple suivant:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
De mettre à jour la liaison de rôle en utilisant une seule commande:
oc patch clusterrolebinding.rbac self-provisioners -p '{ "metadata": { "annotations": { "rbac.authorization.kubernetes.io/autoupdate": "false" } } }'
$ oc patch clusterrolebinding.rbac self-provisioners -p '{ "metadata": { "annotations": { "rbac.authorization.kubernetes.io/autoupdate": "false" } } }'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Connectez-vous en tant qu’utilisateur authentifié et vérifiez qu’il ne peut plus auto-provisionner un projet:
oc new-project test
$ oc new-project test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Error from server (Forbidden): You may not request a new project via this API.
Error from server (Forbidden): You may not request a new project via this API.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Envisagez de personnaliser ce message de demande de projet pour fournir des instructions plus utiles spécifiques à votre organisation.
2.2.4. Personnalisation du message de demande de projet Copier lienLien copié sur presse-papiers!
Lorsqu’un développeur ou un compte de service qui n’est pas en mesure d’auto-provisionner des projets fait une demande de création de projet à l’aide de la console Web ou du CLI, le message d’erreur suivant est retourné par défaut:
You may not request a new project via this API.
You may not request a new project via this API.
Les administrateurs de clusters peuvent personnaliser ce message. Envisagez de le mettre à jour pour fournir d’autres instructions sur la façon de demander un nouveau projet spécifique à votre organisation. À titre d’exemple:
- Afin de demander un projet, communiquez avec votre administrateur système à projectname@example.com.
- Afin de demander un nouveau projet, remplissez le formulaire de demande de projet situé à https://internal.example.com/openshift-project-request.
Afin de personnaliser le message de demande de projet:
Procédure
Éditez la ressource de configuration du projet à l’aide de la console Web ou du CLI.
En utilisant la console web:
-
Accédez à la page Administration
Paramètres du cluster. - Cliquez sur Configuration pour afficher toutes les ressources de configuration.
- Cherchez l’entrée pour Projet et cliquez sur Modifier YAML.
-
Accédez à la page Administration
En utilisant le CLI:
- Connectez-vous en tant qu’utilisateur avec des privilèges cluster-admin.
Editez la ressource project.config.openshift.io/cluster:
oc edit project.config.openshift.io/cluster
$ oc edit project.config.openshift.io/cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Actualisez la section Spécifications pour inclure le paramètre projectRequestMessage et définissez la valeur à votre message personnalisé:
Configuration du projet ressource avec message personnalisé de demande de projet
Copy to Clipboard Copied! Toggle word wrap Toggle overflow À titre d’exemple:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Après avoir enregistré vos modifications, essayez de créer un nouveau projet en tant que développeur ou compte de service qui n’est pas en mesure d’auto-provisionner des projets pour vérifier que vos modifications ont été appliquées avec succès.