本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。
配置:叢集管理任務
Red Hat OpenShift 叢集管理員執行下列任務:
-
以叢集管理員身分登入 Red Hat OpenShift 叢集。
-
建立兩個項目,分別對應不同的工程。
oc create namespace project-1 oc create namespace project-2
-
為 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
|
本節提供的角色定義只是一個範例。必須根據最終使用者的要求來定義開發人員的角色。 |
-
同樣,為 project-2 建立開發人員角色。
-
所有 OpenShift 和NetApp儲存資源通常由儲存管理員管理。儲存管理員的存取權限由安裝Trident時建立的 trident 操作員角色控制。除此之外,儲存管理員還需要存取 ResourceQuotas 來控制儲存的消耗方式。
-
建立一個用於管理叢集中所有專案的 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
-
確保叢集與組織的身分提供者集成,並且使用者群組與叢集群組同步。以下範例顯示身分提供者已與叢集整合並與使用者群組同步。
$ 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
-
為儲存管理員配置 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。 |
-
為開發者建立 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
-
同樣的,在project-2中為開發者建立RoleBindings,將開發者角色綁定到對應的使用者群組。