1.12. Gestion des utilisateurs et des profils


1.12.1. Création des membres de Red Hat OpenShift Service Mesh

ServiceMeshMember permettent aux administrateurs de Red Hat OpenShift Service Mesh de déléguer des permissions pour ajouter des projets à un service mesh, même lorsque les utilisateurs respectifs n'ont pas d'accès direct au projet de service mesh ou à la liste des membres. Bien que les administrateurs de projet reçoivent automatiquement l'autorisation de créer la ressource ServiceMeshMember dans leur projet, ils ne peuvent pas la diriger vers ServiceMeshControlPlane jusqu'à ce que l'administrateur du service mesh accorde explicitement l'accès au service mesh. Les administrateurs peuvent accorder aux utilisateurs des autorisations d'accès au maillage en leur attribuant le rôle d'utilisateur mesh-user. Dans cet exemple, istio-system est le nom du projet de plan de contrôle Service Mesh.

oc policy add-role-to-user -n istio-system --role-namespace istio-system mesh-user <user_name>

Les administrateurs peuvent modifier la liaison de rôle mesh-user dans le projet de plan de contrôle Service Mesh pour spécifier les utilisateurs et les groupes auxquels l'accès est accordé. Le site ServiceMeshMember ajoute le projet au site ServiceMeshMemberRoll dans le projet de plan de contrôle Service Mesh auquel il fait référence.

apiVersion: maistra.io/v1
kind: ServiceMeshMember
metadata:
  name: default
spec:
  controlPlaneRef:
    namespace: istio-system
    name: basic

La liaison de rôle mesh-users est créée automatiquement après que l'administrateur a créé la ressource ServiceMeshControlPlane. Un administrateur peut utiliser la commande suivante pour ajouter un rôle à un utilisateur.

$ oc policy add-role-to-user

L'administrateur peut également créer le lien de rôle mesh-user avant de créer la ressource ServiceMeshControlPlane. Par exemple, l'administrateur peut la créer dans la même opération oc apply que la ressource ServiceMeshControlPlane.

Cet exemple ajoute une liaison de rôle pour alice:

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: istio-system
  name: mesh-users
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: mesh-user
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: alice

1.12.2. Création de profils de plan de contrôle Service Mesh

Vous pouvez créer des configurations réutilisables avec les profils ServiceMeshControlPlane. Les utilisateurs individuels peuvent étendre les profils qu'ils créent avec leurs propres configurations. Les profils peuvent également hériter des informations de configuration d'autres profils. Par exemple, vous pouvez créer un plan de contrôle comptable pour l'équipe comptable et un plan de contrôle marketing pour l'équipe marketing. Si vous créez un modèle de développement et un modèle de production, les membres de l'équipe marketing et de l'équipe comptable peuvent étendre les profils de développement et de production en les personnalisant en fonction de leur équipe.

Lorsque vous configurez des profils de plan de contrôle Service Mesh, qui suivent la même syntaxe que ServiceMeshControlPlane, les utilisateurs héritent des paramètres de manière hiérarchique. L'Opérateur est livré avec un profil default avec des paramètres par défaut pour Red Hat OpenShift Service Mesh.

1.12.2.1. Création du ConfigMap

Pour ajouter des profils personnalisés, vous devez créer un ConfigMap nommé smcp-templates dans le projet openshift-operators. Le conteneur Operator monte automatiquement le conteneur ConfigMap.

Conditions préalables

  • Un opérateur de maillage de services installé et vérifié.
  • Un compte avec le rôle cluster-admin. Si vous utilisez Red Hat OpenShift Dedicated, vous devez avoir un compte avec le rôle dedicated-admin.
  • Emplacement du déploiement de l'opérateur.
  • Accès à la CLI OpenShift (oc).

Procédure

  1. Connectez-vous au CLI de OpenShift Container Platform en tant que cluster-admin. Si vous utilisez Red Hat OpenShift Dedicated, vous devez avoir un compte avec le rôle dedicated-admin.
  2. À partir de l'interface de programmation, exécutez cette commande pour créer le ConfigMap nommé smcp-templates dans le projet openshift-operators et remplacez <profiles-directory> par l'emplacement des fichiers ServiceMeshControlPlane sur votre disque local :

    oc create configmap --from-file=<profiles-directory> smcp-templates -n openshift-operators
  3. Vous pouvez utiliser le paramètre profiles dans ServiceMeshControlPlane pour spécifier un ou plusieurs modèles.

      apiVersion: maistra.io/v2
      kind: ServiceMeshControlPlane
      metadata:
        name: basic
      spec:
        profiles:
        - default

1.12.2.2. Définir la bonne politique de réseau

Service Mesh crée des stratégies réseau dans le plan de contrôle Service Mesh et les espaces de noms membres pour autoriser le trafic entre eux. Avant de procéder au déploiement, tenez compte des conditions suivantes pour vous assurer que les services de votre maillage de services qui étaient auparavant exposés par l'intermédiaire d'une route OpenShift Container Platform.

  • Le trafic dans le maillage de services doit toujours passer par la passerelle d'entrée (ingress-gateway) pour qu'Istio fonctionne correctement.
  • Déployer des services externes au maillage de services dans des espaces de noms distincts qui ne font partie d'aucun maillage de services.
  • Les services non maillés qui doivent être déployés dans un espace de noms enlisé de maillage de services doivent étiqueter leurs déploiements maistra.io/expose-route: "true", ce qui garantit que les routes d'OpenShift Container Platform vers ces services fonctionnent toujours.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

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

Rendre l’open source plus inclusif

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

À propos de Red Hat

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

© 2024 Red Hat, Inc.