IBM Cloud Docs
OpenShift Data Foundation auf klassischen Clustern implementieren

OpenShift Data Foundation auf klassischen Clustern implementieren

OpenShift Data Foundation ist eine hoch verfügbare Speicherlösung, die Sie verwenden können, um den permanenten Speicher für Ihre containerisierten Workloads in Red Hat® OpenShift® on IBM Cloud®-Clustern zu verwalten.

Die Installation von OpenShift Data Foundation über OperatorHub wird auf IBM Cloud-Clustern nicht unterstützt. Um ODF zu installieren, führen Sie die folgenden Schritte aus, um das Cluster-Add-on bereitzustellen.

Ihre Installation planen

Bevor Sie die ODF in Ihrem Cluster installieren, müssen Sie sicherstellen, dass die folgenden Voraussetzungen erfüllt sind:

Um OpenShift Data Foundation auf klassischen Clustern zu installieren, müssen Sie VRF in Ihrem Account aktivieren.

  1. Installieren oder aktualisieren Sie die oc-CLI.
  2. Wenn die virtuelle Routenweiterleitung (VRF) in Ihrem Account nicht aktiviert ist, aktivieren Sie VRF.
    1. Nachdem Sie VRF aktiviert haben, aktivieren Sie Serviceendpunkte.
  3. Prüfen Sie die Typen der SDS-Workerknoten. In den Tabellen für jeden Metrobereich befinden sich die SDS-Geschmacksrichtungen in den Rohmetall-Registern und enden mit .ssd.
  4. Erstellen Sie einen klassischen Cluster mit mindestens einem Workerknoten pro Zone über drei Zonen hinweg. Wählen Sie Workerknoten des Variantentyps mb4c.32x384.3.8tb.ssd oder mb4c.20x64.2x1.9tb.ssd aus, die über die erforderlichen lokalen Platten für die ODF verfügen.
  5. Bereiten Sie den klassischen Cluster vor.

Optional: IBM Cloud Object Storage-Serviceinstanz einrichten

Wenn Sie IBM Cloud Object Storage als Standardsicherungsspeicher in Ihrem Speichercluster einrichten möchten, erstellen Sie eine Instanz von IBM Cloud Object Storage. Erstellen Sie anschließend eine Gruppe von HMAC-Berechtigungsnachweisen und einen geheimen Kubernetes-Schlüssel, der Ihre Object Storage-HMAC-Berechtigungsnachweise verwendet. Wenn Sie während der Installation keine IBM Cloud Object Storage-Berechtigungsnachweise angeben, wird der Standardsicherungsspeicher in Ihrem Speichercluster durch die Verwendung der PVs in Ihrem Cluster erstellt. Sie können nach der Implementierung von ODF zusätzliche Sicherungsspeicher einrichten, aber Sie können den Standardsicherungsspeicher nicht ändern.

Rufen Sie Ihren Red Hat OpenShift-Cluster auf.

  1. Erstellen Sie den Namensbereich openshift-storage in Ihrem Cluster. Die Treiberpods werden in diesem Namensbereich bereitgestellt. Kopieren Sie den folgenden YAML-Code und speichern Sie ihn unter os-namespace.yaml auf Ihrer lokalen Maschine.
    apiVersion: v1
    kind: Namespace
    metadata:
      labels:
        openshift.io/cluster-monitoring: "true"
      name: openshift-storage
    
  2. Erstellen Sie den Namensbereich openshift-storage anhand der YAML-Datei, die Sie soeben gespeichert haben.
    oc create -f os-namespace.yaml
    
  3. Überprüfen Sie, ob der Namensbereich erstellt wurde.
    oc get namespaces | grep storage
    
  4. Erstellen Sie eine IBM Cloud Object Storage-Serviceinstanz.
    ibmcloud resource service-instance-create noobaa-store cloud-object-storage standard global
    
  5. Erstellen Sie HMAC-Berechtigungsnachweise. Notieren Sie sich die Berechtigungsnachweise.
    ibmcloud resource service-key-create cos-cred-rw Writer --instance-name noobaa-store --parameters '{"HMAC": true}'
    
  6. Erstellen Sie den geheimen Kubernetes-Schlüssel mit dem Namen ibm-cloud-cos-creds im Namensbereich openshift-storage, der Ihre Object Storage-HMAC-Berechtigungsnachweise verwendet. Wenn Sie den Befehl ausführen, geben Sie die ID für Ihren Object Storage-HMAC-Zugriffsschlüssel und den geheimen Zugriffsschlüssel an. Beachten Sie hierbei, dass Ihr geheimer Schlüssel den Namen ibm-cloud-cos-creds erhalten muss.
    oc -n 'openshift-storage' create secret generic 'ibm-cloud-cos-creds' --type=Opaque --from-literal=IBM_COS_ACCESS_KEY_ID=<access_key_id> --from-literal=IBM_COS_SECRET_ACCESS_KEY=<secret_access_key>
    
  7. Überprüfen Sie, ob Ihr geheimer Schlüssel erstellt wurde.
    oc get secrets -A | grep cos
    

