Configuración: tareas de administración del clúster
El administrador del clúster de Red Hat OpenShift realiza las siguientes tareas:
-
Inicie sesión en el clúster Red Hat OpenShift como administrador del clúster.
-
Crea dos proyectos correspondientes a proyectos diferentes.
oc create namespace project-1 oc create namespace project-2
-
Cree el rol de desarrollador para el proyecto 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 definición de rol proporcionada en esta sección es sólo un ejemplo. Los roles de desarrollador deben definirse en función de los requisitos del usuario final. |
-
De manera similar, cree roles de desarrollador para el proyecto 2.
-
Todos los recursos de almacenamiento de OpenShift y NetApp generalmente son administrados por un administrador de almacenamiento. El acceso de los administradores de almacenamiento está controlado por el rol de operador de Trident que se crea cuando se instala Trident . Además de esto, el administrador de almacenamiento también requiere acceso a ResourceQuotas para controlar cómo se consume el almacenamiento.
-
Cree un rol para administrar ResourceQuotas en todos los proyectos del clúster para adjuntarlo al administrador de almacenamiento.
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
-
Asegúrese de que el clúster esté integrado con el proveedor de identidad de la organización y que los grupos de usuarios estén sincronizados con los grupos del clúster. El siguiente ejemplo muestra que el proveedor de identidad se ha integrado con el clúster y se ha sincronizado con los grupos de usuarios.
$ 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
-
Configurar ClusterRoleBindings para administradores de almacenamiento.
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
|
Para los administradores de almacenamiento, se deben vincular dos roles: trident-operator y resource-quotas. |
-
Cree RoleBindings para desarrolladores que vinculen el rol desarrollador-proyecto-1 al grupo correspondiente (ocp-proyecto-1) en proyecto-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 manera similar, cree RoleBindings para los desarrolladores que vinculen los roles de desarrollador al grupo de usuarios correspondiente en el proyecto 2.