Instalación del complemento IBM Cloud Object Storage
Nube privada virtual Infraestructura clásica
Instale el complemento IBM Cloud Object Storage para configurar clases de almacenamiento predefinidas para IBM Cloud Object Storage. Utilice estas clases de almacenamiento para crear una PVC para suministrar IBM Cloud Object Storage para sus apps.
Instalación del complemento a través de Helm
- Requisitos previos
- El plug-in IBM Cloud Object Storage requiere al menos 0,2 vCPU y 128 MB de memoria.
Antes de empezar: Inicie una sesión en su cuenta. If applicable, target the appropriate resource group. Establezca el contexto para el clúster.
Instala el ibmc complemento Helm y el ibm-object-storage-plugin:
-
Asegúrese de que el nodo trabajador aplica el parche más reciente para que su versión menor ejecute el nodo trabajador con los valores de seguridad más recientes. La versión de parche también garantiza que se renueva la contraseña de root en el nodo trabajador.
Si no ha aplicado actualizaciones ni ha vuelto a cargar el nodo trabajador en los últimos 90 días, la contraseña raíz del nodo trabajador caduca y la es posible que la instalación del plugin de almacenamiento falle.
- Obtenga una lista de la versión de parche actual de los nodos trabajadores.
ibmcloud ks worker ls --cluster CLUSTER_NAME_OR_ID ``` Salida de ejemplo ```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 el nodo trabajador no aplica la última versión de parche, verá un asterisco (`*`) en la columna **Version** de la salida de la CLI. 2. Revise la [información de versión deKubernetes](/docs/containers?topic=containers-cs_versions) para encontrar los cambios más recientes. 3. Aplique la versión de parche más reciente volviendo a cargar el nodo trabajador. Sigue las instrucciones del para [ibmcloud ks worker comando reload](/docs/containers?topic=containers-kubernetes-service-cli#worker-reload-cli) reprogramar de forma segura cualquier pod en ejecución en tu nodo de trabajo antes de recargar dicho nodo. Tenga en cuenta que, durante la recarga, la máquina del nodo trabajador se actualizará con la imagen más reciente y se suprimirán los datos si no se han [almacenado fuera del nodo trabajador](/docs/containers?topic=containers-storage-plan). -
Revise el registro de cambios y verifique el soporte de versión y arquitectura de clúster.
-
Siga las instrucciones para instalar el cliente Helm versión 3 en la máquina local.
Si ha habilitado VRF y puntos finales de servicio en la cuenta de IBM Cloud, puede utilizar el repositorio de Helm de IBM Cloud privado para mantener el tráfico de extracción de imágenes en la red privada. Si no puede habilitar los puntos finales de VRF o de servicio en la cuenta, utilice el repositorio de Helm público.
-
Añada el repositorio de IBM Cloud Helm al clúster.
helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm -
Actualice los repositorios de Helm para recuperar la versión más reciente de todos los diagramas de Helm en este repositorio.
helm repo update -
Si ha instalado el plugin de IBM Cloud Object Storage Helm anterior, elimine el plugin de
ibmc.helm plugin uninstall ibmc -
Descargue los diagramas de Helm y desempaquete los diagramas en el directorio actual.
helm fetch --untar ibm-helm/ibm-object-storage-pluginSi la salida muestra
Error: failed to untar: a file or directory with the name ibm-object-storage-plugin already exists, suprima el directorioibm-object-storage-pluginy vuelva a ejecutar el mandatohelm fetch. -
Si es la primera vez que instala el plug-in, instale el plug-in IBM Cloud Object Storage Helm
ibmc. El plugin recupera automáticamente la ubicación del clúster y establece el punto final de API para los grupos de IBM Cloud Object Storage en las clases de almacenamiento. Si utiliza Windows como sistema operativo, omita este paso.El plug-in
ibmcno es compatible con Windows.- Instale el plugin de Helm.
helm plugin install ./ibm-object-storage-plugin/helm-ibmc ``` 2. Verifique que el plugin `ibmc` esté instalado correctamente. ```sh {: pre} helm ibmc --help ``` Salida de ejemplo ```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. **Opcional**: Si el resultado muestra el error `Error: fork/exec /home/iksadmin/.helm/plugins/helm-ibmc/ibmc.sh: permission denied`, ejecuta el siguiente comando. ```sh {: pre} chmod 755 /Users/<user_name>/Library/helm/plugins/helm-ibmc/ibmc.sh ``` A continuación, vuelva a intentar el mandato `ibmc --help`. ```sh {: pre} helm ibmc --help ``` -
Opcional: Limita el complemento IBM Cloud Object Storage para que solo acceda a los secretos de Kubernetes que contienen tus credenciales del servicio IBM Cloud Object Storage. De forma predeterminada, el plugin puede acceder a todos los secretos de Kubernetes del clúster.
- Crear la instancia de servicio de IBM Cloud Object Storage.
- Almacene las credenciales de servicio de IBM Cloud Object Storage en un secreto de Kubernetes).
- Vaya al directorio
ibm-object-storage-plugin.
cd ibm-object-storage-plugin ``` 3. En `ibm-object-storage-plugin`, vaya al directorio `templates` y obtenga una lista de los archivos disponibles. OS X y Linux ```sh {: pre} cd templates && ls ``` Windows ```sh {: pre} chdir templates && dir ``` 4. Abra el archivo `provisioner-sa.yaml` y busque la definición de `ibmcloud-object-storage-secret-reader` `ClusterRole`. 5. Añada el nombre del secreto que ha creado anteriormente a la lista de secretos a los que el plugin está autorizado para acceder en la sección `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. Guarde los cambios y vaya a su directorio de trabajo. -
Instale
ibm-object-storage-pluginen el clúster. Cuando instala el plugin, se añaden a su clúster las clases de almacenamiento de almacenamiento predefinidas. Si ha completado el paso anterior para limitar el acceso del plugin de IBM Cloud Object Storage solo a los secretos de Kubernetes que contienen sus credenciales de servicio de IBM Cloud Object Storage y todavía apunta al directoriotemplates, cambie los directorios por su directorio de trabajo. Para establecer un límite en la cantidad de almacenamiento disponible para el bucket, configure la opción **Solo clústeres de VPC **--set quotaLimit=true: para habilitar direcciones IP autorizadas en VPC, configure la opción--set bucketAccessPolicy=true.
Si no establece la opción --set quotaLimit=true durante la instalación, no puede establecer cuotas para las PVC.
Ejemplo helm ibmc install comandos para sistemas operativos no 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]
Ejemplo de mandato helm install para 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 límite de cuota establece la cantidad máxima de almacenamiento (en bytes) disponible para un grupo. Si establece esta opción en
true, cuando cree PVC, la cuota en los grupos creados por estas PVC es igual al tamaño de PVC. El valor predeterminado estrue. allowCrossNsSecret- De forma predeterminada, el plugin busca el secreto Kubernetes en espacios de nombres que no sean el espacio de nombres PVC. Si establece esta opción en
false, el plugin busca el secreto Kubernetes sólo en el espacio de nombres PVC. El valor predeterminado estrue. kubeDriver- Se establece en
/usr/libexec/kubernetes. DC_NAME- El centro de datos del clúster. Para recuperar el centro de datos, ejecute
kubectl get cm cluster-info -n kube-system -o jsonpath="{.data.cluster-config\.json}{'\n'}". Almacene el valor del centro de datos en una variable de entorno ejecutandoSET DC_NAME=<datacenter>. Opcional: establezca la variable de entorno en Windows PowerShell ejecutando$env:DC_NAME="<datacenter>". CLUSTER_PROVIDER- El proveedor de infraestructura. Para recuperar este valor, ejecute
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/iaas-provider}{'\n'}". Si la salida del paso anterior contienesoftlayer, establezcaCLUSTER_PROVIDERcon el valor"IBMC". Si la salida contienegc,ngog2, establezcaCLUSTER_PROVIDERen"IBMC-VPC". Almacene el proveedor de la infraestructura en una variable de entorno. Por ejemplo:SET CLUSTER_PROVIDER="IBMC-VPC". WORKER_OSyPLATFORM- El sistema operativo de los nodos trabajadores. Para recuperar estos valores, ejecute
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}". Almacene el sistema operativo de los nodos trabajadores en una variable de entorno. Para clústeres de IBM Cloud Kubernetes Service, ejecuteSET WORKER_OS="debian"ySET PLATFORM="k8s". REGION- La región de los nodos trabajadores. Para recuperar este valor, ejecute
kubectl get nodes -o yaml | grep 'ibm-cloud\.kubernetes\.io/region'. Almacene la región de los nodos de trabajador en una variable de entorno ejecutandoSET REGION="< region>".
Actualización del plugin de IBM Cloud Object Storage
Puede actualizar el plugin de IBM Cloud Object Storage existente a la versión más reciente.
-
Obtenga el nombre del release de Helm del plugin de IBM Cloud Object Storage y la versión del plugin del clúster.
helm ls -A | grep objectSalida de ejemplo
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 -
Actualice el repositorio de Helm de IBM Cloud para recuperar la versión más reciente de todos los diagramas de Helm de este repositorio.
helm repo update -
Actualice el plugin de Helm
ibmcde IBM Cloud Object Storage a la versión más reciente.helm ibmc --update -
Instale la versión más reciente de
ibm-object-storage-pluginpara el sistema operativo.Ejemplo
helm ibmc upgradecomando para sistemas operativos no 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]Ejemplo de mandato
helm upgradepara 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- El centro de datos del clúster. Para recuperar el centro de datos, ejecute
kubectl get cm cluster-info -n kube-system -o jsonpath="{.data.cluster-config\.json}{'\n'}". Almacene el valor del centro de datos en una variable de entorno ejecutandoSET DC_NAME=<datacenter>. Opcional: establezca la variable de entorno en Windows PowerShell ejecutando$env:DC_NAME="<datacenter>". CLUSTER_PROVIDER- El proveedor de infraestructura. Para recuperar este valor, ejecute
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/iaas-provider}{'\n'}". Si la salida del paso anterior contienesoftlayer, establezcaCLUSTER_PROVIDERcon el valor"IBMC". Si la salida contienegc,ngog2, establezcaCLUSTER_PROVIDERen"IBMC-VPC". Almacene el proveedor de la infraestructura en una variable de entorno. Por ejemplo:SET CLUSTER_PROVIDER="IBMC-VPC". WORKER_OSyPLATFORM- El sistema operativo de los nodos trabajadores. Para recuperar estos valores, ejecute
kubectl get nodes -o jsonpath="{.items[*].metadata.labels.ibm-cloud\.kubernetes\.io\/os}{'\n'}". Almacene el sistema operativo de los nodos trabajadores en una variable de entorno. Para clústeres de IBM Cloud Kubernetes Service, ejecuteSET WORKER_OS="debian"ySET PLATFORM="k8s". REGION- La región de los nodos trabajadores. Para recuperar este valor, ejecute
kubectl get nodes -o yaml | grep 'ibm-cloud\.kubernetes\.io/region'. Almacene la región de los nodos de trabajador en una variable de entorno ejecutandoSET REGION="< region>". |
-
Verifique que
ibmcloud-object-storage-pluginse haya actualizado correctamente. La actualización del plugin se realiza correctamente cuando se vedeployment "ibmcloud-object-storage-plugin" successfully rolled outen la salida de la CLI.kubectl rollout status deployment/ibmcloud-object-storage-plugin -n ibm-object-s3fs -
Verifique que
ibmcloud-object-storage-driverse haya actualizado correctamente. La actualización se realiza correctamente cuando se vedaemon set "ibmcloud-object-storage-driver" successfully rolled outen la salida de la CLI.kubectl rollout status ds/ibmcloud-object-storage-driver -n ibm-object-s3fs -
Verifique que los pods de IBM Cloud Object Storage se encuentran en un estado
Running.kubectl get pods -n <namespace> -o wide | grep object-storage
Si tiene problemas al actualizar el plugin de IBM Cloud Object Storage, consulte Almacenamiento de objetos: la instalación del plugin de ibmc Helm de almacenamiento de objetos falla y Almacenamiento de objetos: la instalación del plugin de IBM Cloud Object Storage falla.
Eliminación del plugin de IBM Cloud Object Storage
Si no desea suministrar ni utilizar IBM Cloud Object Storage en el clúster, puede desinstalar ibm-object-storage-plugin y el plugin de Helm ibmc.
La eliminación del plugin de ibmc Helm o ibm-object-storage-plugin no elimina los PVC, los PV o los datos existentes. Cuando se elimina ibm-object-storage-plugin, todos los conjuntos de daemons y pods de
controlador relacionados se eliminan del clúster, lo que significa que no puede suministrar un nuevo IBM Cloud Object Storage para el clúster a menos que configure la aplicación para que utilice la API de IBM Cloud Object Storage directamente.
No hay ningún impacto en los PVC y PV existentes.
Antes de empezar:
- Inicie una sesión en la cuenta. If applicable, target the appropriate resource group. Establezca el contexto para el clúster.
- Asegúrese de que no haya PVC ni PV en el clúster que utilicen IBM Cloud Object Storage. Para listar todos los pods que montan una PVC específica, ejecute
kubectl get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>".
Para eliminar el plugin de Helm ibmc y ibm-object-storage-plugin:
-
Obtenga el nombre de la instalación de Helm de
ibm-object-storage-plugin.helm ls -A | grep ibm-object-storage-pluginSalida de ejemplo
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 -
Desinstale
ibm-object-storage-plugin.helm uninstall <release_name>Ejemplo de comando para un release llamado
ibm-object-storage-plugin.helm uninstall ibm-object-storage-plugin -
Verifique que se han eliminado los pods de
ibm-object-storage-plugin.kubectl get pod -n <namespace> | grep object-storageLa eliminación de los pods es satisfactoria si dejan de aparecer en la salida de la CLI. La eliminación de las clases de almacenamiento es satisfactoria si dejan de aparecer en la salida de la CLI.
-
Verifique que las clases de almacenamiento se han eliminado.
kubectl get sc | grep s3 -
Si utiliza una distribución OS X o Linux, elimine el plugin de Helm
ibmc. Si utiliza Windows, este paso no es necesario.- Elimine el plugin de Helm
ibmc.
helm plugin uninstall ibmc ``` 2. Verifique que se ha eliminado el plugin `ibmc`. El plugin `ibmc` se elimina correctamente si el plugin `ibmc` no aparece en la lista de la salida de la CLI. ```sh {: pre} helm plugin list ``` Salida de ejemplo ```sh {: screen} NAME VERSION DESCRIPTION ``` - Elimine el plugin de Helm
Cómo decidir la configuración del almacenamiento de objetos
IBM Cloud Kubernetes Service proporciona clases de almacenamiento predefinidas que puede utilizar para crear grupos con una configuración específica.
-
Obtenga una lista de las clases de almacenamiento disponibles en IBM Cloud Kubernetes Service.
kubectl get sc | grep s3Salida de ejemplo
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 -
Elija una clase de almacenamiento que se ajuste a sus requisitos de acceso a datos. La clase de almacenamiento determina la capacidad de almacenamiento, las operaciones de lectura y escritura, y el ancho de banda de salida de un depósito. La opción más adecuada para ti depende de la frecuencia con la que se lean y se escriban datos en tu instancia del servicio.
- Estándar: esta opción se utiliza para datos calientes a los que se accede con frecuencia. Las apps web o móviles son ejemplos habituales de este caso.
- Caja fuerte: esta opción se utiliza para cargas de trabajo o datos fríos a los que se accede con poca frecuencia, como una vez al mes o menos. El archivado, la retención de datos a corto plazo, la conservación de activos digitales, la sustitución de cinta y la recuperación tras desastre son ejemplos habituales de este caso.
- Frío: esta opción se utiliza para datos fríos a los que se accede con muy poca frecuencia (cada 90 días o menos), o datos inactivos. Los archivados, las copias de seguridad a largo plazo, los datos históricos que se conservan por motivos de conformidad o las cargas de trabajo y apps a las que se accede con muy poca frecuencia son ejemplos habituales de este caso.
- Smart: esta opción se utiliza para cargas de trabajo y datos que no siguen un patrón de uso específico, o que son demasiado voluminosos como para determinar o predecir un patrón de uso.
-
Decida el nivel de resiliencia de los datos que se almacenan en el grupo. Para obtener más información, consulte Regiones y puntos finales.
- Entre regiones: con esta opción, los datos se almacenan en tres regiones dentro de una geolocalización para obtener la mayor disponibilidad. Si tiene cargas de trabajo que se distribuyen entre regiones, las solicitudes
se direccionan al punto final regional más próximo. El punto final de API de la geolocalización lo establece automáticamente el plugin de Helm
ibmcque ha instalado anteriormente en función de la ubicación en la que se encuentra el clúster. Por ejemplo, si el clúster está enUS South, las clases de almacenamiento se configuran para utilizar el punto final de APIUS GEOpara los grupos. - Regional: con esta opción, los datos se replican en varias zonas dentro de una región. Si tiene cargas de trabajo que se encuentran en la misma región, observará una menor latencia y un mejor rendimiento que en una configuración
entre regiones. El punto final regional lo establece automáticamente el plugin de Helm
ibmque ha instalado anteriormente en función de la ubicación en la que se encuentra el clúster. Por ejemplo, si el clúster está enUS South, las clases de almacenamiento se configuran para utilizarUS Southcomo punto final regional para los grupos.
- Entre regiones: con esta opción, los datos se almacenan en tres regiones dentro de una geolocalización para obtener la mayor disponibilidad. Si tiene cargas de trabajo que se distribuyen entre regiones, las solicitudes
se direccionan al punto final regional más próximo. El punto final de API de la geolocalización lo establece automáticamente el plugin de Helm
-
Revise la configuración de grupo de IBM Cloud Object Storage detallada de una clase de almacenamiento.
kubectl describe storageclass <storageclass_name>Salida de ejemplo
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- El tamaño de un fragmento de datos que se lee o en el que se escribe en IBM Cloud Object Storage en megabytes. Las clases de almacenamiento con
perfen el nombre se configuran con 52 megabytes. Las clases de almacenamiento sinperfen el nombre utilizan fragmentos de 16 megabytes. Por ejemplo, si desea leer un archivo que es de1GB, el plugin lee este archivo en varios fragmentos de 16 o 52 megabytes. ibm.io/curl-debug- Habilita el registro de solicitudes que se envían a la instancia de servicio de IBM Cloud Object Storage. Si está habilitado, los registros se envían a
syslogy puede reenviar los registros a un servidor de registro externo. De forma predeterminada, todas las clases de almacenamiento se establecen enfalsepara inhabilitar esta característica de registro. ibm.io/debug-level- El nivel de registro establecido por el plugin de IBM Cloud Object Storage. Todas las clases de almacenamiento se configuran con el nivel de registro
WARN. ibm.io/iam-endpoint- Punto final de API para IBM Cloud Identity and Access Management (IAM).
ibm.io/kernel-cache- Habilita o inhabilita la memoria caché del almacenamiento intermedio del kernel para el punto de montaje del volumen. Si está habilitado, los datos que se leen de IBM Cloud Object Storage se almacenan en la memoria caché del kernel para
garantizar el acceso de lectura rápido a los datos. Si está inhabilitado, los datos no se almacenan en la memoria caché y siempre se leen desde IBM Cloud Object Storage. La caché del núcleo está habilitada para las clases de almacenamiento
smartstandardy, y deshabilitada para las clases de almacenamientovaultycold. ibm.io/multireq-max- El número máximo de solicitudes paralelas que se pueden enviar a la instancia de servicio de IBM Cloud Object Storage para obtener una lista de los archivos en un único directorio. Todas las clases de almacenamiento se configuran con un máximo de 20 solicitudes paralelas.
ibm.io/object-store-endpoint- El punto final de la API que se debe utilizar para acceder al grupo en la instancia de servicio de IBM Cloud Object Storage. El punto final se establece automáticamente en función de la región del clúster. Si desea acceder a un bucket existente que se encuentra en una región diferente a aquella en la que está ubicado su clúster, debe crear su propia clase de almacenamiento y utilizar el punto final de la API correspondiente a su bucket.
ibm.io/object-store-storage-class- El nombre de la clase de almacenamiento.
ibm.io/parallel-count- El número máximo de solicitudes paralelas que se pueden enviar a la instancia de servicio de IBM Cloud Object Storage para una sola operación de lectura o escritura. Las clases de almacenamiento con
perfen el nombre se configuran con un máximo de 20 solicitudes paralelas. Las clases de almacenamiento sinperfse configuran con dos solicitudes paralelas de forma predeterminada. ibm.io/s3fs-fuse-retry-count- El número máximo de reintentos para una operación de lectura o escritura antes de que se considere que la operación no es satisfactoria. Todas las clases de almacenamiento se configuran con un máximo de cinco reintentos.
ibm.io/stat-cache-size- El número máximo de registros que se conservan en la memoria caché de metadatos de IBM Cloud Object Storage. Cada registro puede ocupar un máximo de 0,5 kilobytes. Todas las clases de almacenamiento establecen el número máximo de registros en 100000 de forma predeterminada.
ibm.io/tls-cipher-suite- La suite de cifrado TLS que se debe utilizar cuando se establece una conexión a IBM Cloud Object Storage mediante el punto final de HTTPS. El valor de la suite de cifrado debe seguir el formato OpenSSL. Si los nodos trabajadores ejecutan un sistema operativo Ubuntu, las clases de almacenamiento se configuran para que utilicen el conjunto de cifrado
AESGCMde forma predeterminada. Para los nodos trabajadores que ejecutan un sistema operativo Red Hat, de forma predeterminada se utiliza la suite de cifradoecdhe_rsa_aes_128_gcm_sha_256.
Para obtener más información sobre cada clase de almacenamiento, consulte la referencia de clases de almacenamiento. Si desea modificar alguno de los valores preestablecidos, cree su propia clase de almacenamiento personalizada.
-
Decida un nombre para el grupo. El nombre del grupo debe ser exclusivo en IBM Cloud Object Storage. También puede optar por crear automáticamente un nombre para el grupo mediante el plugin de IBM Cloud Object Storage. Para organizar los datos en un grupo, puede crear subdirectorios.
La clase de almacenamiento que ha seleccionado anteriormente determina las tarifas de todo el grupo. No puede definir diferentes clases de almacenamiento para los subdirectorios. Si desea almacenar datos con diferentes requisitos de acceso, considere la posibilidad de crear varios grupos mediante varias PVC.
-
Decida si desea conservar los datos y el grupo después de que se suprima el clúster o la reclamación de volumen persistente (PVC). Cuando se suprime la PVC, siempre se suprime el PV. Puede elegir si desea también suprimir automáticamente los datos y el grupo cuando suprime la PVC. La instancia de servicio de IBM Cloud Object Storage es independiente de la política de retención que selecciona para los datos y nunca se elimina cuando suprime una PVC.
Ahora que ha decidido la configuración que desea, está preparado para crear una PVC para suministrar IBM Cloud Object Storage.
Verificación de la instalación
Revise los detalles del pod para comprobar que la instalación del plug-in ha sido satisfactoria.
-
Verifique si la instalación se ha realizado correctamente listando los pods de controlador.
kubectl get pod --all-namespaces -o wide | grep objectSalida de ejemplo
ibmcloud-object-storage-driver-9n8g8 1/1 Running 0 2m ibmcloud-object-storage-plugin-7c774d484b-pcnnx 1/1 Running 0 2mLa instalación es satisfactoria si ve un pod
ibmcloud-object-storage-pluginy uno o varios podsibmcloud-object-storage-driver. El número de podsibmcloud-object-storage-drivercorresponde al número de nodos trabajadores de su clúster. Todos los pods deben estar en un estadoRunningpara que el plugin funcione correctamente. Si los pods fallan, ejecutekubectl describe pod -n ibm-object-s3fs <pod_name>para detectar la causa raíz del error. -
Verifique que las clases de almacenamiento se han creado correctamente.
kubectl get sc | grep s3Salida de ejemplo
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 desea establecer una de las clases de almacenamiento de IBM Cloud Object Storage como clase de almacenamiento predeterminada, ejecute
kubectl patch storageclass <storageclass> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'. Sustituya<storageclass>por el nombre de la clase de almacenamiento de IBM Cloud Object Storage. -
Siga las instrucciones para añadir almacenamiento de objetos a las apps.
Si tiene problemas al instalar el plugin de IBM Cloud Object Storage, consulte Almacenamiento de objetos: la instalación del plugin de ibmc Helm de almacenamiento de objetos falla y Almacenamiento de objetos: la instalación del plugin de IBM Cloud Object Storage falla.