Optional: Verschlüsselung mit Hyper Protect Crypto Services einrichten

Wenn Sie die Verschlüsselung einrichten wollen, erstellen Sie eine Instanz von Hyper Protect Crypto Services oder Key Protect. Erstellen Sie dann einen Root-Schlüssel und ein Kubernetes Geheimnis, das Ihre Hyper Protect Crypto Services oder Key Protect Anmeldedaten verwendet.

Ihr API-Schlüssel für Hyper Protect Crypto Services oder Key Protect muss mindestens die folgenden erforderlichen Berechtigungen haben:
Reader
Reader Plus
Wenn Sie clusterweite Verschlüsselung und Speicherklassenverschlüsselung verwenden, muss Ihr API-Schlüssel über die folgenden erforderlichen Berechtigungen verfügen:
Reader
Reader Plus
Writer
  1. Erstellen Sie eine Hyper Protect Crypto Services-oder Key Protect-Serviceinstanz.

  2. Rootschlüssel erstellen

  3. Nachdem Sie Ihre Instanz und Ihren Stammschlüssel erstellt haben, notieren Sie sich den Namen Ihrer Hyper Protect Crypto Services oder Key Protect Instanz, die Instanz-ID, die Stammschlüssel-ID und den öffentlichen Endpunkt.

  4. Erstellen Sie eine Service-ID, API-Schlüssel und Zugriffsrichtlinie, die den Zugriff auf Hyper Protect Crypto Services und Red Hat OpenShift on IBM Cloud oder auf Key Protect und Red Hat OpenShift on IBM Cloudermöglicht. Notieren Sie sich die API, die Sie erstellen.

Rufen Sie Ihren Red Hat OpenShift-Cluster auf.

  1. Führen Sie Ihre Namensbereiche auf, um festzustellen, ob Sie über einen openshift-storage-Namensbereich verfügen. Wenn Sie keinen openshift-storage-Namensbereich haben, erstellen Sie ihn.
    oc get namespaces | grep openshift-storage
    
    1. Erstellen Sie den Namensbereich openshift-storage in Ihrem Cluster. Die Treiberpods werden in diesem Namensbereich bereitgestellt. Kopieren Sie den folgenden YAML-Code und speichern Sie ihn unter os-namespace.yaml auf Ihrer lokalen Maschine.
      apiVersion: v1
      kind: Namespace
      metadata:
        labels:
          openshift.io/cluster-monitoring: "true"
        name: openshift-storage
      
    2. Erstellen Sie den Namensbereich openshift-storage anhand der YAML-Datei, die Sie soeben gespeichert haben.
      oc create -f os-namespace.yaml
      
    3. Überprüfen Sie, ob der Namensbereich erstellt wurde.
      oc get namespaces | grep storage
      
  2. Codieren Sie sowohl die ID Ihres Rootschlüssels als auch den API-Schlüssel der Service-ID, die Sie für Base64 erstellt haben.
    printf "ROOT-KEY-ID" | base64
    
    printf "SERVICE-ID-API-KEY" | base64
    
  3. Erstellen Sie den geheimen Kubernetes-Schlüssel, der Ihre Hyper Protect Crypto Services-Berechtigungsnachweise verwendet, im Namensbereich openshift-storage.
    1. Speichern Sie den folgenden geheimen Schlüssel als YAML-Datei namens ibm-hpcs-secret.yaml.
      apiVersion: v1
      data:
        IBM_KP_CUSTOMER_ROOT_KEY: AaAAAaZAAAAy11AAAyAAkaAaQtAAk0AAA2AzY5AjYaaa67aa # your base64 encoded root key ID
        IBM_KP_SERVICE_API_KEY: AAAaaajAAAAAncmAAaaaaAAAAdAAId1AtVjBJRU1aAAaAeTh1aEw=AaaaA # your base64 encoded API
      kind: Secret
      metadata:
        name: ibm-hpcs-secret
        namespace: openshift-storage
      type: Opaque
      
    2. Erstellen Sie den geheimen Schlüssel in Ihrem Cluster.
      oc apply -f ibm-hpcs-secret.yaml
      
  4. Überprüfen Sie, ob Ihr geheimer Schlüssel erstellt wurde.
    oc get secrets -A | grep ibm-hpcs-secret
    

