Skip to main content
NetApp container solutions
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

配置:叢集管理任務

貢獻者 banum-netapp kevin-hoke

Red Hat OpenShift 叢集管理員執行下列任務:

  1. 以叢集管理員身分登入 Red Hat OpenShift 叢集。

  2. 建立兩個項目,分別對應不同的工程。

oc create namespace project-1
oc create namespace project-2
  1. 為 project-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
註 本節提供的角色定義只是一個範例。必須根據最終使用者的要求來定義開發人員的角色。
  1. 同樣,為 project-2 建立開發人員角色。

  2. 所有 OpenShift 和NetApp儲存資源通常由儲存管理員管理。儲存管理員的存取權限由安裝Trident時建立的 trident 操作員角色控制。除此之外,儲存管理員還需要存取 ResourceQuotas 來控制儲存的消耗方式。

  3. 建立一個用於管理叢集中所有專案的 ResourceQuotas 的角色,並將其附加到儲存管理員。

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. 確保叢集與組織的身分提供者集成,並且使用者群組與叢集群組同步。以下範例顯示身分提供者已與叢集整合並與使用者群組同步。

$ 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. 為儲存管理員配置 ClusterRoleBindings。

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
註 對於儲存管理員,必須綁定兩個角色:trident-operator 和 resource-quotas。
  1. 為開發者建立 RoleBindings,將developer-project-1 角色綁定到 project-1 中對應的群組(ocp-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. 同樣的,在project-2中為開發者建立RoleBindings,將開發者角色綁定到對應的使用者群組。