Configurazione: attività di amministrazione del cluster
Le seguenti attività vengono eseguite dall'amministratore del cluster Red Hat OpenShift:
-
Accedi al cluster Red Hat OpenShift come cluster-admin.
-
Crea due progetti corrispondenti a progetti diversi.
oc create namespace project-1 oc create namespace project-2
-
Creare il ruolo di sviluppatore per il progetto-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 definizione del ruolo fornita in questa sezione è solo un esempio. I ruoli degli sviluppatori devono essere definiti in base ai requisiti dell'utente finale. |
-
Allo stesso modo, creare ruoli di sviluppatore per il progetto 2.
-
Tutte le risorse di storage OpenShift e NetApp sono solitamente gestite da un amministratore di storage. L'accesso per gli amministratori di storage è controllato dal ruolo di operatore Trident creato al momento dell'installazione Trident . Oltre a ciò, l'amministratore dello storage necessita anche dell'accesso a ResourceQuotas per controllare come viene utilizzato lo storage.
-
Creare un ruolo per la gestione di ResourceQuotas in tutti i progetti del cluster per associarlo all'amministratore di storage.
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
-
Assicurarsi che il cluster sia integrato con il provider di identità dell'organizzazione e che i gruppi di utenti siano sincronizzati con i gruppi del cluster. L'esempio seguente mostra che il provider di identità è stato integrato con il cluster e sincronizzato con i gruppi di utenti.
$ 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
-
Configurare ClusterRoleBindings per gli amministratori di storage.
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
|
|
Per gli amministratori di storage è necessario associare due ruoli: trident-operator e resource-quotas. |
-
Creare RoleBindings per gli sviluppatori che associano il ruolo developer-project-1 al gruppo corrispondente (ocp-project-1) in 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
-
Allo stesso modo, creare RoleBindings per gli sviluppatori che associano i ruoli degli sviluppatori al gruppo di utenti corrispondente nel progetto 2.