Installazione del plug-in IBM Cloud Object Storage
Virtual Private Cloud Infrastruttura classica
Installare il plug-in IBM Cloud Object Storage per impostare classi di archiviazione predefinite per IBM Cloud Object Storage. Puoi utilizzare queste classi di archiviazione per creare una PVC per eseguire il provisioning di IBM Cloud Object Storage per le tue applicazioni.
Installazione del plug-in tramite Helm
- Prerequisiti
- Il plugin IBM Cloud Object Storage richiede almeno 0.2 vCPU e 128 MB di memoria.
Prima di iniziare: Accedi al tuo account. Se applicabile, specifica il gruppo di risorse appropriato. Imposta il contesto per il tuo cluster.
Installa il plug-in ibmc Helm e il file ibm-object-storage-plugin:
-
Assicurati che il tuo nodo di lavoro applichi la patch più recente per la tua versione secondaria per eseguire il tuo nodo di lavoro con le impostazioni di sicurezza più recenti. La versione patch garantisce anche che la password root sul nodo di lavoro sia rinnovata.
Se non hai applicato gli aggiornamenti o ricaricato il tuo nodo di lavoro negli ultimi 90 giorni, la tua password root scade e l'installazione del plugin di archiviazione potrebbe non riuscire.
- Elenca la versione patch corrente dei tuoi nodi di lavoro.
ibmcloud ks worker ls --cluster CLUSTER_NAME_OR_ID ``` Output di esempio ```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* ``` Se il tuo nodo di lavoro non applica la versione patch più recente, viene visualizzato un asterisco (`*`) nella colonna **Versione** del tuo output della CLI. 2. Esamina le informazioni sulla versione di [Kubernetes](/docs/containers?topic=containers-cs_versions) per trovare le ultime modifiche. 3. Applica la versione patch più recente ricaricando il tuo nodo di lavoro. Segui le istruzioni fornite nel [comando "ibmcloud ks worker reload](/docs/containers?topic=containers-kubernetes-service-cli#worker-reload-cli) " per riprogrammare in modo sicuro eventuali pod in esecuzione sul tuo nodo worker prima di ricaricare il nodo stesso. Nota che durante il ricaricamento, la macchina del nodo di lavoro viene aggiornata con l'immagine più recente e i dati vengono eliminati se non sono [archiviati all'esterno del nodo di lavoro](/docs/containers?topic=containers-storage-plan). -
Esamina il log delle modifiche e verifica il supporto per la tua versione e architettura del cluster.
-
Segui le istruzioni per installare la versione 3 del client Helm sulla tua macchina locale.
Se hai abilitato VRF e gli endpoint del servizio nel tuo account IBM Cloud, puoi utilizzare il repository Helm IBM Cloud privato per mantenere il traffico di pull dell'immagine sulla rete privata. Se non riesci ad abilitare i VRF o gli endpoint di servizio nel tuo account, utilizza il repository pubblico Helm.
-
Aggiungi il repository IBM Cloud Helm al tuo cluster.
helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm -
Aggiorna i repository Helm per scaricare la versione più recente di tutti i grafici Helm presenti in questo repository.
helm repo update -
Se in precedenza hai installato il plug-in " IBM Cloud Object Storage " ( Helm ), rimuovi il plug-in "
ibmc".helm plugin uninstall ibmc -
Scarica i grafici Helm e decomprimi i grafici nella directory corrente.
helm fetch --untar ibm-helm/ibm-object-storage-pluginSe l'output riporta il messaggio "
Error: failed to untar: a file or directory with the name ibm-object-storage-plugin already exists", elimina la directory "ibm-object-storage-plugin" ed esegui nuovamente il comando "helm fetch". -
Se si installa il plug-in per la prima volta, installare il plug-in IBM Cloud Object Storage Helm
ibmc. Il plug-in rileva automaticamente la posizione del cluster e imposta l'endpoint API per i bucket " IBM Cloud Object Storage " nelle classi di archiviazione. Se si utilizza Windows come sistema operativo, saltare questo passaggio.Il plug-in
ibmcnon è supportato da Windows.- Installa il plug-in Helm.
helm plugin install ./ibm-object-storage-plugin/helm-ibmc ``` 2. Verifica che il plugin `ibmc` sia installato correttamente. ```sh {: pre} helm ibmc --help ``` Output di esempio ```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. **Facoltativo**: se l'output riporta l'errore " `Error: fork/exec /home/iksadmin/.helm/plugins/helm-ibmc/ibmc.sh: permission denied`", eseguire il comando seguente. ```sh {: pre} chmod 755 /Users/<user_name>/Library/helm/plugins/helm-ibmc/ibmc.sh ``` Quindi ripetere il comando `ibmc --help`. ```sh {: pre} helm ibmc --help ``` -
Facoltativo: limitare l'accesso del plug-in " IBM Cloud Object Storage " esclusivamente ai segreti " Kubernetes " che contengono le credenziali del servizio " IBM Cloud Object Storage ". Per impostazione predefinita, il plug-in può accedere a tutti i segreti di Kubernetes presenti nel cluster.
- Crea la tua istanza del servizio IBM Cloud Object Storage.
- Memorizza le credenziali del tuo servizio IBM Cloud Object Storage in un segreto Kubernetes).
- Passare alla directory
ibm-object-storage-plugin.
cd ibm-object-storage-plugin ``` 3. Da `ibm-object-storage-plugin`, passare alla directory `templates` ed elencare i file disponibili. OS X e Linux ```sh {: pre} cd templates && ls ``` Windows ```sh {: pre} chdir templates && dir ``` 4. Apri il file `provisioner-sa.yaml` e cerca la definizione di `ibmcloud-object-storage-secret-reader` `ClusterRole`. 5. Aggiungi il nome del segreto che hai creato in precedenza all'elenco di segreti a cui il plug-in è autorizzato ad accedere nella sezione `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. Salvare le modifiche e passare alla directory di lavoro. -
Installa
ibm-object-storage-pluginnel tuo cluster. Quando installi il plug-in, al tuo cluster vengono aggiunte le classi di archiviazione predefinite. Se hai completato il passo precedente per limitare il plugin IBM Cloud Object Storage per accedere solo ai segreti Kubernetes che contengono le tue credenziali del servizio IBM Cloud Object Storage e stai ancora selezionando la directorytemplates, modifica le directory nella tua directory di lavoro. Per impostare un limite sulla quantità di memoria disponibile per il bucket, imposta solo i--set quotaLimit=truecluster VPC: per abilitare gli IP autorizzati su VPC, imposta l'opzione--set bucketAccessPolicy=true.
Se non si imposta l'opzione --set quotaLimit=true durante l'installazione, non è possibile impostare le quote per le PVC.
Esempio di comandi helm ibmc install per sistemi operativi 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]
Comando helm install di esempio per 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- Un limite di quota imposta la quantità massima di memoria (in byte) disponibile per un bucket. Se imposti questa opzione su
true, quando crei le PVC, la quota sui bucket creati da tali PVC è uguale alla dimensione della PVC. Il valore predefinito ètrue. allowCrossNsSecret- Per impostazione predefinita, il plug-in ricerca il segreto Kubernetes negli spazi dei nomi diversi dallo spazio dei nomi PVC. Se imposti questa opzione su
falseil plug-in cerca il segreto Kubernetes solo nello spazio dei nomi PVC. Il valore predefinito ètrue. kubeDriver- Impostare su
/usr/libexec/kubernetes. DC_NAME- Il data center del cluster. Per richiamare il data center, eseguire
kubectl get cm cluster-info -n kube-system -o jsonpath="{.data.cluster-config\.json}{'\n'}". Archivia il valore del data center in una variabile di ambiente eseguendoSET DC_NAME=<datacenter>. Facoltativo: impostare la variabile di ambiente in Windows PowerShell eseguendo$env:DC_NAME="<datacenter>". CLUSTER_PROVIDER- Il provider dell'infrastruttura. Per richiamare questo valore, eseguire
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/iaas-provider}{'\n'}". Se l'output dal passo precedente contienesoftlayer, impostaCLUSTER_PROVIDERsu"IBMC". Se l'output contienegc,ngog2, impostaCLUSTER_PROVIDERsu"IBMC-VPC". Memorizza il provider dell'infrastruttura in una variabile di ambiente. Ad esempio:SET CLUSTER_PROVIDER="IBMC-VPC". WORKER_OSePLATFORM- Il sistema operativo dei nodi di lavoro. Per richiamare questi valori, eseguire
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}". Memorizza il sistema operativo dei nodi di lavoro in una variabile di ambiente. Per i cluster IBM Cloud Kubernetes Service, eseguiSET WORKER_OS="debian"eSET PLATFORM="k8s". REGION- La regione dei nodi di lavoro. Per richiamare questo valore, eseguire
kubectl get nodes -o yaml | grep 'ibm-cloud\.kubernetes\.io/region'. Archivia la region dei nodi di lavoro in una variabile di ambiente eseguendoSET REGION="< region>".
Aggiornamento del plug-in IBM Cloud Object Storage
È possibile aggiornare il plug-in IBM Cloud Object Storage già installato alla versione più recente.
-
Ottieni il nome della tua release Helm del plug-in IBM Cloud Object Storage e la versione del plug-in nel tuo cluster.
helm ls -A | grep objectOutput di esempio
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 -
Aggiorna il repository IBM Cloud Helm per recuperare la versione più recente di tutti i grafici Helm presenti in questo repository.
helm repo update -
Aggiorna il plug-in IBM Cloud Object Storage
ibmcHelm alla versione più recente.helm ibmc --update -
Installare la versione più recente di
ibm-object-storage-pluginper il proprio sistema operativo.Esempio di comando
helm ibmc upgradeper sistemi operativi 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]Comando
helm upgradedi esempio per 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- Il data center del cluster. Per richiamare il data center, eseguire
kubectl get cm cluster-info -n kube-system -o jsonpath="{.data.cluster-config\.json}{'\n'}". Archivia il valore del data center in una variabile di ambiente eseguendoSET DC_NAME=<datacenter>. Facoltativo: impostare la variabile di ambiente in Windows PowerShell eseguendo$env:DC_NAME="<datacenter>". CLUSTER_PROVIDER- Il provider dell'infrastruttura. Per richiamare questo valore, eseguire
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/iaas-provider}{'\n'}". Se l'output dal passo precedente contienesoftlayer, impostaCLUSTER_PROVIDERsu"IBMC". Se l'output contienegc,ngog2, impostaCLUSTER_PROVIDERsu"IBMC-VPC". Memorizza il provider dell'infrastruttura in una variabile di ambiente. Ad esempio:SET CLUSTER_PROVIDER="IBMC-VPC". WORKER_OSePLATFORM- Il sistema operativo dei nodi di lavoro. Per richiamare questi valori, eseguire
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}". Memorizza il sistema operativo dei nodi di lavoro in una variabile di ambiente. Per i cluster IBM Cloud Kubernetes Service, eseguiSET WORKER_OS="debian"eSET PLATFORM="k8s". REGION- La regione dei nodi di lavoro. Per richiamare questo valore, eseguire
kubectl get nodes -o yaml | grep 'ibm-cloud\.kubernetes\.io/region'. Archivia la regione dei nodi di lavoro in una variabile di ambiente eseguendoSET REGION="< region>".
-
Verifica che l'upgrade di
ibmcloud-object-storage-pluginvenga eseguito correttamente. L'upgrade del plugin è riuscito quando vedideployment "ibmcloud-object-storage-plugin" successfully rolled outnel tuo output della CLI.kubectl rollout status deployment/ibmcloud-object-storage-plugin -n ibm-object-s3fs -
Verifica che l'upgrade di
ibmcloud-object-storage-drivervenga eseguito correttamente. L'upgrade è riuscito quando vedidaemon set "ibmcloud-object-storage-driver" successfully rolled outnel tuo output della CLI.kubectl rollout status ds/ibmcloud-object-storage-driver -n ibm-object-s3fs -
Verifica che i pod IBM Cloud Object Storage siano in uno stato
Running.kubectl get pods -n <namespace> -o wide | grep object-storage
Se riscontri problemi nell'aggiornamento del plug-in " IBM Cloud Object Storage ", consulta i documenti " Object storage: Installazione del plug-in 'Object storage ibmc Helm ' non riuscita " e "Object storage: Installazione del plug-in ' IBM Cloud Object Storage ' non riuscita ".
Rimozione del plug-in " IBM Cloud Object Storage "
Se non desideri configurare e utilizzare IBM Cloud Object Storage nel tuo cluster, puoi disinstallare il plug-in ibm-object-storage-plugin e il plug-in ibmc Helm.
La rimozione del plug-in ibmc Helm o del file ibm-object-storage-plugin non comporta la cancellazione dei PVC, dei PV o dei dati esistenti. Quando si rimuove ibm-object-storage-plugin, tutti i pod dei driver
e i set di demoni correlati vengono rimossi dal cluster, il che significa che non è possibile fornire nuovi IBM Cloud Object Storage per il cluster, a meno che non si configuri l'applicazione per usare direttamente l'API IBM Cloud Object Storage.
Non vi è alcun impatto sulle PVC e sui PV esistenti.
Prima di cominciare:
- Accedi al tuo account. Se applicabile, specifica il gruppo di risorse appropriato. Imposta il contesto per il tuo cluster.
- Assicurati che nel tuo cluster non ci siano PVC o PV che utilizzano IBM Cloud Object Storage. Per elencare tutti i pod che montano un PVC specifico, eseguire il comando
kubectl get pods --all-namespaces -o=jsonpath='{range .items[]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"``.
Per rimuovere il plug-in ibmc Helm e il file ibm-object-storage-plugin:
-
Ottieni il nome della tua installazione Helm
ibm-object-storage-plugin.helm ls -A | grep ibm-object-storage-pluginOutput di esempio
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 -
Disinstalla
ibm-object-storage-plugin.helm uninstall <release_name>Comando di esempio per una versione denominata “
ibm-object-storage-plugin”.helm uninstall ibm-object-storage-plugin -
Verifica che i pod
ibm-object-storage-pluginsiano stati rimossi.kubectl get pod -n <namespace> | grep object-storageLa rimozione dei pod è riuscita se nel tuo output della CLI non vengono visualizzati pod. La rimozione delle classi di archiviazione è riuscita se nel tuo output della CLI non vengono visualizzate classi di archiviazione.
-
Verifica che le classi di archiviazione vengano rimosse.
kubectl get sc | grep s3 -
Se utilizzi una distribuzione Linux oppure OS X, rimuovi il plugin Helm
ibmc. Se utilizzi Windows, questo passo non è necessario.- Rimuovi il plug-in Helm
ibmc.
helm plugin uninstall ibmc ``` 2. Verifica che il plugin `ibmc` venga rimosso. Il plugin `ibmc` viene rimosso correttamente se il plugin `ibmc` non è elencato nel tuo output della CLI. ```sh {: pre} helm plugin list ``` Output di esempio ```sh {: screen} NAME VERSION DESCRIPTION ``` - Rimuovi il plug-in Helm
Decisioni relative alla configurazione dell'archiviazione oggetti
IBM Cloud Kubernetes Service fornisce delle classi di archiviazione predefinite che puoi utilizzare per creare i bucket con una specifica configurazione.
-
Elenca le classi di archiviazione disponibili in IBM Cloud Kubernetes Service.
kubectl get sc | grep s3Output di esempio
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 -
Scegli una classe di archiviazione adatta ai tuoi requisiti di accesso ai dati. La classe di archiviazione determina la capacità di archiviazione, le operazioni di lettura e scrittura e la larghezza di banda in uscita di un bucket. La scelta più adatta alle tue esigenze dipende dalla frequenza con cui vengono letti e scritti i dati nell'istanza del tuo servizio.
- Standard: questa opzione è usata per i dati hot a cui si accede frequentemente. I casi d'uso comuni sono le applicazioni web o mobili.
- Vault: questa opzione viene utilizzata per i carichi di lavoro o i dati cool a cui si accede poco di frequente, ad esempio una volta al mese o meno. I casi d'uso comuni sono gli archivi, la conservazione dei dati a breve termine, la conservazione di asset digitali, la sostituzione dei nastri e il ripristino d'emergenza.
- Cold: questa opzione viene utilizzata per i dati cold a cui si accede raramente (ogni 90 giorni o meno) o i dati inattivi. I casi d'uso comuni sono gli archivi, i backup a lungo termine, i dati cronologici che conservi per la conformità oppure i carichi di lavoro e le applicazioni a cui si accede raramente.
- Smart: questa opzione viene utilizzata per carichi di lavoro e dati che non seguono uno schema di utilizzo specifico o che sono troppo voluminosi per poter determinare o prevedere uno schema di utilizzo.
-
Decidi il livello di resilienza per i dati archiviati nel tuo bucket. Per ulteriori informazioni, vedi Regioni ed endpoint.
- Interregionale: con questa opzione, i tuoi dati vengono archiviati tra tre regioni all'interno di una geolocalizzazione per la massima disponibilità. Se hai dei carichi di lavoro distribuiti tra le regioni, le richieste
vengono instradate all'endpoint regionale più vicino. L'endpoint API per la geolocalizzazione viene impostato automaticamente dal plugin Helm
ibmcche hai installato in precedenza in base all'ubicazione in cui si trova il tuo cluster. Ad esempio, se il tuo cluster si trova negliUS South, le tue classi di archiviazione sono configurate per utilizzare l'endpoint APIUS GEOper i tuoi bucket. - Regionale: con questa opzione, i tuoi dati vengono replicati in più zone all'interno di una singola regione. Se hai dei carichi di lavoro che si trovano nella stessa regione, vedi una latenza più bassa e delle prestazioni
migliori rispetto a una configurazione interregionale. L'endpoint regionale viene impostato automaticamente dal plugin Helm
ibmche hai installato in precedenza in base all'ubicazione in cui si trova il tuo cluster. Ad esempio, se il tuo cluster si trova negliUS South, le tue classi di archiviazione erano configurate per utilizzareUS Southcome endpoint regionale per i tuoi bucket.
- Interregionale: con questa opzione, i tuoi dati vengono archiviati tra tre regioni all'interno di una geolocalizzazione per la massima disponibilità. Se hai dei carichi di lavoro distribuiti tra le regioni, le richieste
vengono instradate all'endpoint regionale più vicino. L'endpoint API per la geolocalizzazione viene impostato automaticamente dal plugin Helm
-
Riesamina la configurazione del bucket IBM Cloud Object Storage dettagliata per una classe di archiviazione.
kubectl describe storageclass <storageclass_name>Output di esempio
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- La dimensione del blocco di dati letta da o scritta in IBM Cloud Object Storage, espressa in megabyte. Le classi di archiviazione il cui nome contiene la dicitura “
perf” sono configurate con 52 megabyte. Le classi di archiviazione il cui nome non contiene la dicitura “perf” utilizzano blocchi da 16 megabyte. Ad esempio, se vuoi leggere un file che è1GB, il plugin legge questo file in più blocchi da 16 o 52 megabyte. ibm.io/curl-debug- Abilita la registrazione delle richieste inviate all'istanza del servizio IBM Cloud Object Storage. Se abilitata, i log vengono inviati a
sysloge puoi inoltrare i log a un server di registrazione esterno. Per impostazione predefinita, tutte le classi di archiviazione sono impostate su “false” per disabilitare questa funzionalità di registrazione. ibm.io/debug-level- Il livello di registrazione impostato dal plugin IBM Cloud Object Storage. Tutte le classi di archiviazione sono configurate con il livello di registrazione “
WARN”. ibm.io/iam-endpoint- L'endpoint API per IBM Cloud IAM (Identity and Access Management).
ibm.io/kernel-cache- Abilita o disabilita la cache del buffer del kernel per il punto di montaggio del volume. Se abilitata, i dati letti da IBM Cloud Object Storage sono archiviati nella cache del kernel per garantire un accesso in lettura rapido ai tuoi
dati. Se disabilitata, i dati non vengono memorizzati nella cache e sono sempre letti da IBM Cloud Object Storage. La cache del kernel è abilitata per le classi di archiviazione
standardesmart, mentre è disabilitata per le classi di archiviazionecoldevault. ibm.io/multireq-max- Il numero massimo di richieste parallele che può essere inviato all'istanza del servizio IBM Cloud Object Storage per elencare i file in una singola directory. Tutte le classi di archiviazione sono configurate con un massimo di 20 richieste parallele.
ibm.io/object-store-endpoint- L'endpoint API da utilizzare per accedere al bucket nella tua istanza del servizio IBM Cloud Object Storage. L'endpoint viene impostato automaticamente in base alla regione del tuo cluster. Se desideri accedere a un bucket esistente che si trova in una regione diversa da quella in cui è situato il tuo cluster, devi creare una classe di archiviazione personalizzata e utilizzare l'endpoint API relativo al tuo bucket.
ibm.io/object-store-storage-class- Il nome della classe di archiviazione.
ibm.io/parallel-count- Il numero massimo di richieste parallele che può essere inviato all'istanza del servizio IBM Cloud Object Storage per una singola operazione di lettura o scrittura. Le classi di archiviazione il cui nome contiene la dicitura "
perf" sono configurate per un massimo di 20 richieste parallele. Le classi di archiviazione prive di "perf" vengono configurate, per impostazione predefinita, con due richieste parallele. ibm.io/s3fs-fuse-retry-count- Il numero massimo di nuovi tentativi per un'operazione di lettura o scrittura prima che l'operazione venga considerata non riuscita. Tutte le classi di archiviazione sono configurate con un massimo di cinque nuovi tentativi.
ibm.io/stat-cache-size- Il numero massimo di record conservato nella cache dei metadati IBM Cloud Object Storage. Ogni record può richiedere fino a 0,5 kilobyte. Tutte le classi di archiviazione impostano il numero massimo di record a 100000 per impostazione predefinita.
ibm.io/tls-cipher-suite- La suite di cifratura TLS che deve essere utilizzata quando viene stabilita una connessione a IBM Cloud Object Storage tramite l'endpoint HTTPS. Il valore della suite di cifratura deve seguire il formato OpenSSL. Se i nodi di lavoro utilizzano un sistema operativo Ubuntu, le classi di archiviazione sono configurate per utilizzare, per impostazione predefinita, la suite di cifratura
AESGCM. Per i nodi di lavoro che utilizzano un sistema operativo Red Hat, viene utilizzata per impostazione predefinita la suite di cifraturaecdhe_rsa_aes_128_gcm_sha_256.
Per ulteriori informazioni su ciascuna classe di archiviazione, vedi la sezione di riferimento delle classi di archiviazione. Se desideri modificare uno qualsiasi dei valori predefiniti, crea una classe di archiviazione personalizzata.
-
Decidi un nome per il tuo bucket. Il nome di un bucket deve essere univoco in IBM Cloud Object Storage. Puoi anche scegliere di creare automaticamente un nome per il tuo bucket dal plugin IBM Cloud Object Storage. Per organizzare i dati in un bucket, puoi creare delle sottodirectory.
La classe di archiviazione che hai scelto in precedenza determina il prezzo per l'intero bucket. Non è possibile definire classi di archiviazione diverse per le sottodirectory. Se vuoi archiviare i dati con requisiti di accesso differenti, considera la creazione di più bucket utilizzando più PVC.
-
Scegli se vuoi mantenere i tuoi dati e il bucket dopo l'eliminazione del cluster o dell'attestazione del volume persistente (PVC, persistent volume claim). Quando elimini la PVC, il PV viene sempre eliminato. Puoi scegliere se vuoi anche eliminare automaticamente i dati e il bucket quando elimini la PVC. La tua istanza del servizio IBM Cloud Object Storage è indipendente dalla politica di conservazione che selezioni per i tuoi dati e non viene mai rimossa quando elimini una PVC.
Ora che hai deciso in merito alla configurazione che desideri, sei pronto a creare una PVC per eseguire il provisioning di IBM Cloud Object Storage.
Verifica dell'installazione
Esaminare i dettagli del pod per verificare che l'installazione del plug-in sia stata eseguita correttamente.
-
Verificare che l'installazione sia riuscita elencando i pod del driver.
kubectl get pod --all-namespaces -o wide | grep objectOutput di esempio
ibmcloud-object-storage-driver-9n8g8 1/1 Running 0 2m ibmcloud-object-storage-plugin-7c774d484b-pcnnx 1/1 Running 0 2mL'installazione ha avuto esito positivo quando visualizzi un pod
ibmcloud-object-storage-plugine uno o più podibmcloud-object-storage-driver. Il numero di podibmcloud-object-storage-driverè uguale al numero di nodi di lavoro nel tuo cluster. Tutti i pod devono essere in uno statoRunningperché il plugin funzioni correttamente. Se i pod non funzionano correttamente, eseguire il comandokubectl describe pod -n ibm-object-s3fs <pod_name>per individuare la causa principale del malfunzionamento. -
Verifica che le classi di archiviazione vengano create correttamente.
kubectl get sc | grep s3Output di esempio
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 8mSe desideri impostare una delle classi di archiviazione IBM Cloud Object Storage come classe di archiviazione predefinita, esegui il comando
kubectl patch storageclass <storageclass> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'. Sostituisci "<storageclass>" con il nome della classe di archiviazione " IBM Cloud Object Storage ". -
Segui le istruzioni per aggiungere Object Storage alle tue applicazioni.
Se riscontri difficoltà nell'installazione del plug-in " IBM Cloud Object Storage ", consulta le pagine " Object storage: Installazione del plug-in 'Object storage ibmc Helm ' non riuscita " e "Object storage: Installazione del plug-in ' IBM Cloud Object Storage ' non riuscita ".