Skip to main content
NetApp container solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Configuração: tarefas de administração do cluster

Colaboradores banum-netapp kevin-hoke

As seguintes tarefas são executadas pelo administrador de cluster do Red Hat OpenShift:

  1. Efetue login no cluster Red Hat OpenShift como administrador do cluster.

  2. Crie dois projetos correspondentes a projetos diferentes.

oc create namespace project-1
oc create namespace project-2
  1. Crie a função de desenvolvedor para o projeto-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
Observação A definição de função fornecida nesta seção é apenas um exemplo. As funções do desenvolvedor devem ser definidas com base nos requisitos do usuário final.
  1. Da mesma forma, crie funções de desenvolvedor para o projeto-2.

  2. Todos os recursos de armazenamento do OpenShift e NetApp geralmente são gerenciados por um administrador de armazenamento. O acesso para administradores de armazenamento é controlado pela função de operador do Trident, criada quando o Trident é instalado. Além disso, o administrador de armazenamento também precisa de acesso ao ResourceQuotas para controlar como o armazenamento é consumido.

  3. Crie uma função para gerenciar ResourceQuotas em todos os projetos no cluster para anexá-la ao administrador de armazenamento.

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. Certifique-se de que o cluster esteja integrado ao provedor de identidade da organização e que os grupos de usuários estejam sincronizados com os grupos do cluster. O exemplo a seguir mostra que o provedor de identidade foi integrado ao cluster e sincronizado com os grupos de usuários.

$ 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. Configurar ClusterRoleBindings para administradores de armazenamento.

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
Observação Para administradores de armazenamento, duas funções devem ser vinculadas: trident-operator e resource-quotas.
  1. Crie RoleBindings para desenvolvedores vincularem a função developer-project-1 ao grupo correspondente (ocp-project-1) no 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. Da mesma forma, crie RoleBindings para desenvolvedores vinculando as funções de desenvolvedor ao grupo de usuários correspondente no projeto-2.