Ihre Cluster für eine OpenShift Data Foundation-Installation vorbereiten

Bereiten Sie Ihren Cluster vor, bevor Sie OpenShift Data Foundation installieren.

Rufen Sie Ihren Red Hat OpenShift-Cluster auf.

  1. Melden Sie sich mit dem Befehl oc debug an jedem Workerknoten in Ihrem Cluster an und führen Sie die folgenden Schritte aus.

    • Melden Sie sich bei dem Workerknoten an. Ersetzen Sie <worker_node_IP> durch den Namen Ihres Arbeitsknotens. Um die Namen Ihrer Arbeitsknoten zu erhalten, führen Sie den oc get nodes befehl aus.

      oc debug node/<node name> -- chroot /host rm -rvf /var/lib/rook /mnt/local-storage
      
    • Löschen Sie für jede Plattenpartition den Inhalt des xfs-Dateisystems auf dem Workerknoten. Wenn Sie den Inhalt des Dateisystems nicht löschen, wird das OSD nicht erstellt.

      file -sL /dev/<partition>
      wipefs -a /dev/<partition>
      
    • Bearbeiten Sie die Datei /etc/kubernetes/kubelet.conf und ändern Sie den Wert des Parameters EnableControllerAttachDetach in true.

      nano /etc/kubernetes/kubelet.conf
      
    • Speichern und beenden Sie mithilfe von ctrl + X.

    • Starten Sie Kubelet erneut.

      systemctl restart kubelet
      
    • Melden Sie sich vom Workerknoten ab.

      exit
      
  2. Wiederholen Sie die vorherigen Schritte, um das Dateisystem für jeden Workerknoten zu bereinigen, den Sie in Ihrer ODF-Bereitstellung verwenden möchten.

Ihre Gerätedetails abrufen

Sie können die automatische Plattenerkennung verwenden, um verfügbare Einheiten für ODF zu suchen. Wenn Sie jedoch Speichereinheiten für ODF manuell angeben möchten, führen Sie die folgenden Schritte aus, um die Details Ihrer Speichereinheit abzurufen.

