Déploiement d'OpenShift Data Foundation sur des clusters de VPC

OpenShift Data Foundation est une solution de stockage hautement disponible qui permet de gérer le stockage permanent des charges de travail conteneurisées sur des clusters Red Hat® OpenShift® on IBM Cloud®.

Pour les charges de travail de virtualisation, OpenShift Virtualization Service inclut ODF préconfiguré avec un stockage NVME local, ce qui élimine la nécessité d'une configuration manuelle. Voir Démarrer avec le service de virtualisation.

L'installation d'OpenShift Data Foundation (ODF) à partir d'OperatorHub n'est pas prise en charge sur les clusters IBM Cloud. Pour installer ODF, procédez comme suit afin de déployer le module complémentaire de cluster.

Droits minimaux requis
Administrator Rôle d'accès à la plateforme
Rôle d'accès au service Manager pour le cluster dans IBM Cloud Kubernetes Service.

ODF est pris en charge sur les clusters VPC privés uniquement à partir de la version 4.16.23_1546_openshift pour les travailleurs CoreOS et 4.16.21_1544_openshift pour les travailleurs RHEL.

Prérequis

  • Installer ou mettre à jour le CLI.
  • Créez un cluster de VPC avec au moins trois noeuds worker.
    • Pour assurer la haute disponibilité, créez un cluster avec au moins un noeud worker par zone sur trois zones.
    • Chaque noeud worker doit disposer au moins de 16 UC et de 64 Go de mémoire vive (RAM). Pour les versions de cluster antérieures à 4.16, assurez-vous que chacune de vos sous-réseaux dispose d'une passerelle publique connectée.
    • Remarque : vous pouvez déployer l OpenShift Data Foundation sur 3 nœuds de travail de 16 CPU et 32 Go de RAM, mais vous devez configurer vos nœuds de travail pour qu'ils n'exécutent que des pods ODF. Vous ne pouvez pas exécuter de charges de travail d'application ou de pods système supplémentaires sur vos noeuds ODF lorsque vous utilisez cette configuration.

Comprendre le comportement de flexibleScaling

À partir de OpenShift Data Foundation 4.21, flexibleScaling est automatiquement activé pour les clusters à zone unique et les déploiements comportant moins de trois zones de disponibilité. La mise à l'échelle flexible permet aux clusters de stockage de s'adapter de manière plus fine, sans devoir recourir à des opérations de mise à l'échelle par multiples de trois.

Expansion granulaire
Faites évoluer la capacité de stockage en ajoutant un seul nœud de travail ou un ou plusieurs OSD, au lieu de procéder uniquement par incréments de trois unités.
Comportement lors du déploiement
La mise à l'échelle flexible est généralement utilisée pour les déploiements de stockage en interne comportant moins de trois domaines de défaillance ou zones de disponibilité. Dans les clusters à zone unique, le domaine de défaillance est défini sur « hôte », et la valeur spécifiée pour « numOfOsd » est directement mise en place. Par exemple, en définissant « numOfOsd » sur 1, on crée 1 OSD.
Configuration statique
Le comportement de mise à l'échelle flexible est défini lors du déploiement initial et ne peut plus être activé ou désactivé par la suite.

Pour un déploiement initial dans des clusters à zone unique, il est recommandé de spécifier au moins 3 OSD pour garantir une résilience adéquate et l'alignement avec les directives de configuration prises en charge.

Dans les clusters multi-zones, le domaine de défaillance est défini sur la zone et les OSD sont provisionnés par multiples de trois pour maintenir la réplication des données et la haute disponibilité entre les zones. Par exemple, le réglage de numOfOsd sur 1 entraîne la création de 3 OSD répartis dans les zones.

Facultatif : désactiver les opérateurs par défaut

Clusters privés uniquement: dans les clusters privés uniquement, vous devez désactiver manuellement les opérateurs par défaut dans openshift-marketplace avec la commande suivante pour que ODF fonctionne correctement.

oc patch OperatorHub cluster --type json -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'

Facultatif : Configuration d'une instance de service IBM Cloud Object Storage

