OpenShift Data Foundation auf VPC-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.
Für Virtualisierungs-Workloads enthält OpenShift Virtualization Service ODF, das mit lokalem NVME-Speicher vorkonfiguriert ist, wodurch eine manuelle Einrichtung überflüssig wird. Siehe Erste Schritte mit dem Virtualisierungsdienst.
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.
- Erforderliche Mindestberechtigungen
AdministratorPlattformzugriffsrolleManager-Servicezugriffsrolle für den Cluster in IBM Cloud Kubernetes Service.
ODF wird auf Private-Only-VPC-Clustern ab der Clusterversion 4.16.23_1546_openshift für CoreOS Worker und 4.16.21_1544_openshift für RHEL Worker unterstützt.
Voraussetzungen
- Installieren oder aktualisieren Sie die CLI.
- Erstellen Sie einen VPC-Cluster mit mindestens drei Workerknoten.
- Erstellen Sie für hohe Verfügbarkeit einen Cluster mit mindestens einem Workerknoten pro Zone über drei Zonen hinweg.
- Jeder Workerknoten muss über mindestens 16 CPUs und 64 GB RAM verfügen. Bei Cluster-Versionen vor 4.16 stellen Sie sicher, dass jedes Ihrer Subnetze über ein öffentliches Gateway verfügt.
- Hinweis: Sie können OpenShift Data Foundation auf 3 Arbeitsknoten mit 16 CPUs und 32 GB RAM bereitstellen, aber Sie müssen Ihre Arbeitsknoten so konfigurieren, dass nur ODF-Pods ausgeführt werden. Sie können keine zusätzlichen App-Workloads oder Systempods auf Ihren ODF-Knoten ausführen, wenn Sie diese Konfiguration verwenden.
Das Verhalten von flexibleScaling verstehen
Ab OpenShift Data Foundation 4.21 wird flexibleScaling automatisch für Einzelzonen-Cluster und Bereitstellungen mit weniger als drei Verfügbarkeitszonen aktiviert. Dank der flexiblen Skalierung lassen sich Speichercluster feiner
skalieren, anstatt dass Skalierungsvorgänge nur in Vielfachen von drei durchgeführt werden müssen.
- Granulare Expansion
- Skalieren Sie den Speicher, indem Sie einen einzelnen Worker-Knoten oder einen oder mehrere OSDs hinzufügen, anstatt die Skalierung nur in Schritten von drei Einheiten vorzunehmen.
- Verhalten bei der Bereitstellung
- Die flexible Skalierung wird in der Regel für intern angeschlossene Speichersysteme mit weniger als drei Ausfalldomänen oder Verfügbarkeitszonen verwendet. In Ein-Zonen-Clustern wird die Ausfalldomäne auf „Host“ festgelegt, und der angegebene
Wert für „ numOfOsd “ wird direkt bereitgestellt. Wenn man beispielsweise „
numOfOsd“ auf 1 setzt, wird 1 OSD erstellt. - Statische Konfiguration
- Das flexible Skalierungsverhalten wird bei der Erstbereitstellung festgelegt und kann danach nicht mehr aktiviert oder deaktiviert werden.
Für die erstmalige Bereitstellung in Einzelzonen-Clustern wird die Angabe von mindestens 3 OSDs empfohlen, um eine angemessene Ausfallsicherheit und die Übereinstimmung mit den unterstützten Konfigurationsrichtlinien zu gewährleisten.
In Clustern mit mehreren Zonen wird die Fehlerdomäne auf Zone gesetzt, und die OSDs werden in Vielfachen von drei bereitgestellt, um die Datenreplikation und Hochverfügbarkeit über die Zonen hinweg zu gewährleisten. Wenn Sie zum Beispiel numOfOsd auf 1 setzen, werden 3 OSDs erstellt, die über die Zonen verteilt sind.
Optional: Deaktivieren Sie die Standardoperatoren
Nur private Cluster: In nur privaten Clustern müssen Sie die Standardoperatoren manuell deaktivieren in openshift-marketplace mit dem folgenden Befehl, damit ODF ordnungsgemäß funktioniert.
oc patch OperatorHub cluster --type json -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'
Optional: IBM Cloud Object Storage-Serviceinstanz einrichten
Führen Sie die folgenden Schritte aus, um eine IBM Cloud Object Storage-Instanz zu erstellen, die Sie als Standardsicherungsspeicher in Ihrer ODF-Bereitstellung verwenden können. Wenn Sie IBM Cloud Object Storage nicht einrichten möchten, können Sie diesen Schritt überspringen und das Add-on installieren.
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.
- Erstellen Sie den Namensbereich
openshift-storagein Ihrem Cluster. Die Treiberpods werden in diesem Namensbereich bereitgestellt. Kopieren Sie den folgenden YAML-Code und speichern Sie ihn unteros-namespace.yamlauf Ihrer lokalen Maschine.apiVersion: v1 kind: Namespace metadata: labels: openshift.io/cluster-monitoring: "true" name: openshift-storage - Erstellen Sie den Namensbereich
openshift-storageanhand der YAML-Datei, die Sie soeben gespeichert haben.oc create -f os-namespace.yaml - Überprüfen Sie, ob der Namensbereich erstellt wurde.
oc get namespaces | grep storage - Erstellen Sie eine IBM Cloud Object Storage-Serviceinstanz.
ibmcloud resource service-instance-create noobaa-store cloud-object-storage standard global - 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}' - Erstellen Sie den geheimen Kubernetes-Schlüssel mit dem Namen
ibm-cloud-cos-credsim Namensbereichopenshift-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 Namenibm-cloud-cos-credserhalten 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> - Überprüfen Sie, ob Ihr geheimer Schlüssel erstellt wurde.
oc get secrets -A | grep cos
Optional: Einrichten der Verschlüsselung mithilfe von Hyper Protect Crypto Services oder Key Protect
Wenn Sie die Verschlüsselung einrichten wollen, erstellen Sie eine Instanz von Hyper Protect Crypto Services oder Key Protect. Erstellen Sie anschließend einen Root-Schlüssel und ein Kubernetes-Geheimnis, das Ihre Anmeldedaten für Hyper Protect Crypto Services oder Key Protect verwendet.
IBM Cloud ändert seine dedizierten Schlüsselverwaltungsservices von Hyper Protect Crypto Services zu Key Protect Dedicated.
- Ihr API-Schlüssel für Hyper Protect Crypto Services oder Key Protect muss mindestens die folgenden erforderlichen Berechtigungen haben:
ReaderReader Plus- Wenn Sie clusterweite Verschlüsselung und Speicherklassenverschlüsselung verwenden, muss Ihr API-Schlüssel über die folgenden erforderlichen Berechtigungen verfügen:
ReaderReader PlusWriter
-
Erstellen Sie eine Hyper Protect Crypto Services-oder Key Protect-Serviceinstanz.
-
Rootschlüssel erstellen.
-
Nachdem Sie Ihre Instanz und Ihren Root-Schlüssel erstellt haben, notieren Sie sich den Instanznamen, die Instanz-ID, die Root-Schlüssel-ID und den öffentlichen Endpunkt Ihrer Hyper Protect Crypto Services- oder Key Protect-Instanz.
-
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.
-
Private Cluster: Erstellen Sie ein virtuelles privates Endpunktgateway, das Zugriff auf Ihre KMS-Instanz ermöglicht. Stellen Sie sicher, dass Sie mindestens 1 IP-Adresse aus jedem Teilnetz in Ihrer VPC an das VPE binden.
Rufen Sie Ihren Red Hat OpenShift-Cluster auf.
- Führen Sie Ihre Namensbereiche auf, um festzustellen, ob Sie über einen
openshift-storage-Namensbereich verfügen. Wenn Sie keinenopenshift-storage-Namensbereich haben, erstellen Sie ihn.oc get namespaces | grep openshift-storage- Erstellen Sie den Namensbereich
openshift-storagein Ihrem Cluster. Die Treiberpods werden in diesem Namensbereich bereitgestellt. Kopieren Sie den folgenden YAML-Code und speichern Sie ihn unteros-namespace.yamlauf Ihrer lokalen Maschine.
apiVersion: v1 kind: Namespace metadata: labels: openshift.io/cluster-monitoring: "true" name: openshift-storage ``` 1. Erstellen Sie den Namensbereich `openshift-storage` anhand der YAML-Datei, die Sie soeben gespeichert haben. ```sh {: pre} oc create -f os-namespace.yaml ``` 1. Überprüfen Sie, ob der Namensbereich erstellt wurde. ```sh {: pre} oc get namespaces | grep storage ``` - Erstellen Sie den Namensbereich
- 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" | base64printf "SERVICE-ID-API-KEY" | base64 - Erstellen Sie den geheimen Kubernetes-Schlüssel, der Ihre Hyper Protect Crypto Services-Berechtigungsnachweise verwendet, im Namensbereich
openshift-storage.- 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 ``` 1. Erstellen Sie den geheimen Schlüssel in Ihrem Cluster. ```sh {: pre} oc apply -f ibm-hpcs-secret.yaml ``` - Speichern Sie den folgenden geheimen Schlüssel als YAML-Datei namens
- Überprüfen Sie, ob Ihr geheimer Schlüssel erstellt wurde.
oc get secrets -A | grep ibm-hpcs-secret
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.
Bevor Sie das Add-on aktivieren, überprüfen Sie das Änderungsprotokoll auf die neuesten Versionsinformationen. Lesen Sie auch die Parameterreferenz, um die Installationsoptionen zu verstehen.
- Wählen Sie in der Konsole den Cluster aus, in dem Sie das Add-on installieren möchten.
- Klicken Sie auf der OpenShift Data Foundation-Karte auf Installieren. Das Fenster ODF installieren wird geöffnet.
- Geben Sie im Fenster ODF installieren die Konfigurationsparameter ein, die Sie für Ihre ODF-Bereitstellung verwenden möchten.
- Abrechnungstyp
- Essentials oder Advanced als Abrechnungsplan. Weitere Informationen zum Abrechnungstyp finden Sie unter Feature support by billing type.
- Speicherklasse
- Geben Sie die gewünschte Speicherklasse ein.
- Wählen Sie bei VPC-Clustern, die virtuelle Maschinen verwenden, die Option Remote-Provisioning aus, um Volumes für ODF mithilfe des Block Storage for VPC dynamisch bereitzustellen.
- Für VPC-Cluster, die Bare Metal Servers for VPC Worker Nodes verwenden, wählen Sie Lokaler Speicher. Wenn Sie die auf Ihren Worker-Knoten verfügbaren Speichergeräte automatisch erkennen und in ODF verwenden möchten, wählen Sie Erkennung lokaler Festplatten aus.
- OSD-Speicherklassenname
- Geben Sie den Namen der Speicherklasse ein, die Sie zum Bereitstellen von Speichervolumes verwenden möchten.
- Für VPC-Cluster mit Bare Metal Servers for VPC Worker Nodes wählen Sie
localblock. - Für Multizone-Cluster verwenden Sie eine Speicherklasse mit der
VolumeBindingModevonWaitForFirstConsumer. - Eine Liste der Speicherklassen finden Sie in der Speicherklassen-Referenz.
- Für VPC-Cluster mit Bare Metal Servers for VPC Worker Nodes wählen Sie
- Größe des OSD-Pods
- Geben Sie die Größe des Volumes ein, das Sie bereitstellen möchten. Geben Sie mindestens 512Gi ein.
- Workerknoten
- Geben Sie die Namen der Worker-Knoten 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 nodesbefehl in Ihrem Cluster aus. Node die Namen müssen durch Kommata getrennt sein, ohne Leerzeichen zwischen den Namen. Beispiel:10.240.0.24,10.240.0.26,10.240.0.25. Lassen Sie dieses Feld leer, um ODF auf allen Workerknoten bereitzustellen. - Anzahl erforderlicher OSD-Platten
- Geben Sie die Anzahl der OSD-Platten (Anwendungsspeicher) ein, die auf jedem Arbeitsknoten bereitgestellt werden sollen.
- Clusterverschlüsselung aktivieren
- Wählen Sie diese Option, wenn Sie die von den ODF-Systempods verwendeten OSD-Volumes verschlüsseln möchten (clusterweite Verschlüsselung).
- Datenträgerverschlüsselung aktivieren
- Wählen Sie diese Option, wenn Sie die Verschlüsselung für die Anwendungsvolumes (App-Storage) aktivieren möchten.
- Geben Sie im Feld Instanzname einen eindeutigen Namen für Ihre Hyper Protect Crypto Services-oder Key Protect-Instanz ein.
- Geben Sie im Feld Instanztyp den Typ der Verschlüsselungsinstanz ein.
- Geben Sie im Feld Instanz-ID Ihre Instanz-ID für Hyper Protect Crypto Services oder Key Protect ein. Beispiel:
d11a1a43-aa0a-40a3-aaa9-5aaa63147aaa. - Geben Sie im Feld Secret name den Namen des Secrets ein, das Sie mit Ihren Anmeldedaten für Hyper Protect Crypto Services oder Key Protect erstellt haben. Beispiel:
ibm-hpcs-secret. - Geben Sie im Feld Base- URL den öffentlichen Endpunkt Ihrer Hyper Protect Crypto Services- oder Key Protect-Instanz ein. Beispiel:
https://api.eu-gb.hs-crypto.cloud.ibm.com:8389. - Geben Sie im Feld Token-URL den Wert
https://iam.cloud.ibm.com/identity/tokenein.
-
Nachdem Sie die zu verwendenden Parameter eingegeben haben, klicken Sie auf Installieren.
-
Warten Sie einige Minuten, bis die Add-on-Bereitstellung abgeschlossen ist. Wenn die Bereitstellung abgeschlossen ist, lautet der Add-on-Status
Normal - Addon Ready. -
Überprüfen Sie Ihre Installation. Rufen Sie Ihren Red Hat OpenShift-Cluster auf.
-
Führen Sie den folgenden Befehl aus, um zu prüfen, ob die ODF-Pods ausgeführt werden.
oc get pods -n openshift-storage
- Nächste Schritte
- Bereitstellung einer App, die ODF verwendet.
Das Add-on über die Befehlszeilenschnittstelle installieren
Sie können das Add-on mithilfe des Befehls ibmcloud oc cluster addon enable installieren.
-
Überprüfen Sie die VPC-Parameterreferenz. Wenn Sie das Add-on aktivieren, können Sie die Standardwerte überschreiben, indem Sie für jeden Parameter, den Sie überschreiben möchten, die entsprechende Option
--param "key=value"angeben. -
Listen Sie die
openshift-data-foundation-Add-on-Versionen auf. Notieren Sie sich die Standardversion und bestimmen Sie die Version, die Sie installieren möchten.ibmcloud ks cluster addon versions -
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. Beispielsweise können Sie die Version4.10.0des Add-ons in einem OCP- oder4.9-Cluster4.11bereitstellen. Wenn Sie eine andere Cluster-Version als die Standardversion verwenden, müssen Sie die Option--versionangeben, wenn Sie das Add-on aktivieren. -
Überprüfen Sie die Add-on-Optionen.
ibmcloud oc cluster addon options --addon openshift-data-foundation --version 4.15.0Für die beste Leistung wird empfohlen, die Option
resourceProfileanzugeben, die alsperformanceangegeben 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 „Leistungsprofile“ in der ODF-Dokumentation zu „ Red Hat OpenShift “.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> -
Aktivieren Sie das
openshift-data-foundation-Add-on. Wenn Sie einen der Standardparameter überschreiben möchten, geben Sie die Option--param "key=value"für jeden Parameter an, den Sie überschreiben möchten. 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 Bereitstellen der Add-on-Version 4.10 mit den Standard-Einstellungen für den Speichercluster, dem
performanceRessourcenprofil und aktivierter Verschlüsselung mit Hyper Protect Crypto Services.ibmcloud oc cluster addon enable openshift-data-foundation -c CLUSTER_NAME --version 4.15.0 --param "odfDeploy=true" --param "resourceProfile=performance" --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"Beispielbefehl nur für die Bereitstellung des ODF-Add-ons.
ibmcloud oc cluster addon enable openshift-data-foundation -c CLUSTER_NAME --version VERSION --param "odfDeploy=false"Beispielbefehl für die Bereitstellung von ODF und die Erstellung eines Speicher-Clusters mit den Standardkonfigurationsparametern.
ibmcloud oc cluster addon enable openshift-data-foundation -c CLUSTER_NAME --version VERSIONBeispielbefehl für die Bereitstellung von ODF und die Erstellung eines Speicher-Clusters mit Überschreiben der
osdSize-Parameter.ibmcloud oc cluster addon enable openshift-data-foundation -c CLUSTER_NAME --version VERSION --param "osdSize=500Gi" -
Vergewissern Sie sich, dass sich das Add-on im Status
Readybefindet.oc get storagecluster -n openshift-storageBeispielausgabe:
NAME AGE PHASE EXTERNAL CREATED AT VERSION ocs-storagecluster 53m Ready 2023-03-10T12:20:52Z 4.11.0 -
Überprüfen Sie, ob der Pod
ibm-ocs-operator-controller-manager-*****im Namensbereichkube-systemausgeführt wird.oc get pods -A | grep ibm-ocs-operator-controller-manager -
Wenn Sie das Add-on mit der Einstellung
falsefürodfDeployaktiviert haben, führen Sie die Schritte zum Erstellen einer angepassten ODF-Ressource aus.
Add-on von Terraform installieren
- Installieren Sie die Terraform-CLI und das IBM Cloud-Provider-Plug-in.
- Stellen Sie sicher, dass Sie einen IBM Cloud API-Schlüssel haben.
-
Erstellen Sie eine Terraform-Provider-Datei. Speichern Sie die Datei im Terraform-Verzeichnis. Weitere Informationen finden Sie in der Dokumentation zu Terraform IBM Cloud Provider.
Beispiel für eine Terraform-Providerdatei
terraform { required_providers { ibm = { source = "IBM-Cloud/ibm" version = "1.53.0" } } } provider "ibm" { region = "us-south" ibmcloud_api_key = "<api-key>" } -
Erstellen Sie eine Terraform-Konfigurationsdatei für das ODF-Add-on. Speichern Sie die Datei im Terraform-Verzeichnis.
Beispielkonfigurationsdatei.
ibmcloud_api_key = "" # Enter your API Key cluster = "" # Enter the Cluster ID region = "us-south" # Enter the region # For add-on deployment odfVersion = "4.12.0" # For CRD Creation and Management autoDiscoverDevices = "false" billingType = "advanced" clusterEncryption = "false" hpcsBaseUrl = null hpcsEncryption = "false" hpcsInstanceId = null hpcsSecretName = null hpcsServiceName = null hpcsTokenUrl = null ignoreNoobaa = "false" numOfOsd = "1" ocsUpgrade = "false" osdDevicePaths = null osdSize = "250Gi" osdStorageClassName = "ibmc-vpc-block-metro-10iops-tier" workerNodes = null -
Navigieren Sie in der Befehlszeilenschnittstelle zum Terraform-Verzeichnis.
cd <terraform_directory> -
Führen Sie die Befehle zum Initialisieren und Planen Ihrer Terraform-Aktionen aus. Überprüfen Sie die Planausgabe, um sicherzustellen, dass die richtigen Aktionen ausgeführt werden.
terraform initterraform plan -
Wenden Sie die Terraform-Dateien an, um den Cluster zu erstellen. Navigieren Sie anschließend zur IBM Cloud-Konsole, um zu überprüfen, ob der Cluster bereitgestellt wird.
terraform apply
Angepasste ODF-Ressource erstellen
Wenn Sie einen ODF-Speichercluster in Ihrem VPC-Cluster mithilfe der dynamischen Bereitstellung für Ihre Speicherdatenträger erstellen möchten, können Sie eine angepasste Ressource erstellen, um Details zu Speichergeräten 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 Geheimnis mit der Bezeichnung ibm-cloud-cos-creds, um den Standardsicherungsspeicher einzurichten, der Ihre Object Storage-HMAC-Anmeldedaten
verwendet.
-
Erstellen Sie eine angepasste Ressourcendefinition namens
OcsCluster. Speichern Sie eine der folgenden benutzerdefinierten Ressourcendefinitionsdateien auf Ihrem lokalen Rechner und bearbeiten Sie sie so, dass der Name Ihrer zuvor erstellten Speicherklasse als undmonStorageClassNameParameterosdStorageClassNameenthalten ist. Weitere Informationen zu denOcsCluster-Parametern finden Sie in der Parameterreferenz.Beispiel einer angepassten Ressourcendefinition für die Installation von ODF auf allen Workerknoten in einem 4.8-Cluster.
apiVersion: ocs.ibm.io/v1 kind: OcsCluster metadata: name: ocscluster-vpc # Kubernetes resource names can't contain capital letters or special characters. Enter a name for your resource that uses only lowercase letters, numbers, `-` or `.` spec: osdStorageClassName: <osdStorageClassName> # Specify an ODF storage class with a waitForFirstConsumer volume binding mode osdSize: <osdSize> # The OSD size is the total storage capacity of your OCS storage cluster. Use at least 250Gi OSDs for production workloads. numOfOsd: 1 billingType: advanced ocsUpgrade: falseBeispiel einer angepassten Ressourcendefinition für die Installation von ODF nur auf angegebenen Workerknoten in einem 4.8-Cluster.
apiVersion: ocs.ibm.io/v1 kind: OcsCluster metadata: name: ocscluster-vpc # Kubernetes resource names can't contain capital letters or special characters. Enter a name for your resource that uses only lowercase letters, numbers, `-` or `.` spec: osdStorageClassName: <osdStorageClassName> # Specify an ODF storage class with a waitForFirstConsumer volume binding mode osdSize: <osdSize> # The OSD size is the total storage capacity of your OCS storage cluster. Use at least 250Gi OSDs for production workloads. numOfOsd: 1 billingType: advanced ocsUpgrade: false workerNodes: # Specify the private IP addresses of the worker nodes where you want to install OCS. - <workerNodes> # To get a list worker nodes, run `oc get nodes`. - <workerNodes> - <workerNodes> -
Speichern Sie die Datei und erstellen Sie die angepasste Ressource
OcsClusterfür Ihren Cluster.oc create -f <ocs-cluster-filename>.yaml -
Überprüfen Sie, ob Ihr
OcsClusteraktiv ist.oc describe ocscluster ocscluster-vpcBeispielausgabe
Name: ocscluster-vpc Namespace: Labels: <none> Annotations: <none> API Version: ocs.ibm.io/v1 Kind: OcsCluster Metadata: Creation Timestamp: 2021-03-23T20:56:51Z Finalizers: finalizer.ocs.ibm.io Generation: 1 Managed Fields: API Version: ocs.ibm.io/v1 Fields Type: FieldsV1 fieldsV1: f:spec: .: f:billingType: f:monSize: f:monStorageClassName: f:numOfOsd: f:ocsUpgrade: f:osdSize: f:osdStorageClassName: Manager: oc Operation: Update Time: 2021-03-23T20:56:51Z API Version: ocs.ibm.io/v1 Fields Type: FieldsV1 fieldsV1: f:metadata: f:finalizers: .: v:"finalizer.ocs.ibm.io": f:status: .: f:storageClusterStatus: Manager: manager Operation: Update Time: 2021-04-09T23:12:02Z Resource Version: 11372332 Self Link: /apis/ocs.ibm.io/v1/ocsclusters/ocscluster-vpc UID: aa11a1a1-111f-aace-afac-1fa1afe1111a Spec: Billing Type: hourly Mon Size: 20Gi Mon Storage Class Name: ibmc-vpc-block-10iops-tier Num Of Osd: 1 Ocs Upgrade: false Osd Size: 250Gi Osd Storage Class Name: ibmc-vpc-block-10iops-tier Status: Storage Cluster Status: Events: <none>
ODF skalieren
Sie können Ihre ODF-Konfiguration skalieren, indem Sie die Einstellung numOfOsd erhöhen. Wenn Sie die Anzahl der OSDs erhöhen, enthält die ODF die Anzahl der Platten mit der gleichen osdSize-Kapazität in GB in jedem
Workerknoten in Ihrem ODF-Cluster. Der gesamte Speicherplatz, der Ihren Apps zur Verfügung steht, ist jedoch gleich der osdSize multipliziert mit der numOfOsd.
| Anzahl der Workerknoten | UrsprünglichosdSize |
numOfOsd |
Für Anwendungen verfügbare Speicherkapazität | Gesamtspeicher der bereitgestellten Platten |
|---|---|---|---|---|
| 3 | 250Gi | 1 | 250Gi | 750Gi |
| 3 | 250Gi | 2 | 500Gi | 1500Gi |
| 3 | 250Gi | 3 | 750Gi | 2250Gi |
| 3 | 250Gi | 4 | 1000Gi | 3000Gi |
Skalierung durch Erhöhung der numOfOsd
Rufen Sie Ihren Red Hat OpenShift-Cluster auf.
-
Rufen Sie den Namen der angepassten
OcsCluster-Ressource ab.oc get ocscluster -
Speichern Sie die YAML-Datei der angepassten
OcsCluster-Ressource auf der lokalen Maschine unter dem Namenocscluster.yaml.oc get ocscluster ocscluster-vpc -o yaml -
Erhöhen Sie den Wert des Parameters
numOfOsdund wenden Sie die CRD fürocsclustererneut auf Ihren Cluster an.oc apply -f ocscluster.yaml -
Stellen Sie sicher, dass die zusätzlichen OSDs erstellt werden.
oc get pv
Sie können die ODF erweitern, indem Sie Workerknoten zu Ihrem VPC-Cluster hinzufügen
Um die Speicherkapazität in Ihrem Speichercluster zu erhöhen, fügen Sie kompatible Workerknoten zu Ihrem Cluster hinzu.
-
Erweitern Sie den Worker-Pool des Clusters, der für OCS verwendet wird, indem Sie Workerknoten hinzufügen. Stellen Sie sicher, dass Ihre Workerknoten die Anforderungen für die ODF erfüllen. Wenn Sie ODF auf allen Workerknoten in Ihrem Cluster implementiert haben, werden die ODF-Treiber auf den neuen Workerknoten installiert, wenn sie zu Ihrem Cluster hinzugefügt werden.
-
Wenn Sie ODF auf einer Teilmenge der Worker-Knoten in Ihrem Cluster bereitgestellt haben, indem Sie die privaten
<workerNodes>Parameter in IhrerOcsClusterbenutzerdefinierten Ressource angegeben haben, können Sie den Knotennamen der neuen Worker-Knoten zu Ihrer ODF-Bereitstellung hinzufügen, indem Sie die Definition der benutzerdefinierten Ressource bearbeiten.oc edit ocscluster ocscluster-vpc -
Speichern Sie die Datei der angepassten
OcsCluster-Ressource, um sie erneut auf Ihren Cluster anzuwenden.
Einschränkungen
Beachten Sie die folgenden Einschränkungen für die Bereitstellung der ODF.
Kubernetes-Zeichenbegrenzung für Ressourcen-IDs: Kubernetes-PVC-Namen müssen kürzer als 63 Zeichen sein. Wenn Sie die ODF in einem VPC-Cluster mit mehreren Zonen bereitstellen und Ihren ODF-Speichercluster unter Verwendung einer
Metro-retain-Speicherklasse wie ibmc-vpc-block-metro-retain-10iops-tier erstellen, schlägt die entsprechende ODF-Gerätegruppe, die unter Verwendung dieser Speicherklasse erstellt wird, fehl. Weitere Informationen
finden Sie unter Erstellung der ODF-Gerätegruppe schlägt aufgrund der Kubernetes-Zeichenbegrenzung fehl.