Bevor Sie die ODF installieren, sollten Sie die Details der lokalen Platten auf Ihren Workerknoten ermitteln.

  1. Melden Sie sich bei Ihrem Cluster an und rufen Sie eine Liste der verfügbaren Workerknoten ab. Notieren Sie sich die Workerknoten, die Sie in der OCS-Bereitstellung verwenden möchten.

    oc get nodes
    
  2. Melden Sie sich bei jedem Workerknoten an, den Sie für Ihre ODF verwenden möchten.

    oc debug node/<node-name>
    
  3. Nachdem Sie den Debug-Pod auf dem Workerknoten bereitgestellt haben, führen Sie den folgenden Befehl aus, um Host-Binärdateien zuzulassen.

    chroot /host
    
  4. Listen Sie die verfügbaren Platten auf dem Workerknoten auf.

    lsblk
    
  5. Prüfen Sie die Befehlsausgabe auf verfügbare Platten. Sie können nur nicht angehängte Platten für die ODF-Bereitstellungen verwenden, z. B. sdc-Platten, wie im folgenden Beispiel gezeigt. Beachten Sie, dass die anfängliche Speicherkapazität Ihrer ODF-Bereitstellung der Größe der Platte entspricht, die Sie als osd-device-path angeben. In diesem Beispiel wird die sdc-Platte abgehängt und verfügt über zwei verfügbare Partitionen: sdc1 und sdc2.

    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   931G  0 disk
    |-sda1   8:1    0   256M  0 part /boot
    |-sda2   8:2    0     1G  0 part
     -sda3   8:3    0 929.8G  0 part /
    sdb      8:16   0 744.7G  0 disk
     -sdb1   8:17   0 744.7G  0 part /disk1
    sdc      8:32   0 744.7G  0 disk
    |-sdc1   8:33   0  18.6G  0 part
     -sdc2   8:34   0 260.8G  0 part
    
  6. Suchen Sie für jede nicht angehängte Platte, die Sie in der Bereitstellung verwenden möchten, die Platten-ID. Im folgenden Beispiel ist die ID für die Partition sdc1 der Wert scsi-3600605b00d87b43027b3bc310a64c6c9-part1 und die ID für die Partition sdc2 lautet scsi-3600605b00d87b43027b3bc310a64c6c9-part2.

    ls -l /dev/disk/by-id/
    

    Beispielausgabe

    total 0
    lrwxrwxrwx. 1 root root  9 Feb  9 04:15 scsi-3600605b00d87b43027b3bbb603150cc6 -> ../../sda
    lrwxrwxrwx. 1 root root 10 Feb  9 04:15 scsi-3600605b00d87b43027b3bbb603150cc6-part1 -> ../../sda1
    lrwxrwxrwx. 1 root root 10 Feb  9 04:15 scsi-3600605b00d87b43027b3bbb603150cc6-part2 -> ../../sda2
    lrwxrwxrwx. 1 root root 10 Feb  9 04:15 scsi-3600605b00d87b43027b3bbb603150cc6-part3 -> ../../sda3
    lrwxrwxrwx. 1 root root  9 Feb  9 04:15 scsi-3600605b00d87b43027b3bbf306bc28a7 -> ../../sdb
    lrwxrwxrwx. 1 root root 10 Feb  9 04:15 scsi-3600605b00d87b43027b3bbf306bc28a7-part1 -> ../../sdb1
    lrwxrwxrwx. 1 root root  9 Feb  9 04:17 scsi-3600605b00d87b43027b3bc310a64c6c9 -> ../../sdc
    lrwxrwxrwx. 1 root root 10 Feb 11 03:14 scsi-3600605b00d87b43027b3bc310a64c6c9-part1 -> ../../sdc1
    lrwxrwxrwx. 1 root root 10 Feb 11 03:15 scsi-3600605b00d87b43027b3bc310a64c6c9-part2 -> ../../sdc2
    
  7. Wiederholen Sie die vorherigen Schritte für jeden Workerknoten, den Sie für die Implementierung Ihrer OpenShift Data Foundation wünschen.

  8. Die ODF in Ihren Cluster installieren.

Das Add-on über die Befehlszeilenschnittstelle installieren

Sie können das Add-on mit dem Befehl ibmcloud oc cluster addon enable installieren.

