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:

  1. 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.

    1. 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).
    
  2. Revise el registro de cambios y verifique el soporte de versión y arquitectura de clúster.

  3. 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.

  4. 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
    
  5. 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
    
  6. Si ha instalado el plugin de IBM Cloud Object Storage Helm anterior, elimine el plugin de ibmc.

    helm plugin uninstall ibmc
    
  7. Descargue los diagramas de Helm y desempaquete los diagramas en el directorio actual.

    helm fetch --untar ibm-helm/ibm-object-storage-plugin
    

    Si la salida muestra Error: failed to untar: a file or directory with the name ibm-object-storage-plugin already exists, suprima el directorio ibm-object-storage-plugin y vuelva a ejecutar el mandato helm fetch.

  8. 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 ibmc no es compatible con Windows.

    1. 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
        ```
    
    
    
    
  9. 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.

    1. Crear la instancia de servicio de IBM Cloud Object Storage.
    2. Almacene las credenciales de servicio de IBM Cloud Object Storage en un secreto de Kubernetes).
    3. 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.
    
    
    
  10. Instale ibm-object-storage-plugin en 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 directorio templates, 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 es true.
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 es true.
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 ejecutando SET 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 contiene softlayer, establezca CLUSTER_PROVIDER con el valor "IBMC". Si la salida contiene gc, ng o g2, establezca CLUSTER_PROVIDER en "IBMC-VPC". Almacene el proveedor de la infraestructura en una variable de entorno. Por ejemplo: SET CLUSTER_PROVIDER="IBMC-VPC".
WORKER_OS y PLATFORM
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, ejecute SET WORKER_OS="debian" y SET 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 ejecutando SET 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.

  1. 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 object
    

    Salida 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
    
  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
    
  3. Actualice el plugin de Helm ibmc de IBM Cloud Object Storage a la versión más reciente.

    helm ibmc --update
    
  4. Instale la versión más reciente de ibm-object-storage-plugin para el sistema operativo.

    Ejemplo helm ibmc upgrade comando 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 upgrade para 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 ejecutando SET 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 contiene softlayer, establezca CLUSTER_PROVIDER con el valor "IBMC". Si la salida contiene gc, ng o g2, establezca CLUSTER_PROVIDER en "IBMC-VPC". Almacene el proveedor de la infraestructura en una variable de entorno. Por ejemplo: SET CLUSTER_PROVIDER="IBMC-VPC".
    WORKER_OS y PLATFORM
    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, ejecute SET WORKER_OS="debian" y SET 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 ejecutando SET REGION="< region>". |
  5. Verifique que ibmcloud-object-storage-plugin se haya actualizado correctamente. La actualización del plugin se realiza correctamente cuando se ve deployment "ibmcloud-object-storage-plugin" successfully rolled out en la salida de la CLI.

    kubectl rollout status deployment/ibmcloud-object-storage-plugin -n ibm-object-s3fs
    
  6. Verifique que ibmcloud-object-storage-driver se haya actualizado correctamente. La actualización se realiza correctamente cuando se ve daemon set "ibmcloud-object-storage-driver" successfully rolled out en la salida de la CLI.

    kubectl rollout status ds/ibmcloud-object-storage-driver -n ibm-object-s3fs
    
  7. 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:

Para eliminar el plugin de Helm ibmc y ibm-object-storage-plugin:

  1. Obtenga el nombre de la instalación de Helm de ibm-object-storage-plugin.

    helm ls -A | grep ibm-object-storage-plugin
    

    Salida 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  
    
  2. 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
    
  3. Verifique que se han eliminado los pods de ibm-object-storage-plugin.

    kubectl get pod -n <namespace> | grep object-storage
    

    La 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.

  4. Verifique que las clases de almacenamiento se han eliminado.

    kubectl get sc | grep s3
    
  5. Si utiliza una distribución OS X o Linux, elimine el plugin de Helm ibmc. Si utiliza Windows, este paso no es necesario.

    1. 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
        ```
    

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.

  1. Obtenga una lista de las clases de almacenamiento disponibles en IBM Cloud Kubernetes Service.

    kubectl get sc | grep s3
    

    Salida 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
    
  2. 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.
  3. 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 ibmc que 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á en US South, las clases de almacenamiento se configuran para utilizar el punto final de API US GEO para 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 ibm que 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á en US South, las clases de almacenamiento se configuran para utilizar US South como punto final regional para los grupos.
  4. 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 perf en el nombre se configuran con 52 megabytes. Las clases de almacenamiento sin perf en el nombre utilizan fragmentos de 16 megabytes. Por ejemplo, si desea leer un archivo que es de 1GB, 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 syslog y puede reenviar los registros a un servidor de registro externo. De forma predeterminada, todas las clases de almacenamiento se establecen en false para 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 smart standard y, y deshabilitada para las clases de almacenamiento vault y cold.
    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 perf en el nombre se configuran con un máximo de 20 solicitudes paralelas. Las clases de almacenamiento sin perf se 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 AESGCM de forma predeterminada. Para los nodos trabajadores que ejecutan un sistema operativo Red Hat, de forma predeterminada se utiliza la suite de cifrado ecdhe_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.

  5. 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.

  6. 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.

  1. Verifique si la instalación se ha realizado correctamente listando los pods de controlador.

    kubectl get pod --all-namespaces -o wide | grep object
    

    Salida de ejemplo

    ibmcloud-object-storage-driver-9n8g8                              1/1       Running   0          2m
    ibmcloud-object-storage-plugin-7c774d484b-pcnnx                   1/1       Running   0          2m
    

    La instalación es satisfactoria si ve un pod ibmcloud-object-storage-plugin y uno o varios pods ibmcloud-object-storage-driver. El número de pods ibmcloud-object-storage-driver corresponde al número de nodos trabajadores de su clúster. Todos los pods deben estar en un estado Running para que el plugin funcione correctamente. Si los pods fallan, ejecute kubectl describe pod -n ibm-object-s3fs <pod_name> para detectar la causa raíz del error.

  2. Verifique que las clases de almacenamiento se han creado correctamente.

    kubectl get sc | grep s3
    

    Salida 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
    

    Si 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.

  3. 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.