|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Projets et espaces de noms Kubernetes avec SUSE Rancher Prime
Un espace de noms est un concept Kubernetes qui permet un cluster virtuel au sein d’un cluster, ce qui est utile pour diviser le cluster en "clusters virtuels" séparés, chacun ayant son propre contrôle d’accès et ses quotas de ressources.
Un projet est un groupe d’espaces de noms, et c’est un concept introduit par Rancher. Les projets vous permettent de gérer plusieurs espaces de noms en tant que groupe et d’effectuer des opérations Kubernetes en eux. Vous pouvez utiliser des projets pour prendre en charge la multi-tenancy, afin qu’une équipe puisse accéder à un projet au sein d’un cluster sans avoir accès à d’autres projets dans le même cluster.
|
Les projets sont moins mis en avant dans l’interface utilisateur car il n’est pas nécessaire de créer des ressources Kubernetes dans le cadre d’un projet. Cependant, des ressources telles que Secrets peuvent toujours être créées dans le cadre d’un projet. |
Cette section décrit comment les projets et les espaces de noms fonctionnent avec Rancher.
À propos des espaces de noms
Un espace de noms est un concept introduit par Kubernetes. Selon la documentation officielle de Kubernetes sur les espaces de noms,
|
Kubernetes prend en charge plusieurs clusters virtuels soutenus par le même cluster physique. Ces clusters virtuels sont appelés espaces de noms. […] Les espaces de noms sont destinés à être utilisés dans des environnements avec de nombreux utilisateurs répartis sur plusieurs équipes ou projets. Pour les clusters comptant de quelques à plusieurs dizaines d’utilisateurs, il n’est généralement pas nécessaire de créer ou de se préoccuper des espaces de noms. |
Les espaces de noms fournissent la fonctionnalité suivante :
-
Fournir un espace pour les noms : Les noms des ressources doivent être uniques au sein d’un espace de noms, mais pas entre les espaces de noms. Les espaces de noms ne peuvent pas être imbriqués les uns dans les autres et chaque ressource Kubernetes ne peut appartenir qu’à un seul espace de noms.
-
Quotas de ressources : Les espaces de noms offrent un moyen de diviser les ressources du cluster entre plusieurs utilisateurs.
Vous pouvez attribuer des ressources au niveau du projet afin que chaque espace de noms dans le projet puisse les utiliser. Vous pouvez également contourner cet héritage en attribuant des ressources explicitement à un espace de noms.
Vous pouvez attribuer les ressources suivantes directement aux espaces de noms :
Pour gérer les autorisations dans un cluster Kubernetes standard, les administrateurs de cluster configurent des politiques de contrôle d’accès en fonction du rôle pour chaque espace de noms. Avec Rancher, les autorisations des utilisateurs sont attribuées au niveau du projet, et les autorisations sont automatiquement héritées par tout espace de noms appartenant au projet particulier.
Pour plus d’informations sur la création et le déplacement des espaces de noms, voir Espaces de noms.
Problèmes de contrôle d’accès en fonction du rôle avec les espaces de noms et kubectl
Parce que les projets sont un concept introduit par Rancher, kubectl n’a pas la capacité de restreindre la création d’espaces de noms à un projet auquel le créateur a accès.
Cela signifie que lorsque des utilisateurs standard avec des autorisations spécifiques au projet créent un espace de noms avec kubectl, il peut être inutilisable car kubectl ne nécessite pas que le nouvel espace de noms soit limité à un certain projet.
Si vos autorisations sont limitées au niveau du projet, il est préférable de créer un espace de noms via Rancher pour vous assurer que vous aurez la permission d’accéder à l’espace de noms.
Si un utilisateur standard est propriétaire d’un projet, il pourra créer des espaces de noms au sein de ce projet. L’interface utilisateur de Rancher empêchera cet utilisateur de créer des espaces de noms en dehors de la portée des projets auxquels il a accès.
À propos des projets
En termes de hiérarchie :
-
Les clusters contiennent des projets
-
Les projets contiennent des espaces de noms
Vous pouvez utiliser des projets pour prendre en charge la multi-tenancy, afin qu’une équipe puisse accéder à un projet au sein d’un cluster sans avoir accès à d’autres projets dans le même cluster.
Dans la version de base de Kubernetes, des fonctionnalités telles que les droits d’accès basés sur les rôles ou les ressources du cluster sont attribuées à chaque espace de noms. Un projet vous permet de gagner du temps en donnant à un individu ou à une équipe accès à plusieurs espaces de noms simultanément.
Vous pouvez utiliser des projets pour effectuer des actions telles que :
-
Attribuer des utilisateurs à un groupe d’espaces de noms (c’est-à-dire, adhésion au projet).
-
Attribuer des rôles spécifiques aux utilisateurs dans un projet. Un rôle peut être propriétaire, membre, en lecture seule, ou personnalisé.
-
Attribuer des ressources au projet.
Lorsque vous créez un cluster, deux projets sont automatiquement créés à l’intérieur :
Le projet par défaut du cluster
Lorsque vous provisionnez un cluster avec Rancher, il crée automatiquement un projet default pour le cluster. C’est un projet que vous pouvez utiliser pour commencer avec votre cluster, mais vous pouvez toujours le supprimer et le remplacer par des projets ayant des noms plus descriptifs.
Si vous n’avez pas besoin de plus que l’espace de noms par défaut, vous n’avez également pas besoin de plus que le projet Default dans Rancher.
Si vous avez besoin d’un autre niveau d’organisation au-delà du projet Default, vous pouvez créer d’autres projets dans Rancher pour isoler les espaces de noms, les applications et les ressources.
Le projet système
Lors du dépannage, vous pouvez consulter le projet system pour vérifier si des espaces de noms importants dans le système Kubernetes fonctionnent correctement. Ce projet facilement accessible vous évite de dépanner des conteneurs d’espace de noms système individuels.
Pour l’ouvrir, ouvrez la vue du cluster et cliquez sur . Cette vue montre tous les espaces de noms dans le projet system.
Le projet system :
-
Est automatiquement créé lorsque vous provisionnez un cluster.
-
Liste tous les espaces de noms qui existent dans
v3/settings/system-namespaces, s’ils existent. -
Vous permet d’ajouter plus d’espaces de noms ou de déplacer ses espaces de noms vers d’autres projets.
-
Ne peut pas être supprimé car il est nécessaire pour les opérations du cluster.
|
Dans les clusters RKE2/K3s où l’option d’isolation du réseau de projet est activée, le projet |
Autorisation de projet
Les utilisateurs standard ne sont autorisés à accéder aux projets que dans deux situations :
-
Un administrateur, propriétaire de cluster ou membre de cluster ajoute explicitement l’utilisateur standard à l’onglet Members du projet.
-
Les utilisateurs standard peuvent accéder aux projets qu’ils créent eux-mêmes.
Création de projets
Cette section décrit comment créer un nouveau projet avec un nom et avec une politique de sécurité des pods optionnelle, des membres et des quotas de ressources.
Nommez un nouveau projet
-
Dans le coin supérieur gauche, cliquez sur ☰ > Gestion des clusters.
-
Sur la page Clusters, allez au cluster dans lequel vous souhaitez créer un projet et cliquez sur Explorer.
-
Cliquez sur .
-
Cliquez sur Créer un projet.
-
Entrez un Nom de projet.
Recommandé : Ajoutez des membres au projet
Utilisez la section Members pour fournir à d’autres utilisateurs un accès au projet et des rôles.
Par défaut, votre utilisateur est ajouté en tant que Owner du projet.
|
Notes sur les autorisations :
|
Pour ajouter des membres :
-
Dans l’onglet Members, cliquez sur Ajouter.
-
Dans le champ Sélectionner un membre, recherchez un utilisateur ou un groupe auquel vous souhaitez attribuer l’accès au projet. Vous ne pouvez rechercher des groupes que si l’authentification externe est activée.
Notes-
Au moins 2 caractères doivent être tapés dans la zone de recherche pour que des résultats apparaissent.
-
Les utilisateurs peuvent être recherchés en fonction de leur nom d’utilisateur ou de leur nom affiché.
-
La recherche est basée sur le préfixe (par exemple, un utilisateur nommé
Stan Dardapparaîtra lors de la recherche deSta, mais pas lors de la recherche deDar) et est sensible à la casse.
-
-
Dans la section Permissions du projet, choisissez un rôle. Pour plus d’informations, consultez la documentation sur les rôles de projet.
Facultatives : Ajouter des quotas de ressources
Les quotas de ressources limitent les ressources qu’un projet (et ses espaces de noms) peuvent consommer. Pour plus d’informations, voir Quotas de ressources.
Pour ajouter un quota de ressources,
-
Dans l’onglet Quotas de ressources, cliquez sur Ajouter une ressource.
-
Sélectionnez un Type de ressource. Pour plus d’informations, voir Quotas de ressources.
-
Entrez des valeurs pour la Limite de projet et la Limite par défaut de l’espace de noms.
-
Facultatives : Spécifiez Limite de ressources par défaut du conteneur, qui sera appliquée à chaque conteneur démarré dans le projet. Le paramètre est recommandé si vous avez des limites d’UC ou de mémoire définies par le quota de ressources. Il peut être remplacé au niveau d’un espace de noms individuel ou d’un conteneur. Pour plus d’informations, voir Limite de ressources par défaut du conteneur
-
Cliquez sur Create.
Résultat : Votre projet est créé. Vous pouvez le voir depuis la vue Projets/Espaces de noms du cluster.
| Champ | Description |
|---|---|
Limite de projet |
La limite globale de ressources pour le projet. |
Limite par défaut de l’espace de noms |
La limite de ressources par défaut disponible pour chaque espace de noms. Cette limite est propagée à chaque espace de noms du projet lors de sa création. La limite combinée de tous les espaces de noms du projet ne doit pas dépasser la limite du projet. |
Suppression de projets
-
Dans le coin supérieur gauche, cliquez sur ☰ > Gestion des clusters.
-
Sur la page Clusters, allez au cluster auquel le projet est attaché, et cliquez sur Explorer.
-
Cliquez sur .
-
Trouvez le projet que vous souhaitez supprimer, et cliquez sur ⋮.
-
Sélectionnez Supprimer.
Lorsque vous supprimez un projet, tous les espaces de noms qui étaient auparavant associés au projet resteront sur le cluster. Vous pouvez trouver ces espaces de noms dans l’interface utilisateur de Rancher, dans l’onglet Pas dans un projet de la page Projets/Namespaces. Vous pouvez réaffecter ces espaces de noms à un projet en les déplaçant.
Autres références
Vous pouvez créer des projets et des membres de projet de manière plus programmatique via l’API publique. Voir le document de flux de projet pour plus d’informations.