Wenn Sie eine IBM Cloud Object Storage-Serviceinstanz als Standardsicherungsspeicher verwenden möchten, stellen Sie sicher, dass Sie die Serviceinstanz erstellt haben und dass Sie den geheimen Kubernetes-Schlüssel in Ihrem Cluster erstellt haben. Wenn Sie die ODF CRD in Ihrem Cluster erstellen, sucht die ODF nach einem Geheimnis mit der Bezeichnung ibm-cloud-cos-creds, um den Standardsicherungsspeicher einzurichten, der Ihre Object Storage-HMAC-Anmeldedaten verwendet.

  1. Überprüfen Sie die Parameterreferenz. Wenn Sie das Add-on aktivieren, können Sie die Standardwerte außer Kraft setzen, indem Sie für jeden Parameter, den Sie außer Kraft setzen möchten, die Option --param "key=value" angeben.

  2. Bevor Sie das Add-on aktivieren, überprüfen Sie das Änderungsprotokoll auf die neuesten Versionsinformationen. Beachten Sie, dass das Add-on n+1-Clusterversionen unterstützt. Sie können zum Beispiel die Version 4.10.0 des Add-ons auf einem OCP 4.9 oder 4.11 Cluster bereitstellen. Wenn Sie eine andere Clusterversion als die Standardversion haben, müssen Sie die Option --version angeben, wenn Sie das Add-on aktivieren.

    1. Überprüfen Sie die Add-on-Optionen für die Version des Add-ons, das Sie implementieren wollen.
    ibmcloud oc cluster addon options --addon openshift-data-foundation --version 4.15.0
    

    Für die beste Leistung wird empfohlen, die Option resourceProfile anzugeben, die als performance angegeben ist. Diese Option trägt dazu bei, die Leistung auf der Grundlage der Verfügbarkeit von Ressourcen während der Bereitstellung zu verbessern. Weitere Informationen zur Option resourceProfile finden Sie unter "Performance profiles" in Red Hat OpenShift

    Beachten Sie, dass die Standardspeicherklassen für monStorageClassName und osdStorageClassName Block Storage for VPC-Speicherklassen sind.

    Beispiel für Zusatzoptionen für 4.15.0

    Add-on Options
    Option                            Default Value
    osdStorageClassName               ibmc-vpc-block-metro-10iops-tier
    ocsUpgrade                        false
    billingType                       advanced
    autoDiscoverDevices               false
    hpcsBaseUrl                       <Please provide the KMS Base (public) URL>
    taintNodes                        false
    enableNFS                         false
    resourceProfile                   performance
    useCephRBDAsDefaultStorageClass   false
    clusterEncryption                 false
    hpcsEncryption                    false
    hpcsSecretName                    <Please provide the KMS secret name>
    encryptionInTransit               false
    disableNoobaaLB                   false
    osdSize                           512Gi
    numOfOsd                          1
    ignoreNoobaa                      true
    addSingleReplicaPool              false
    prepareForDisasterRecovery        false
    workerPool                        -
    odfDeploy                         true
    osdDevicePaths                    <Please provide IDs of the disks to be used for OSD pods if using local disks or standard classic cluster>
    workerNodes                       all
    hpcsServiceName                   <Please provide the KMS Service instance name>
    hpcsInstanceId                    <Please provide the KMS Service instance ID>
    hpcsTokenUrl                      <Please provide the KMS token URL>
    
  3. Aktivieren Sie das openshift-data-foundation-Add-on. Wenn Sie nur das ODF-Add-on bereitstellen möchten, können Sie die Option "odfDeploy=false" angeben. Wenn Sie einen der Standardparameter außer Kraft setzen wollen, geben Sie die Option --param "key=value" für jeden Parameter an, den Sie außer Kraft setzen wollen. Wenn Sie Ihren Speichercluster nicht erstellen möchten, wenn Sie das Add-on aktivieren, können Sie das Add-on zuerst aktivieren und dann später den Speicher-Cluster erstellen, indem Sie eine CRD erstellen.

    Beispielbefehl zum Aktivieren des Add-ons und zum automatischen Erkennen lokaler Datenträger, zum Aktivieren der Ressourcenprofiloption performance und zum Aktivieren der Verschlüsselung mit Hyper Protect Crypto Services oder Key Protect.

    ibmcloud oc cluster addon enable openshift-data-foundation -c <cluster-name> --version VERSION --param "odfDeploy=true"  --param "resourceProfile=performance" --param "osdSize=250" --param "autoDiscoverDevices=true" --param "hpcsTokenUrl=https://iam.cloud.ibm.com/identity/token" --param "hpcsEncryption=true" --param "hpcsBaseUrl=<hpcs-instance-public-endpoint>" --param "hpcsInstanceId=<hpcs-instance-id>" --param "hpcsServiceName=<hpcs-instance-name>" --param "hpcsSecretName=<hpcs-secret-name>"
    
  4. Vergewissern Sie sich, dass sich das Add-on im Status Ready befindet.

    ibmcloud oc cluster addon ls -c <cluster_name>
    
  5. Überprüfen Sie, ob der Pod ibm-ocs-operator-controller-manager-***** im Namensbereich kube-system ausgeführt wird.

    oc get pods -A | grep ibm-ocs-operator-controller-manager
    
  6. Wenn Sie das Add-on aktiviert und die Option odfDeploy=false festgelegt haben, führen Sie die Schritte zum Erstellen einer angepassten ODF-Ressource aus.

Das Add-on für die OpenShift Data Foundation von der Konsole aus installieren

Führen Sie die folgenden Schritte aus, um die ODF in Ihrem Cluster zu installieren.

