Skip to main content
NetApp container solutions
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Configuration : tâches d'administration du cluster

Contributeurs banum-netapp kevin-hoke

Les tâches suivantes sont effectuées par l'administrateur du cluster Red Hat OpenShift :

  1. Connectez-vous au cluster Red Hat OpenShift en tant qu'administrateur du cluster.

  2. Créez deux projets correspondant à des projets différents.

oc create namespace project-1
oc create namespace project-2
  1. Créez le rôle de développeur pour le projet-1.

cat << EOF | oc create -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: project-1
  name: developer-project-1
rules:
  - verbs:
      - '*'
    apiGroups:
      - apps
      - batch
      - autoscaling
      - extensions
      - networking.k8s.io
      - policy
      - apps.openshift.io
      - build.openshift.io
      - image.openshift.io
      - ingress.operator.openshift.io
      - route.openshift.io
      - snapshot.storage.k8s.io
      - template.openshift.io
    resources:
      - '*'
  - verbs:
      - '*'
    apiGroups:
      - ''
    resources:
      - bindings
      - configmaps
      - endpoints
      - events
      - persistentvolumeclaims
      - pods
      - pods/log
      - pods/attach
      - podtemplates
      - replicationcontrollers
      - services
      - limitranges
      - namespaces
      - componentstatuses
      - nodes
  - verbs:
      - '*'
    apiGroups:
      - trident.netapp.io
    resources:
      - tridentsnapshots
EOF
Remarque La définition de rôle fournie dans cette section n’est qu’un exemple. Les rôles des développeurs doivent être définis en fonction des besoins des utilisateurs finaux.
  1. De même, créez des rôles de développeur pour le projet 2.

  2. Toutes les ressources de stockage OpenShift et NetApp sont généralement gérées par un administrateur de stockage. L'accès des administrateurs de stockage est contrôlé par le rôle d'opérateur Trident créé lors de l'installation de Trident . En plus de cela, l'administrateur du stockage a également besoin d'accéder à ResourceQuotas pour contrôler la manière dont le stockage est consommé.

  3. Créez un rôle pour gérer les ResourceQuotas dans tous les projets du cluster afin de l'attacher à l'administrateur de stockage.

cat << EOF | oc create -f -
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: resource-quotas-role
rules:
  - verbs:
      - '*'
    apiGroups:
      - ''
    resources:
      - resourcequotas
  - verbs:
      - '*'
    apiGroups:
      - quota.openshift.io
    resources:
      - '*'
EOF
  1. Assurez-vous que le cluster est intégré au fournisseur d’identité de l’organisation et que les groupes d’utilisateurs sont synchronisés avec les groupes de cluster. L'exemple suivant montre que le fournisseur d'identité a été intégré au cluster et synchronisé avec les groupes d'utilisateurs.

$ oc get groups
NAME                        USERS
ocp-netapp-storage-admins   ocp-netapp-storage-admin
ocp-project-1               ocp-project-1-user
ocp-project-2               ocp-project-2-user
  1. Configurez ClusterRoleBindings pour les administrateurs de stockage.

cat << EOF | oc create -f -
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: netapp-storage-admin-trident-operator
subjects:
  - kind: Group
    apiGroup: rbac.authorization.k8s.io
    name: ocp-netapp-storage-admins
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: trident-operator
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: netapp-storage-admin-resource-quotas-cr
subjects:
  - kind: Group
    apiGroup: rbac.authorization.k8s.io
    name: ocp-netapp-storage-admins
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: resource-quotas-role
EOF
Remarque Pour les administrateurs de stockage, deux rôles doivent être liés : trident-operator et resource-quotas.
  1. Créez des RoleBindings pour les développeurs liant le rôle developer-project-1 au groupe correspondant (ocp-project-1) dans project-1.

cat << EOF | oc create -f -
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: project-1-developer
  namespace: project-1
subjects:
  - kind: Group
    apiGroup: rbac.authorization.k8s.io
    name: ocp-project-1
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: developer-project-1
EOF
  1. De même, créez des RoleBindings pour les développeurs liant les rôles de développeur au groupe d’utilisateurs correspondant dans le projet-2.