Procédez comme suit pour créer une instance IBM Cloud Object Storage que vous pouvez utiliser comme magasin de sauvegarde par défaut dans votre déploiement ODF. Si vous ne souhaitez pas configurer IBM Cloud Object Storage, vous pouvez ignorer cette étape et installer le module complémentaire.

Si vous souhaitez configurer IBM Cloud Object Storage en tant que magasin de sauvegarde par défaut sur le cluster de stockage, créez une instance d'IBM Cloud Object Storage. Créez ensuite un ensemble de données d'identification HMAC et un secret Kubernetes qui utilise vos données d'identification HMAC Object Storage. Si vous ne spécifiez pas de données d'identification IBM Cloud Object Storage lors de l'installation, le magasin de sauvegarde par défaut sur le cluster de stockage est créé à l'aide des volumes persistants de votre cluster. Vous pouvez configurer des magasins de sauvegarde supplémentaires après le déploiement d'ODF, mais vous ne pouvez pas modifier le magasin de sauvegarde par défaut.

Accédez à votre cluster Red Hat OpenShift.

  1. Créez un espace de noms openshift-storage dans votre cluster. Les pods de pilotes sont déployés dans cet espace de noms. Copiez le contenu YAML suivant et sauvegardez-le sous le nom os-namespace.yaml sur votre machine locale :
    apiVersion: v1
    kind: Namespace
    metadata:
      labels:
        openshift.io/cluster-monitoring: "true"
      name: openshift-storage
    
  2. Créez l'espace de noms openshift-storage en utilisant le fichier YAML que vous avez sauvegardé.
    oc create -f os-namespace.yaml
    
  3. Vérifiez que l'espace de noms a été créé.
    oc get namespaces | grep storage
    
  4. Créez une instance de service IBM Cloud Object Storage.
    ibmcloud resource service-instance-create noobaa-store cloud-object-storage standard global
    
  5. Créez des données d'identification HMAC. Notez vos données d'identification.
    ibmcloud resource service-key-create cos-cred-rw Writer --instance-name noobaa-store --parameters '{"HMAC": true}'
    
  6. Créez le secret Kubernetes nommé ibm-cloud-cos-creds dans l'espace de noms openshift-storage qui utilise vos données d'identification HMAC Object Storage. Lorsque vous exécutez la commande, spécifiez votre ID de clé d'accès HMAC Object Storage et votre clé d'accès secrète. Notez que votre secret doit se nommer ibm-cloud-cos-creds.
    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. Vérifiez que votre secret a bien été créé.
    oc get secrets -A | grep cos
    

Facultatif : Configuration du chiffrement à l'aide d' Hyper Protect Crypto Services ou d' Key Protect

Si vous souhaitez configurer le chiffrement, créez une instance de Hyper Protect Crypto Services ou de Key Protect. Créez ensuite une clé racine et un secret Kubernetes utilisant vos identifiants Hyper Protect Crypto Services ou Key Protect.

IBM Cloud modifie ses services de gestion de clés dédiés. Hyper Protect Crypto Services sera remplacé par Key Protect Dedicated.

Votre clé d'API pour Hyper Protect Crypto Services ou Key Protect doit disposer des droits minimum requis suivants:
Reader
Reader Plus
Si vous utilisez le chiffrement à l'échelle du cluster et le chiffrement de classe de stockage, votre clé d'API doit disposer des droits requis suivants:
Reader
Reader Plus
Writer
  1. Créez une instance de service Hyper Protect Crypto Services ou Key Protect.

  2. Créez une clé racine.

  3. Après avoir créé votre instance et votre clé racine, notez le nom de votre instance Hyper Protect Crypto Services ou Key Protect, son ID, l'ID de la clé racine et le point de terminaison public.

  4. Créez un ID de service, une clé d'API et une règle d'accès qui permettent d'accéder à Hyper Protect Crypto Services et à Red Hat OpenShift on IBM Cloud ou à Key Protect et à Red Hat OpenShift on IBM Cloud. Notez l'API que vous créez.

  5. Clusters privés: créez une passerelle de points d'extrémité virtuels privés qui permet d'accéder à votre instance KMS. Veillez à lier au moins une adresse IP de chaque sous-réseau de votre VPC au VPE.