Die Version 4.11 ist derzeit ausschließlich für neue Cluster verfügbar. Sie können für eine 4.10-Implementierung kein Upgrade auf 4.11durchführen. Sie können jedoch weiterhin die ODF-Version 4.10verwenden.

  1. Bevor Sie das Add-on aktivieren, überprüfen Sie das Änderungsprotokoll auf die neuesten Versionsinformationen. Beachten Sie, dass das Add-on n+1-Clusterversionen unterstützt.
  2. Überprüfen Sie die Parameterreferenz..
  3. Wählen Sie in der Konsole den Cluster aus, in dem Sie das Add-on installieren möchten.
  4. Klicken Sie auf der OpenShift Data Foundation-Karte auf Installieren. Das Fenster ODF installieren wird geöffnet.
  5. Geben Sie im Fenster ODF installieren die Konfigurationsparameter ein, die Sie für Ihre ODF-Bereitstellung verwenden möchten.
  6. Wählen Sie Grundlagen oder Erweitert als Abrechnungsplan aus.
  7. Wählen Sie für klassische Cluster Lokaler Speicher aus, um lokale Datenträger auf den Workerknoten zu verwenden.
  8. Wenn die verfügbaren Speichereinheiten auf Ihren Workerknoten automatisch erkannt und in ODF verwendet werden sollen, wählen Sie Lokale Plattenerkennung aus.
  9. Wenn Sie die Speichereinheiten auf Ihren Workerknoten, die Sie in ODF verwenden möchten, manuell angeben möchten, geben Sie eine durch Kommas getrennte Liste der Platten-IDs ein, die Sie verwenden wollen. Informationen zum Suchen dieser Platten-IDs finden Sie in Gerätedetails zusammenstellen.
  10. Geben Sie im Feld Workerknoten die Knotennamen der Workerknoten ein, auf denen Sie ODF bereitstellen möchten. Sie müssen mindestens 3 Workerknotennamen eingeben. Um Ihre Knotennamen zu finden, führen Sie den Befehl oc get nodes in Ihrem Cluster aus. Lassen Sie dieses Feld leer, um ODF auf allen Workerknoten bereitzustellen. Namen von Node müssen durch Kommas getrennt werden, ohne Leerzeichen zwischen Namen. Beispiel: 10.240.0.24,10.240.0.26,10.240.0.25.
  11. Geben Sie im Feld Anzahl erforderlicher OSD-Platten die Anzahl der OSD-Platten (App-Speicher) ein, die auf jedem Workerknoten bereitgestellt werden sollen.
  12. Wenn Sie das Add-on erneut aktivieren, um ein Upgrade für die Add-on-Version durchzuführen, wählen Sie die Option Upgrade für ODF durchführen aus.
  13. Wenn Sie die Datenträger verschlüsseln möchten, die von den ODF-Systempods verwendet werden, wählen Sie Clusterverschlüsselung aktivieren aus.
  14. Wenn Sie die Verschlüsselung auf den OSD-Datenträgern (App-Speicher) aktivieren möchten, wählen Sie Datenträgerverschlüsselung aktivieren aus.
    1. Geben Sie in das Feld Instanzname den Namen Ihrer Instanz Hyper Protect Crypto Services oder Key Protect ein. Beispiel: Hyper-Protect-Crypto-Services-eugb.
    2. Geben Sie in das Feld Instanz-ID Ihre Hyper Protect Crypto Services oder Key Protect Instanz-ID ein. Beispiel: d11a1a43-aa0a-40a3-aaa9-5aaa63147aaa.
    3. Geben Sie in das Feld Geheimnisname den Namen des Geheimnisses ein, das Sie mit Ihren Hyper Protect Crypto Services oder Key Protect Anmeldedaten erstellt haben. Beispiel: ibm-hpcs-secret.
    4. Geben Sie in das Feld Basis URL den öffentlichen Endpunkt Ihrer Instanz Hyper Protect Crypto Services oder Key Protect ein. Beispiel: https://api.eu-gb.hs-crypto.cloud.ibm.com:8389.
    5. Geben Sie im Feld Token-URL den Wert https://iam.cloud.ibm.com/identity/token ein.

Erstellen Ihres Speicherclusters

Um die ODF in Ihrem klassischen Cluster zu implementieren, können Sie eine angepasste Ressourcendefinition erstellen, um Ihre Speichergerätedetails anzugeben.

