Installation du plug-in « IBM Cloud Object Storage »
Cloud privé virtuel Infrastructure classique
Installez le plug-in IBM Cloud Object Storage pour configurer des classes de stockage prédéfinies pour IBM Cloud Object Storage. Vous pouvez utiliser ces classes de stockage pour créer une réservation de volume persistant afin de mettre à disposition IBM Cloud Object Storage pour vos applications.
Installation du plug-in via Helm
- Prérequis
- Le plug-in IBM Cloud Object Storage nécessite au moins 0,2 UC et 128 Mo de mémoire.
Avant de commencer : Connectez-vous à votre compte. Le cas échéant, ciblez le groupe de ressources approprié. Définissez le contexte de votre cluster.
Installez le plug-in « ibmc » ( Helm ) ainsi que le plug-in « ibm-object-storage-plugin » :
-
Vérifiez que votre noeud worker applique le dernier correctif pour votre version secondaire afin d'exécuter votre noeud worker avec les paramètres de sécurité les plus récents. La version de correctif garantit également le renouvellement du mot de passe root sur le noeud worker.
Si vous n'avez pas appliqué des mises à jour ni rechargé votre noeud worker au cours des 90 derniers jours, votre mot de passe root sur le noeud worker expire et l'installation du plug-in de stockage est susceptible d'échouer.
- Répertoriez la version de correctif en cours pour vos noeuds worker.
ibmcloud ks worker ls --cluster CLUSTER_NAME_OR_ID ``` Exemple de sortie ```sh {: screen} OK ID Public IP Private IP Machine Type State Status Zone Version kube-dal10-crb1a23b456789ac1b20b2nc1e12b345ab-w26 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16.encrypted normal Ready dal10 1.35_1523* ``` Si votre noeud worker n'applique pas la dernière version de correctif, un astérisque (`*`) apparaît dans la colonne **Version** de votre sortie d'interface de ligne de commande. 2. Passez en revue les [informations de version deKubernetes](/docs/containers?topic=containers-cs_versions) pour trouver les dernières modifications. 3. Appliquez la dernière version de correctif en rechargeant votre noeud worker. Suivez les instructions fournies dans la [commande « ibmcloud ks worker reload](/docs/containers?topic=containers-kubernetes-service-cli#worker-reload-cli) » pour replanifier en toute sécurité les pods en cours d'exécution sur votre nœud de travail avant de recharger ce dernier. Notez que durant le rechargement, la machine de votre noeud worker est mise à jour avec l'image la plus récente et les données sont supprimées si elles ne sont pas [stockées hors du noeud worker](/docs/containers?topic=containers-storage-plan). -
Consultez le journal des modifications et vérifiez la prise en charge de votre architecture et version du cluster.
-
Suivez les instructions pour installer le client Helm version 3 sur votre machine locale.
Si vous avez activé VRF et des noeuds finaux de service dans votre compte IBM Cloud, vous pouvez utiliser le référentiel Helm d'IBM Cloud privé pour conserver votre trafic d'extraction d'image sur le réseau privé. Si vous ne pouvez pas activer VRF ou les nœuds finaux de service dans votre compte, utilisez le référentiel Helm public.
-
Ajoutez le référentiel Helm IBM Cloud dans votre cluster :
helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm -
Mettez à jour les référentiel Helm pour extraire la version la plus récente de tous les graphiques Helm dans ce référentiel.
helm repo update -
Si vous avez installé le plug-in IBM Cloud Object Storage Helm plus tôt, supprimez le plug-in
ibmc.helm plugin uninstall ibmc -
Téléchargez les chartes Helm et décompressez-les dans votre répertoire de travail.
helm fetch --untar ibm-helm/ibm-object-storage-pluginSi la sortie contient le message d'erreur
Error: failed to untar: a file or directory with the name ibm-object-storage-plugin already exists, supprimez votre répertoireibm-object-storage-pluginet réexécutez la commandehelm fetch. -
Si vous installez le plug-in pour la première fois, installez le plug-in IBM Cloud Object Storage Helm
ibmc. Le plug-in extrait automatiquement l'emplacement de votre cluster et vous permet de définir le noeud final de l'API pour vos segments IBM Cloud Object Storage dans vos classes de stockage. Si vous utilisez Windows comme système d'exploitation, sautez cette étape.Le plug-in
ibmcn'est pas pris en charge sous Windows.- Installez le plug-in Helm.
helm plugin install ./ibm-object-storage-plugin/helm-ibmc ``` 2. Vérifiez que le plug-in `ibmc` est installé correctement. ```sh {: pre} helm ibmc --help ``` Exemple de sortie ```sh {: screen} Helm version: v3.13.1+g3547a4b Install or upgrade Helm charts in IBM K8S Service(IKS) Usage: helm ibmc [command] Available Commands: install Install a Helm chart upgrade Upgrade the release to a new version of the Helm chart Available Flags: -h, --help (Optional) This text. -u, --update (Optional) Update this plugin to the latest version Example Usage: Install: helm ibmc install ibm-object-storage-plugin ibm-helm/ibm-object-storage-plugin Upgrade: helm ibmc upgrade [RELEASE] ibm-helm/ibm-object-storage-plugin Note: 1. It is always recommended to install latest version of ibm-object-storage-plugin chart. 2. It is always recommended to have 'kubectl' client up-to-date. ``` 3. **Facultatif**: si le résultat affiche l'erreur « `Error: fork/exec /home/iksadmin/.helm/plugins/helm-ibmc/ibmc.sh: permission denied` », exécutez la commande suivante. ```sh {: pre} chmod 755 /Users/<user_name>/Library/helm/plugins/helm-ibmc/ibmc.sh ``` Relancez ensuite la commande `ibmc --help`. ```sh {: pre} helm ibmc --help ``` -
Facultatif: limitez l'accès du plug-in « IBM Cloud Object Storage » aux secrets de « Kubernetes » qui contiennent vos identifiants de connexion au service « IBM Cloud Object Storage ». Par défaut, le plug-in peut accéder à tous les secrets de Kubernetes dans votre cluster.
- Créez votre instance de service IBM Cloud Object Storage.
- Stockez vos données d'identification de service IBM Cloud Object Storage dans un secret Kubernetes).
- Accédez au répertoire
ibm-object-storage-plugin.
cd ibm-object-storage-plugin ``` 3. Depuis `ibm-object-storage-plugin`, accédez au répertoire `templates` et répertoriez les fichiers disponibles. OS X et Linux ```sh {: pre} cd templates && ls ``` Windows ```sh {: pre} chdir templates && dir ``` 4. Ouvrez le fichier `provisioner-sa.yaml` et recherchez la définition `ibmcloud-object-storage-secret-reader` `ClusterRole`. 5. Ajoutez le nom du secret que vous avez créé auparavant dans la liste des secrets auxquels le plug-in est autorisé à accéder dans la section `resourceNames`. ```yaml {: codeblock} kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: ibmcloud-object-storage-secret-reader rules: - apiGroups: [""] resources: ["secrets"] resourceNames: ["<secret_name1>","<secret_name2>"] verbs: ["get"] ``` 6. Sauvegardez vos modifications et accédez à votre répertoire de travail. -
Installez
ibm-object-storage-plugindans votre cluster. Lorsque vous installez le plug-in, des classes de stockage prédéfinies sont ajoutées dans votre cluster. Si vous avez effectué l'étape précédente pour limiter l'accès du plug-in IBM Cloud Object Storage uniquement aux secrets Kubernetes contenant vos données d'identification pour le service IBM Cloud Object Storage et que vous ciblez toujours le répertoiretemplates, remplacez les répertoires par votre répertoire de travail. Pour définir une limite de capacité de stockage disponible pour le compartiment, configurez l'option «--set quotaLimit=true» ( Uniquement pour les clusters VPC ): pour activer les adresses IP autorisées sur le VPC, activez l'option «--set bucketAccessPolicy=true» (Autoriser les adresses IP spécifiques).
Si vous ne définissez pas l'option --set quotaLimit=true lors de l'installation, vous ne pouvez pas définir de quotas pour vos PVC.
Exemple helm ibmc install commandes pour les systèmes d'exploitation non Windows.
helm ibmc install ibm-object-storage-plugin ibm-helm/ibm-object-storage-plugin --set license=true [--set quotaLimit=true/false] [--set bucketAccessPolicy=true/false] [--set allowCrossNsSecret=true/false]
Exemple de commande helm install pour Windows.
helm install ibm-object-storage-plugin ./ibm-object-storage-plugin --set dcname="${DC_NAME}" --set provider="${CLUSTER_PROVIDER}" --set workerOS="${WORKER_OS}" --set region="${REGION} --set platform="${PLATFORM}" --set license=true [--set bucketAccessPolicy=false]
quotaLimit- Une limite de quota définit la quantité maximale de stockage (en octets) disponible pour un compartiment. Si vous définissez cette option sur
true, lorsque vous créez des réservations de volume persistant, le quota sur les compartiments créés par ces réservations de volume persistant est égal à la taille de la réservation de volume persistant. La valeur par défaut esttrue. allowCrossNsSecret- Par défaut, le plug-in recherche le secret Kubernetes dans des espaces de nom autres que l'espace de nom PVC. Si vous définissez cette option sur
false, le plug-in recherche le secret Kubernetes uniquement dans l'espace de nom PVC. La valeur par défaut esttrue. kubeDriver- Définit sur
/usr/libexec/kubernetes. DC_NAME- Centre de données du cluster. Pour obtenir la valeur du centre de données, exécutez la commande
kubectl get cm cluster-info -n kube-system -o jsonpath="{.data.cluster-config\.json}{'\n'}". Stockez la valeur du centre de données dans une variable d'environnement en exécutantSET DC_NAME=<datacenter>. Facultatif : définissez la variable d'environnement dans Windows PowerShell en exécutant$env:DC_NAME="<datacenter>". CLUSTER_PROVIDER- Fournisseur d'infrastructure. Pour obtenir cette valeur, exécutez
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/iaas-provider}{'\n'}". Si la sortie de l'étape précédente contientsoftlayer, affectez au paramètreCLUSTER_PROVIDERla valeur"IBMC". Si la sortie contientgc,ngoug2, définissezCLUSTER_PROVIDERsur"IBMC-VPC". Stockez la valeur du fournisseur d'infrastructure dans une variable d'environnement. Par exemple :SET CLUSTER_PROVIDER="IBMC-VPC". WORKER_OSetPLATFORM- Système d'exploitation des noeuds worker. Pour obtenir ces valeurs, exécutez
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}". Stockez la valeur du système d'exploitation des noeuds worker (WORKER_OS) dans une variable d'environnement. Pour les clusters IBM Cloud Kubernetes Service, exécutezSET WORKER_OS="debian"etSET PLATFORM="k8s". REGION- Région des noeuds worker. Pour obtenir cette valeur, exécutez
kubectl get nodes -o yaml | grep 'ibm-cloud\.kubernetes\.io/region'. Stockez la région des nœuds worker dans une variable d'environnement en exécutantSET REGION="< region>".
Mise à jour du plug-in IBM Cloud Object Storage
Vous pouvez mettre à niveau le plug-in IBM Cloud Object Storage existant vers la version la plus récente.
-
Obtenez le nom de l'édition Helm du plug-in IBM Cloud Object Storage et la version du plug-in dans votre cluster.
helm ls -A | grep objectExemple de sortie
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION <release_name> <namespace> 1 2020-02-13 16:05:58.599679 -0500 EST deployed ibm-object-storage-plugin-1.1.2 1.1.2 -
Mettez à jour IBM Cloud Helm repo pour extraire la version la plus récente de tous les graphiques Helm dans ce référentiel.
helm repo update -
Mettez à jour IBM Cloud Object Storage
ibmcHelm plug-in à la version la plus récente.helm ibmc --update -
Installez la version la plus récente de
ibm-object-storage-pluginpour votre système d'exploitation.Exemple
helm ibmc upgradecommande pour les systèmes d'exploitation non Windows.helm ibmc upgrade ibm-object-storage-plugin ibm-helm/ibm-object-storage-plugin --set license=true [--set quotaLimit=true/false] [--set bucketAccessPolicy=true/false] [--set allowCrossNsSecret=true/false]Exemple de commande
helm upgradepour Windows.helm upgrade ibm-object-storage-plugin ./ibm-object-storage-plugin --set dcname="${DC_NAME}" --set provider="${CLUSTER_PROVIDER}" --set workerOS="${WORKER_OS}" --set region="${REGION} --set platform="${PLATFORM}" --set license=true [--set bucketAccessPolicy=false]DC_NAME- Centre de données du cluster. Pour obtenir la valeur du centre de données, exécutez la commande
kubectl get cm cluster-info -n kube-system -o jsonpath="{.data.cluster-config\.json}{'\n'}". Stockez la valeur du centre de données dans une variable d'environnement en exécutantSET DC_NAME=<datacenter>. Facultatif : définissez la variable d'environnement dans Windows PowerShell en exécutant$env:DC_NAME="<datacenter>". CLUSTER_PROVIDER- Fournisseur d'infrastructure. Pour obtenir cette valeur, exécutez
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/iaas-provider}{'\n'}". Si la sortie de l'étape précédente contientsoftlayer, affectez au paramètreCLUSTER_PROVIDERla valeur"IBMC". Si la sortie contientgc,ngoug2, définissezCLUSTER_PROVIDERsur"IBMC-VPC". Stockez la valeur du fournisseur d'infrastructure dans une variable d'environnement. Par exemple :SET CLUSTER_PROVIDER="IBMC-VPC". WORKER_OSetPLATFORM- Système d'exploitation des noeuds worker. Pour obtenir ces valeurs, exécutez
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}". Stockez la valeur du système d'exploitation des noeuds worker (WORKER_OS) dans une variable d'environnement. Pour les clusters IBM Cloud Kubernetes Service, exécutezSET WORKER_OS="debian"etSET PLATFORM="k8s". REGION- Région des noeuds worker. Pour obtenir cette valeur, exécutez
kubectl get nodes -o yaml | grep 'ibm-cloud\.kubernetes\.io/region'. Stockez la région des nœuds worker dans une variable d'environnement en exécutantSET REGION="< region>". |
-
Vérifiez que la mise à niveau du plug-in
ibmcloud-object-storage-plugina abouti. La mise à niveau du plug-in a abouti lorsque vous voyez le messagedeployment "ibmcloud-object-storage-plugin" successfully rolled outdans la sortie de l'interface de ligne de commande.kubectl rollout status deployment/ibmcloud-object-storage-plugin -n ibm-object-s3fs -
Vérifiez que la mise à niveau du plug-in
ibmcloud-object-storage-drivera abouti. La mise à niveau a abouti lorsque vous voyez le messagedaemon set "ibmcloud-object-storage-driver" successfully rolled outdans la sortie de l'interface de ligne de commande.kubectl rollout status ds/ibmcloud-object-storage-driver -n ibm-object-s3fs -
Vérifiez que les pods IBM Cloud Object Storage sont à l'état
Running.kubectl get pods -n <namespace> -o wide | grep object-storage
Si vous rencontrez des difficultés pour mettre à jour le plug-in IBM Cloud Object Storage, voir Stockage d'objets : échec de l'installation du plug-in ibmc Helm de stockage d'objets et Stockage d'objets : échec de l'installation du plug-in IBM Cloud Object Storage.
Suppression du plug-in IBM Cloud Object Storage
Si vous ne souhaitez pas fournir et utiliser IBM Cloud Object Storage dans votre cluster, vous pouvez désinstaller le plug-in ibm-object-storage-plugin et le plug-in ibmc Helm.
La suppression du plug-in ibmcHelm ou de ibm-object-storage-pluginne supprime pas les PVC, les PV ou les données existants. Lorsque vous supprimez ibm-object-storage-plugin, tous les jeux de pilotes et
les ensembles de démons associés sont supprimés de votre cluster, ce qui signifie que vous ne pouvez pas fournir de nouveau IBM Cloud Object Storage pour votre cluster, à moins que vous ne configuriez votre application pour utiliser l'API
IBM Cloud Object Storage directement. Il n'y a pas d'impact sur les PVC et les PV existants.
Avant de commencer :
- Connectez-vous à votre compte. Le cas échéant, ciblez le groupe de ressources approprié. Définissez le contexte de votre cluster.
- Vérifiez que votre cluster ne contient pas des PVC ou des PV qui utilisent IBM Cloud Object Storage. Pour répertorier toutes les pods qui montent un PVC spécifique, exécutez
kubectl get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>".
Pour supprimer le plug-in ibmc Helm et ibm-object-storage-plugin:
-
Obtenez le nom de votre installation Helm
ibm-object-storage-plugin.helm ls -A | grep ibm-object-storage-pluginExemple de sortie
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION ibm-object-storage-plugin default 2 2020-04-01 08:46:01.403477 -0400 EDT deployed ibm-object-storage-plugin-1.1.4 1.1.4 -
Désinstallez
ibm-object-storage-plugin.helm uninstall <release_name>Exemple de commande pour une édition nommée
ibm-object-storage-plugin.helm uninstall ibm-object-storage-plugin -
Vérifiez que les pods
ibm-object-storage-pluginont été retirés.kubectl get pod -n <namespace> | grep object-storageLe retrait des pods a abouti lorsqu'aucun pod n'est affiché dans la sortie de votre interface de ligne de commande. Le retrait des classes de stockage a abouti lorsqu'aucune classe de stockage n'est affichée dans la sortie de votre interface de ligne de commande.
-
Vérifiez que les classes de stockage sont bien retirées.
kubectl get sc | grep s3 -
Si vous utilisez OS X ou une distribution Linux, retirez le plug-in Helm
ibmc. Si vous utilisez Windows, cette étape n'est pas nécessaire.- Retirez le plug-in Helm
ibmc.
helm plugin uninstall ibmc ``` 2. Vérifiez que le plug-in `ibmc` est bien retiré. Le retrait du plug-in `ibmc` a abouti si le plug-in `ibmc` n'est pas répertorié dans la sortie de l'interface de ligne de commande. ```sh {: pre} helm plugin list ``` Exemple de sortie ```sh {: screen} NAME VERSION DESCRIPTION ``` - Retirez le plug-in Helm
Détermination de la configuration de stockage d'objets
IBM Cloud Kubernetes Service fournit des classes de stockage prédéfinies que vous pouvez utiliser pour créer des compartiments avec une configuration spécifique.
-
Répertoriez les classes de stockage disponibles dans IBM Cloud Kubernetes Service.
kubectl get sc | grep s3Exemple de sortie
ibmc-s3fs-cold-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-cold-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-smart-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-smart-perf-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-smart-perf-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-smart-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-standard-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-standard-perf-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-standard-perf-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-standard-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-vault-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-vault-regional ibm.io/ibmc-s3fs 8m -
Sélectionnez une classe de stockage qui convient à vos exigences en matière d'accès aux données. La classe de stockage détermine la capacité de stockage, les opérations de lecture et d'écriture, ainsi que la bande passante sortante d'un compartiment. Le choix qui vous convient le mieux dépend de la fréquence à laquelle des données sont lues et écrites sur votre instance de service.
- Standard : option utilisée pour les données les plus sollicitées auxquelles l'accès est fréquent. Les cas d'utilisation courants sont les applications Web ou mobiles.
- Vault : option utilisée pour les charges de travail ou les données dont l'accès n'est pas fréquent, par exemple une fois par mois ou moins. Les cas d'utilisation courants sont les archives, la conservation à court-terme des données, la conservation de documents numériques, le remplacement d'une bande et la reprise après incident.
- Cold : option utilisée pour les données les moins sollicitées qui font l'objet d'un accès peu fréquent (tous les 90 jours ou moins) ou les données inactives. Les cas d'utilisation courants sont les archives, les sauvegardes à long terme, les données d'historique que vous conservez à des fins de conformité ou les charges de travail ou les applications auxquelles l'accès est plutôt rare.
- « Smart » : cette option est utilisée pour les charges de travail et les données qui ne suivent pas de modèle d'utilisation spécifique, ou dont le volume est trop important pour permettre de déterminer ou de prévoir un modèle d'utilisation.
-
Déterminez le niveau de résilience des données stockées dans votre compartiment. Pour plus d'informations, voir Régions et noeuds finaux.
- Cross-region : avec cette option, vos données sont stockées entre trois régions au sein d'une géolocalisation pour assurer une haute disponibilité. Si vous disposez de charges de travail réparties sur plusieurs régions,
les demandes sont acheminées vers le noeud final régional le plus proche. Le noeud final d'API correspondant à la géolocalisation est automatiquement défini par le plug-in Helm
ibmcque vous avez installé précédemment en fonction de l'emplacement de votre cluster. Par exemple, si votre cluster se trouve dans la région du Sud des Etats-Unis (US South), vos classes de stockage sont configurées pour utiliser le noeud final d'APIUS GEOpour vos compartiments. - Regional : avec cette option, vos données sont répliquées entre plusieurs zones au sein d'une région. Si vous disposez de charges de travail situées dans la même région, vous observez des temps d'attente plus faibles et
de meilleures performances qu'avec une configuration inter-régionale. Le noeud final régional est automatiquement défini par le plug-in Helm
ibmque vous avez installé auparavant en fonction de l'emplacement de votre cluster. Par exemple, si votre cluster se trouve dans la région du Sud des Etats-Unis (US South), vos classes de stockage ont été configurées pour utiliser le noeud final d'APIUS Southpour vos compartiments.
- Cross-region : avec cette option, vos données sont stockées entre trois régions au sein d'une géolocalisation pour assurer une haute disponibilité. Si vous disposez de charges de travail réparties sur plusieurs régions,
les demandes sont acheminées vers le noeud final régional le plus proche. Le noeud final d'API correspondant à la géolocalisation est automatiquement défini par le plug-in Helm
-
Passez en revue la configuration détaillée d'un compartiment IBM Cloud Object Storage pour une classe de stockage.
kubectl describe storageclass <storageclass_name>Exemple de sortie
Name: ibmc-s3fs-standard-cross-region IsDefaultClass: No Annotations: <none> Provisioner: ibm.io/ibmc-s3fs Parameters: ibm.io/chunk-size-mb=16,ibm.io/curl-debug=false,ibm.io/debug-level=warn,ibm.io/iam-endpoint=https://iam.bluemix.net,ibm.io/kernel-cache=true,ibm.io/multireq-max=20,ibm.io/object-store-endpoint=https://s3-api.dal-us-geo.objectstorage.service.networklayer.com,ibm.io/object-store-storage-class=us-standard,ibm.io/parallel-count=2,ibm.io/s3fs-fuse-retry-count=5,ibm.io/stat-cache-size=100000,ibm.io/tls-cipher-suite=AESGCM AllowVolumeExpansion: <unset> MountOptions: <none> ReclaimPolicy: Delete VolumeBindingMode: Immediate Events: <none>ibm.io/chunk-size-mb- Taille d'un bloc de données dont la lecture ou l'écriture s'effectue dans IBM Cloud Object Storage, exprimée en mégaoctets. Les classes de stockage dont le nom contient
perfsont configurées avec 52 mégaoctets. Les classes de stockage dont le nom ne contient pasperfutilisent des blocs de 16 mégaoctets. Par exemple, pour lire un fichier d'une taille de1GB, le plug-in lit ce fichier par blocs de 16 ou 52 mégaoctets. ibm.io/curl-debug- Active la journalisation des demandes envoyées à l'instance de service IBM Cloud Object Storage. Si cette option est activée, les journaux sont envoyés à
sysloget vous pouvez transférer les journaux à un serveur de journalisation externe. Par défaut, toutes les classes de stockage sont définies surfalsepour désactiver cette fonction de journalisation. ibm.io/debug-level- Niveau de journalisation défini par le plug-in IBM Cloud Object Storage. Toutes les classes de stockage sont définies avec le niveau de journalisation
WARN. ibm.io/iam-endpoint- Noeud final d'API pour IBM Cloud Identity and Access Management (IAM).
ibm.io/kernel-cache- Active ou désactive le cache de mémoire tampon du noyau pour le point de montage du volume. Si cette option est activée, les données lues dans IBM Cloud Object Storage sont stockées dans le cache du noyau pour garantir un accès en lecture
rapide à vos données. Si cette option est désactivée, les données ne sont pas mises en cache et sont toujours lues à partir d'IBM Cloud Object Storage. Le cache du noyau est activé pour les classes de stockage «
standard» et «smart», et désactivé pour les classes de stockage «cold» et «vault». ibm.io/multireq-max- Nombre maximal de demandes parallèles pouvant être envoyées à l'instance de service IBM Cloud Object Storage pour répertorier les fichiers d'un répertoire. Toutes les classes de stockage sont configurées avec un maximum de 20 demandes parallèles.
ibm.io/object-store-endpoint- Noeud final d'API à utiliser pour accéder au compartiment dans votre instance de service IBM Cloud Object Storage. Le noeud final est automatiquement défini en fonction de la région dans laquelle se trouve votre cluster. Si vous souhaitez accéder à un compartiment existant situé dans une région différente de celle où se trouve votre cluster, vous devez créer votre propre classe de stockage et utiliser le point de terminaison de l'API correspondant à votre compartiment.
ibm.io/object-store-storage-class- Nom de la classe de stockage.
ibm.io/parallel-count- Nombre maximal de demandes parallèles pouvant être envoyées à l'instance de service IBM Cloud Object Storage pour une seule opération de lecture ou d'écriture. Les classes de stockage dont le nom contient
perfsont configurées avec un maximum de 20 demandes parallèles. Les classes de stockage dont le nom ne contient pasperfsont configurées avec deux demandes parallèles par défaut. ibm.io/s3fs-fuse-retry-count- Nombre maximal de relances d'une opération de lecture ou d'écriture avant de considérer qu'une opération a échoué. Toutes les classes de stockage sont configurées avec un maximum de cinq relances.
ibm.io/stat-cache-size- Nombre maximal d'enregistrements conservés dans le cache de métadonnées d'IBM Cloud Object Storage. Tous les enregistrements peuvent avoir jusqu'à 0,5 kilooctet. Toutes les classes de stockage règlent le nombre maximal d'enregistrements sur 100000 par défaut.
ibm.io/tls-cipher-suite- Suite de chiffrement TLS qui doit être utilisée lorsqu'une connexion à IBM Cloud Object Storage est établie via le noeud final HTTPS. La valeur de la suite de chiffrement doit respecter le format OpenSSL. Si vos noeuds worker exécutent un système d'exploitation Ubuntu, vos classes de stockage sont configurées pour utiliser la suite de chiffrement
AESGCMpar défaut. Pour les noeuds worker qui exécutent un système d'exploitation Red Hat, la suite de chiffrementecdhe_rsa_aes_128_gcm_sha_256est utilisée par défaut.
Pour plus d'informations sur chaque classe de stockage, voir Référence des classes de stockage. Si vous souhaitez modifier l'une des valeurs prédéfinies, créez votre propre classe de stockage personnalisée.
-
Déterminez le nom de votre compartiment. Ce nom doit être unique dans IBM Cloud Object Storage. Vous pouvez également opter pour la création automatique d'un nom pour votre compartiment par le plug-in IBM Cloud Object Storage. Pour organiser les données dans un compartiment, vous pouvez créer des sous-répertoires.
La classe de stockage que vous avez choisie auparavant détermine la tarification de la totalité de votre compartiment. Vous ne pouvez pas définir différentes classes de stockage pour les sous-répertoires. Si vous souhaitez stocker les données avec différentes exigences en termes d'accès, envisagez la création de plusieurs compartiments en utilisant plusieurs réservations de volume persistant (PVC).
-
Déterminez si vous voulez conserver vos données ainsi que le compartiment, après la suppression du cluster ou de la réservation de volume persistant (PVC). Lorsque vous supprimez la PVC, le volume persistant est toujours supprimé. Vous pouvez déterminer si vous souhaitez également supprimer les données et le compartiment lorsque vous supprimez la PVC. Votre instance de service IBM Cloud Object Storage est indépendante de la règle de conservation que vous sélectionnez pour vos données et n'est jamais retirée lorsque vous supprimez une PVC.
Dès que vous avez déterminé la configuration que vous désirez, vous êtes prêt à créer une PVC pour mettre à disposition IBM Cloud Object Storage.
Vérification de votre installation
Examinez les détails relatifs aux pods pour vérifier que l'installation du plug-in a abouti.
-
Vérifiez que l'installation a réussi en listant les pods du pilote.
kubectl get pod --all-namespaces -o wide | grep objectExemple de sortie
ibmcloud-object-storage-driver-9n8g8 1/1 Running 0 2m ibmcloud-object-storage-plugin-7c774d484b-pcnnx 1/1 Running 0 2mL'installation a abouti lorsque vous voyez un pod
ibmcloud-object-storage-pluginet un ou plusieurs podsibmcloud-object-storage-driver. Le nombre de podsibmcloud-object-storage-driverest égal au nombre de noeuds worker figurant dans votre cluster. Tous les pods doivent être à l'étatRunningpour que le plug-in fonctionne correctement. Si les pods échouent, exécutezkubectl describe pod -n ibm-object-s3fs <pod_name>pour rechercher la cause principale de l'échec. -
Vérifiez que la création des classes de stockage a abouti.
kubectl get sc | grep s3Exemple de sortie
ibmc-s3fs-cold-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-cold-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-smart-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-smart-perf-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-smart-perf-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-smart-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-standard-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-standard-perf-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-standard-perf-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-standard-regional ibm.io/ibmc-s3fs 8m ibmc-s3fs-vault-cross-region ibm.io/ibmc-s3fs 8m ibmc-s3fs-vault-regional ibm.io/ibmc-s3fs 8mSi vous souhaitez définir l'une des classes de stockage IBM Cloud Object Storage comme classe de stockage par défaut, exécutez
kubectl patch storageclass <storageclass> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'. Remplacez<storageclass>par le nom de la classe de stockage IBM Cloud Object Storage. -
Suivez les instructions pour ajouter Object Storage à vos applications.
Si vous rencontrez des difficultés pour installer le plug-in IBM Cloud Object Storage, voir Stockage d'objets : échec de l'installation du plug-in ibmc Helm de stockage d'objets et Stockage d'objets : échec de l'installation du plug-in IBM Cloud Object Storage.