Configuration : tâches d'administration du cluster
Les tâches suivantes sont effectuées par l'administrateur du cluster Red Hat OpenShift :
-
Connectez-vous au cluster Red Hat OpenShift en tant qu'administrateur du cluster.
-
Créez deux projets correspondant à des projets différents.
oc create namespace project-1 oc create namespace project-2
-
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
|
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. |
-
De même, créez des rôles de développeur pour le projet 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é.
-
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
-
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
-
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
|
Pour les administrateurs de stockage, deux rôles doivent être liés : trident-operator et resource-quotas. |
-
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
-
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.