Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Skalierung: Mehr Projekte hinzufügen

Beitragende

In einer mandantenfähigen Konfiguration erfordert das Hinzufügen neuer Projekte mit Storage-Ressourcen eine zusätzliche Konfiguration, um sicherzustellen, dass Mandantenfähigkeit nicht verletzt wird. Gehen Sie wie folgt vor, um weitere Projekte in einem mandantenfähigen Cluster hinzuzufügen:

  1. Melden Sie sich als Storage-Administrator beim NetApp ONTAP Cluster an.

  2. Navigieren Sie zu Storage → Storage VMs Und klicken Add. Erstellen Sie eine neue SVM für Projekt-3. Erstellen Sie außerdem ein vsadmin-Konto, um die SVM und ihre Ressourcen zu managen.

SVM zur Skalierung erstellen
  1. Melden Sie sich als Clusteradministrator beim Red hat OpenShift Cluster an.

  2. Erstellen Sie ein neues Projekt.

    oc create ns project-3
  3. Stellen Sie sicher, dass die Benutzergruppe für Projekt-3 auf IdP erstellt und mit dem OpenShift-Cluster synchronisiert wird.

    oc get groups
  4. Die Entwicklerrolle für Project-3 erstellen.

    cat << EOF | oc create -f -
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      namespace: project-3
      name: developer-project-3
    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
Anmerkung Die in diesem Abschnitt angegebene Rollendefinition ist nur ein Beispiel. Die Entwicklerrolle muss basierend auf den Anforderungen des Endbenutzers definiert werden.
  1. Erstellen Sie RoleBending für Entwickler in Project-3, um die Rolle Developer-project-3 an die entsprechende Gruppe (ocp-project-3) in Projekt-3 zu binden.

    cat << EOF | oc create -f -
    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: project-3-developer
      namespace: project-3
    subjects:
      - kind: Group
        apiGroup: rbac.authorization.k8s.io
        name: ocp-project-3
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: developer-project-3
    EOF
  2. Melden Sie sich als Storage-Administrator beim Red hat OpenShift-Cluster an

  3. Erstellen Sie ein Trident-Back-End und ordnen Sie es der für Projekt-3 dedizierten SVM zu. NetApp empfiehlt, das vsadmin Konto des SVM zu verwenden, um das Backend mit der SVM zu verbinden, anstatt den ONTAP-Cluster-Administrator zu verwenden.

    cat << EOF | tridentctl -n trident create backend -f
    {
        "version": 1,
        "storageDriverName": "ontap-nas",
        "backendName": "nfs_project_3",
        "managementLIF": "172.21.224.210",
        "dataLIF": "10.61.181.228",
        "svm": "project-3-svm",
        "username": "vsadmin",
        "password": "NetApp!23"
    }
    EOF
Anmerkung In diesem Beispiel verwenden wir den ontap-nas-Treiber. Verwenden Sie den entsprechenden Treiber, um das Backend basierend auf dem Anwendungsfall zu erstellen.
Anmerkung Wir gehen davon aus, dass Trident im Projekt Trident installiert wird.
  1. Erstellen Sie die Storage-Klasse für Projekt-3, und konfigurieren Sie sie so, dass die Speicherpools vom Back-End für Projekt-3 verwendet werden.

    cat << EOF | oc create -f -
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: project-3-sc
    provisioner: csi.trident.netapp.io
    parameters:
      backendType: ontap-nas
      storagePools: "nfs_project_3:.*"
    EOF
  2. Erstellen Sie ein ResourceQuota zur Einschränkung von Ressourcen im Projekt-3, in dem Storage aus Storage-Speicherageclasses für andere Projekte angefordert wird.

    cat << EOF | oc create -f -
    kind: ResourceQuota
    apiVersion: v1
    metadata:
      name: project-3-sc-rq
      namespace: project-3
    spec:
      hard:
        project-1-sc.storageclass.storage.k8s.io/persistentvolumeclaims: 0
        project-2-sc.storageclass.storage.k8s.io/persistentvolumeclaims: 0
    EOF
  3. Patchen Sie die ResourceQuotas in anderen Projekten, um Ressourcen in diesen Projekten vom Zugriff auf den Speicher aus der für Projekt-3 vorgesehenen Speicherklasse zu beschränken.

    oc patch resourcequotas project-1-sc-rq -n project-1 --patch '{"spec":{"hard":{ "project-3-sc.storageclass.storage.k8s.io/persistentvolumeclaims": 0}}}'
    oc patch resourcequotas project-2-sc-rq -n project-2 --patch '{"spec":{"hard":{ "project-3-sc.storageclass.storage.k8s.io/persistentvolumeclaims": 0}}}'