Accédez à votre cluster Red Hat OpenShift.

  1. Répertoriez vos espaces de nom pour déterminer si vous disposez d'un espace-nomsopenshift-storage. Si vous n'avez pas d'espace de nomopenshift-storage, créez-le.
    oc get namespaces | grep openshift-storage
    
    1. Créez un espace de noms openshift-storage dans votre cluster. Les pods de pilotes sont déployés dans cet espace de noms. Copiez le contenu YAML suivant et sauvegardez-le sous le nom os-namespace.yaml sur votre machine locale :
        apiVersion: v1
        kind: Namespace
        metadata:
          labels:
            openshift.io/cluster-monitoring: "true"
          name: openshift-storage
        ```
    1. Créez l'espace de noms `openshift-storage` en utilisant le fichier YAML que vous avez sauvegardé.
    ```sh {: pre}
        oc create -f os-namespace.yaml
        ```
    1. Vérifiez que l'espace de noms a été créé.
    ```sh {: pre}
        oc get namespaces | grep storage
        ```
    
  2. Codez à la fois l'ID de votre clé racine et la clé d'API de l'ID service que vous avez créé en base64.
    printf "ROOT-KEY-ID" | base64
    
    printf "SERVICE-ID-API-KEY" | base64
    
  3. Créez le secret Kubernetes dans l'espace de nom openshift-storagequi utilise vos données d'identification Hyper Protect Crypto Services.
    1. Enregistrez le secret suivant sous la forme d'un fichier YAML appelé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. Créez le secret dans votre cluster.
    ```sh {: pre}
        oc apply -f ibm-hpcs-secret.yaml
        ```
    
  4. Vérifiez que votre secret a bien été créé.
    oc get secrets -A | grep ibm-hpcs-secret
    

Installation du module complémentaire OpenShift Data Foundation à partir de la console

Pour installer ODF sur le cluster, procédez comme suit :

Avant d'activer l'ajout, consultez le fichier Journal des modifications pour obtenir les dernières informations de version. Consultez également la référence des paramètres pour comprendre les options d’installation.

  1. Dans la console, sélectionnez le cluster sur lequel vous souhaitez installer le module complémentaire.
  2. Sur la fiche Data Foundation d’ OpenShift, cliquez sur Installer. Le panneau Installer ODF s'ouvre.
  3. Dans le panneau Installer ODF, entrez les paramètres de configuration que vous voulez utiliser pour votre déploiement ODF.
Type de facturation
Formule Essentials ou Advanced selon votre forfait de facturation. Pour plus d'informations sur le type de facturation, voir Prise en charge des fonctions par type de facturation.
Classe de stockage
Saisissez la classe de stockage que vous souhaitez utiliser.
  • Pour les clusters VPC utilisant des machines virtuelles, sélectionnez Provisionnement à distance afin de provisionner dynamiquement des volumes pour ODF à l'aide de l' Block Storage for VPC.
  • Pour les clusters VPC qui utilisent des nœuds de travail Bare Metal Servers for VPC, sélectionnez Stockage local. Si vous souhaitez détecter automatiquement les périphériques de stockage disponibles sur vos nœuds de travail et les utiliser dans ODF, sélectionnez Détection des disques locaux.
Nom de la classe de stockage OSD
Saisissez le nom de la classe de stockage que vous souhaitez utiliser pour provisionner des volumes de stockage.
  • Pour les clusters VPC avec Bare Metal Servers for VPC nœuds de travail, sélectionnez localblock.
  • Pour les clusters multizones, utilisez une classe de stockage ayant pour adresse VolumeBindingMode WaitForFirstConsumer.
  • Pour une liste des classes de stockage, voir la référence des classes de stockage.
Taille du module OSD
Saisissez la taille du volume que vous souhaitez provisionner. Saisir au moins 512Gi.
Noeuds worker
Saisissez les noms des nœuds de travail sur lesquels vous souhaitez déployer ODF. Vous devez entrer au moins 3 noms de nœuds worker. Pour trouver les noms de vos nœuds, exécutez la commande oc get nodes dans votre cluster. Node doivent être séparés par des virgules, sans espace entre les noms. Par exemple : 10.240.0.24,10.240.0.26,10.240.0.25. Laissez cette zone vide pour déployer ODF sur tous les nœuds worker.
Nombre de disques OSD requis
Entrez le nombre de disques OSD (stockage d'applications) à provisionner sur chaque nœud de travailleur.
Activer le chiffrement de cluster
Sélectionnez cette option si vous souhaitez crypter les volumes OSD (cryptage à l'échelle de la grappe) utilisés par les modules du système ODF.
Activer le chiffrement de volume
Sélectionnez cette option si vous souhaitez activer le chiffrement des volumes d'application (app storage).
  • Dans la zone Nom d'instance, entrez un nom unique pour votre instance Hyper Protect Crypto Services ou Key Protect.
  • Dans la zone Type d'instance, entrez le type d'instance de chiffrement.
  • Dans le champ Instance ID, saisissez l'ID de votre instance Hyper Protect Crypto Services ou Key Protect. Par exemple : d11a1a43-aa0a-40a3-aaa9-5aaa63147aaa.
  • Dans le champ Nom du secret, saisissez le nom du secret que vous avez créé à l'aide de vos identifiants Hyper Protect Crypto Services ou Key Protect. Par exemple : ibm-hpcs-secret.
  • Dans le champ Base URL, saisissez le point de terminaison public de votre instance Hyper Protect Crypto Services ou Key Protect. Par exemple : https://api.eu-gb.hs-crypto.cloud.ibm.com:8389.
  • Dans la zone URL du jeton, entrez https://iam.cloud.ibm.com/identity/token.
  1. Après avoir entré les paramètres que vous voulez utiliser, cliquez sur Installer

  2. Patientez quelques minutes que le déploiement du module complémentaire se termine. Une fois le déploiement achevé, le statut du module complémentaire affiche Normal - Addon Ready.

  3. Vérifiez votre installation. Accédez à votre cluster Red Hat OpenShift.

  4. Exécutez la commande suivante pour vérifier que les pods ODF s'exécutent.

    oc get pods -n openshift-storage
    
Etapes suivantes
Déployez une application qui utilise ODF.

Installation du module complémentaire à partir de l'interface CLI

Vous pouvez installer le module complémentaire à l'aide de la commande ibmcloud oc cluster addon enable.

  1. Passez en revue la référence de paramètre VPC. Lorsque vous activez le module complémentaire, vous pouvez remplacer les valeurs par défaut en spécifiant l'option --param "key=value" pour chaque paramètre que vous souhaitez remplacer.

  2. Accédez à votre cluster Red Hat OpenShift.

  3. Répertoriez les versions du module complémentaire openshift-data-foundation. Notez la version par défaut et déterminez la version que vous souhaitez installer.

    ibmcloud ks cluster addon versions
    
  4. Avant d'activer l'ajout, consultez le fichier Journal des modifications pour obtenir les dernières informations de version. Notez que le module complémentaire prend en charge les versions de cluster n+1. Par exemple, vous pouvez déployer la version 4.10.0 du module complémentaire sur un OCP ou 4.9 un cluster 4.11. Si vous utilisez une version de cluster autre que celle par défaut, vous devez spécifier l'option --version lorsque vous activez le module complémentaire.

  5. Examinez les options du module complémentaire.

    ibmcloud oc cluster addon options --addon openshift-data-foundation --version 4.15.0
    

    Pour de meilleures performances, il est recommandé d'inclure l'option resourceProfile spécifiée comme performance. Cette option permet d'obtenir des niveaux de performance améliorés en fonction de la disponibilité des ressources pendant le déploiement. Pour plus d'informations sur l'option « resourceProfile », consultez la section «Profils de performances» de la documentation ODF d' Red Hat OpenShift.

    Exemple d'options complémentaires pour la version 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>
    
  6. Activez l'additif openshift-data-foundation. Si vous souhaitez remplacer l'un des paramètres par défaut, spécifiez l'option --param "key=value" pour chaque paramètre que vous souhaitez remplacer. Si vous ne souhaitez pas créer le cluster de stockage lorsque vous activez le module complémentaire, vous pouvez d'abord activer le module complémentaire, puis créer le cluster de stockage ultérieurement en créant une définition de ressource personnalisée (CRD).

    Exemple de commande permettant de déployer la version 4.10 d’un module complémentaire avec les paramètres par défaut du cluster de stockage, le profil de ressource performance et le chiffrement activé via 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"
    

    Exemple de commande pour le déploiement du module complémentaire ODF uniquement.

    ibmcloud oc cluster addon enable openshift-data-foundation -c CLUSTER_NAME --version VERSION --param "odfDeploy=false"
    

    Exemple de commande pour le déploiement d'ODF et la création d'un cluster de stockage les paramètres de configuration par défaut.

    ibmcloud oc cluster addon enable openshift-data-foundation -c CLUSTER_NAME --version VERSION
    

    Exemple de commande pour le déploiement d'ODF et la création d'un cluster de stockage avec remplacement du paramètre osdSize.

    ibmcloud oc cluster addon enable openshift-data-foundation -c CLUSTER_NAME --version VERSION --param "osdSize=500Gi"
    
  7. Vérifiez que le module complémentaire est prêt (Ready).

    oc get storagecluster -n openshift-storage
    

    Exemple de sortie :

    NAME                 AGE   PHASE   EXTERNAL   CREATED AT             VERSION
    ocs-storagecluster   53m   Ready              2023-03-10T12:20:52Z   4.11.0
    
  8. Vérifiez que le pod ibm-ocs-operator-controller-manager-***** est en cours d'exécution dans l'espace de noms kube-system.

    oc get pods -A | grep ibm-ocs-operator-controller-manager
    
  9. Si vous avez activé le module complémentaire avec odfDeploy défini sur false, suivez la procédure de création d'une ressource personnalisée ODF.

Installation du module complémentaire à partir de Terraform

  1. Créer un fichier de fournisseur Terraform. Sauvegardez le fichier dans votre répertoire Terraform. Pour plus d'informations, voir la documentation Terraform IBM Cloud Provider.

    Exemple de fichier de fournisseur Terraform.

    terraform {
    required_providers {
        ibm = {
        source = "IBM-Cloud/ibm"
        version = "1.53.0"
        }
    }
    }
    provider "ibm" {
    region = "us-south"
    ibmcloud_api_key = "<api-key>"
    }
    
  2. Créez un fichier de configuration Terraform pour le module complémentaire ODF. Sauvegardez le fichier dans votre répertoire Terraform.

    Exemple de fichier de configuration.

    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
    
  3. Dans l'interface de ligne de commande, accédez à votre répertoire Terraform.

    cd <terraform_directory>
    
  4. Exécutez les commandes pour initialiser et planifier vos actions Terraform. Examinez la sortie du plan pour vous assurer que les actions correctes sont effectuées.

    terraform init
    
    terraform plan
    
  5. Appliquez les fichiers Terraform pour créer le cluster. Accédez ensuite à la console IBM Cloud pour vérifier que le cluster est mis à disposition.

    terraform apply
    

Création de la ressource personnalisée ODF

Pour créer un cluster de stockage ODF dans le cluster de VPC en utilisant la mise à disposition dynamique des volumes de stockage, vous pouvez créer une ressource personnalisée afin de spécifier les détails de l'unité de stockage.

Si vous souhaitez utiliser une instance de service IBM Cloud Object Storage comme magasin de sauvegarde par défaut, vérifiez que vous avez créé l'instance de service et que vous avez créé le secret Kubernetes dans votre cluster. Lorsque vous créez la définition de ressource personnalisée ODF sur le cluster, ODF recherche un secret nommé ibm-cloud-cos-creds pour configurer le magasin de sauvegarde par défaut à l'aide de vos données d'identification HMAC Object Storage.

  1. Créez une définition de ressource personnalisée appelée OcsCluster. Enregistrez l'un des fichiers de définition de ressource personnalisée suivants sur votre machine locale et modifiez-le pour y inclure le nom de la classe de stockage que vous avez créée précédemment en tant que paramètres osdStorageClassName et monStorageClassName. Pour plus d'informations sur les paramètres OcsCluster, voir les informations de référence des paramètres.

    Exemple de définition de ressource personnalisée pour l'installation d'ODF sur tous les nœuds worker sur un cluster 4.8.

    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
    

    Exemple de définition de ressource personnalisée pour l'installation d'ODF uniquement sur des nœuds worker spécifiés sur un cluster 4.8.

    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>
    
  2. Sauvegardez le fichier et créez la définition de ressource personnalisée OcsCluster sur votre cluster.

    oc create -f <ocs-cluster-filename>.yaml
    
  3. Vérifiez que votre ressource personnalisée OcsCluster est en cours d'exécution.

    oc describe ocscluster ocscluster-vpc
    

    Exemple de sortie

    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>
    
  4. Déployez une application qui utilise ODF.

Mise à l'échelle d'ODF

Vous pouvez étendre votre configuration ODF en augmentant le paramètre numOfOsd. Lorsque vous augmentez le nombre d'OSD, ODF met à disposition le nombre de disques spécifié en leur affectant une capacité identique égale à osdSize(en Go) sur chacun des noeuds worker du cluster ODF. Par contre, la mémoire totale disponible pour vos applications correspond à la valeur définie pour osdSize multipliée par la valeur de numOfOsd.

OpenShift Data Foundation scaling.
Nombre de noeuds worker TauxosdSize numOfOsd Capacité de stockage disponible pour les applications Stockage total des disques mis à disposition
3 250Gi 1 250Gi 750Gi
3 250Gi 2 500Gi 1500Gi
3 250Gi 3 750Gi 2250Gi
3 250Gi 4 1000Gi 3000Gi

Mise à l'échelle en augmentant la valeur de numOfOsd

Accédez à votre cluster Red Hat OpenShift.

  1. Obtenez le nom de votre ressource personnalisée OcsCluster.

    oc get ocscluster
    
  2. Sauvegardez votre fichier YAML de ressources personnalisées OcsCluster sur votre machine locale, sous le nom ocscluster.yaml.

    oc get ocscluster ocscluster-vpc -o yaml
    
  3. Augmentez la valeur du paramètre numOfOsd et réappliquez la CRD ocscluster à votre cluster.

    oc apply -f ocscluster.yaml
    
  4. Vérifiez que les OSD supplémentaires ont été créés.

    oc get pv
    

Extension d'OCS en ajoutant des noeuds worker au cluster de VPC

Pour augmenter la capacité de stockage de votre cluster de stockage, ajoutez des noeuds worker compatibles sur votre cluster.

  1. Etendez le pool de noeuds worker du cluster utilisé pour OCS en ajoutant des noeuds worker. Vérifiez que les noeuds worker respectent la configuration requise pour ODF. Si vous avez déployé ODF sur tous les noeuds worker de votre cluster, les pilotes ODF sont installés sur les nouveaux noeuds worker lorsqu'ils sont ajoutés au cluster.

  2. Si vous avez déployé ODF sur un sous-ensemble de nœuds de travail de votre cluster en spécifiant les <workerNodes> paramètres privés dans votre ressource OcsCluster personnalisée, vous pouvez ajouter le nom des nouveaux nœuds de travail à votre déploiement ODF en modifiant la définition de la ressource personnalisée.

    oc edit ocscluster ocscluster-vpc
    
  3. Sauvegardez le fichier de ressources personnalisées OcsCluster pour le réappliquer à votre cluster.

Limitations

Examinez les limitations décrites ci-après pour le déploiement d'ODF.

Limite de caractères des ID ressource Kubernetes : les noms de réservation de volume persistant Kubernetes doivent comporter moins de 63 caractères. Si vous déployez ODF sur un cluster de VPC multizone et que vous créez le cluster de stockage ODF à l'aide d'une classe de stockage de métropole retain, comme ibmc-vpc-block-metro-retain-10iops-tier, l'ensemble d'unités ODF correspondant créé à l'aide de cette classe de stockage échoue. Pour plus d'informations, voir la rubrique décrivant l'échec de la création de l'ensemble d'unités ODF en raison de la limitation des caractères Kubernetes.

Référence des classes de stockage

Informations de référence des classes de stockage ODF