Wenn Sie eine IBM Cloud Object Storage-Serviceinstanz als Standardsicherungsspeicher verwenden möchten, stellen Sie sicher, dass Sie die Serviceinstanz erstellt haben und dass Sie den geheimen Kubernetes-Schlüssel in Ihrem Cluster erstellt haben. Wenn Sie die ODF-CRD in Ihrem Cluster erstellen, sucht die ODF nach einem geheimen Schlüssel mit der Bezeichnung ibm-cloud-cos-creds, um den Standardsicherungsspeicher unter Verwendung Ihrer Object Storage HMAC-Berechtigungsnachweise zu konfigurieren.

  1. Erstellen Sie eine angepasste Ressource mit dem Namen OcsCluster. Speichern und bearbeiten Sie die folgende angepasste Ressourcendefinition, um die Einheitenpfade für die lokalen Platten einzufügen, , die Sie zuvor abgerufen haben. Wenn Sie den optionalen Parameter workerNodes nicht angeben, werden alle Workerknoten in Ihrem Cluster für die ODF-Implementierung verwendet. Stellen Sie sicher, dass Sie den Pfad /dev/disk/by-id/ einfügen, wenn Sie Ihre Speichereinheiten angeben.

    • Wenn Ihr Workerknoten über unbearbeitete Festplatten ohne Partitionen verfügt, benötigen Sie pro Workerknoten eine Partition für OSD und eine Partition für MON. Als Best Practice und zur Maximierung der Speicherkapazität auf partitionierten Festplatten können Sie die kleinere Partition oder Festplatte für MON und die größere Partition oder Festplatte für OSD verwenden. Beachten Sie, dass die ursprüngliche Speicherkapazität Ihrer ODF-Konfiguration der Größe der Festplatte entspricht, die Sie bei der Erstellung Ihrer Konfiguration als osd-device-path angegeben haben.
    • Wenn Ihre Geräte nicht partitioniert sind, müssen Sie für jeden zu verwendenden Workerknoten eine unbearbeitete Festplatte für MON und eine unbearbeitete Festplatte für für OSD angeben.

    Beispiel einer angepassten Ressource für die Installation von ODF auf allen Workerknoten in einem Cluster der Version 4.8 mithilfe der automatischen Plattenerkennung.

    apiVersion: ocs.ibm.io/v1
    kind: OcsCluster
    metadata:
      name: ocscluster-classic
    spec:
      osdStorageClassName: localblock
      osdSize: "1"
      autoDiscoverDevices: true
    

    Beispiel einer angepassten Ressource für die Installation von ODF auf allen Workerknoten in einem Cluster der Version 4.8 mit partitionierten Platten.

    apiVersion: ocs.ibm.io/v1
    kind: OcsCluster
    metadata:
      name: ocscluster # Kubernetes resource names can't contain capital letters or special characters. Specify a name for your resource that uses only lowercase letters, numbers, `-` or `.`
    spec:
      osdStorageClassName: localblock
      osdSize: "1"
      numOfOsd: 1
      billingType: advanced
      ocsUpgrade: false
      osdDevicePaths:
        - <device-by-id> # Example: /dev/disk/by-id/scsi-0000000a00a00a00000a0aa000a00a0a0-part2
        - <device-by-id> # Example: /dev/disk/by-id/scsi-1111111a11a11a11111a1aa111a11a1a1-part2
        - <device-by-id> # Example: dev/disk/by-id/scsi-2222222a22a22a22222a2aa222a22a2a2-part2
    
  2. Speichern Sie die Datei und erstellen Sie die angepasste Ressource OcsCluster für Ihren Cluster.

    oc create -f <ocs_cluster_filename>
    
  3. Überprüfen Sie, ob Ihre angepasste Ressource OcsCluster aktiv ist.

    oc describe OcsCluster ocscluster
    
  4. Bereitstellung einer App, die ODF verwendet

Einschränkungen

Sie können ibmcloud-block-storage-plugin und das ODF-Add-on nicht gleichzeitig verwenden. Für die Installation von ODF müssen Sie zuerst die Datei /etc/kubernetes/kubelet.conf bearbeiten und den Wert des Parameters EnableControllerAttachDetach in true ändern. Dadurch wird das Standardverhalten für Datenträgeranhänge für den Cluster geändert. Dies bedeutet, dass Sie Datenträger nicht mithilfe der ibmc-block-*-Speicherklassen dynamisch bereitstellen können. Stattdessen müssen Sie Datenträger mithilfe der ODF-Speicherklassen erstellen.