IBM Cloud Docs
Almacenamiento local-Archivo y bloque

Almacenamiento local-Archivo y bloque

Configure el almacenamiento persistente utilizando volúmenes de archivos o bloques locales para clústeres de IBM Cloud Satellite®. Puede utilizar plantillas de almacenamiento de Satellite para crear configuraciones de almacenamiento. Cuando asigne una configuración de almacenamiento a los clústeres, los controladores de almacenamiento del proveedor de almacenamiento seleccionado se instalan en el clúster.

Requisitos previos

Antes de crear una configuración de almacenamiento local, debe identificar los nodos trabajadores de sus clústeres que disponen de los discos necesarios. A continuación, etiquete estos nodos trabajadores para que los controladores de almacenamiento local solo se instalen en estos nodos trabajadores.

  1. Asegúrese de tener los siguientes permisos.

    • Editor para el servicio de facturación.
    • Manager y Editor para el servicio Kubernetes.
    • Administrador deSatellite Link y Reader para el servicio Satellite.
  2. Cree una ubicación de Satellite.

  3. Crear un clúster de Satellite.

    • Asegúrese de seleccionar la opción Habilitar acceso de administrador de clúster para Satellite Config al crear el clúster. Si no habilita el acceso de administrador (admin) para Satellite Config al crear el clúster, debe volver a crear el clúster y habilitar el acceso de administrador para poder desplegar el almacenamiento.
  4. Despliegue el operador de almacenamiento local. Para configurar el archivo local o el almacenamiento en bloque, debe desplegar el operador de almacenamiento local.

  5. Asegúrese de que los nodos trabajadores del clúster que desea utilizar en la configuración de almacenamiento tengan al menos un disco local disponible, además de los discos que necesita Satellite. Los discos adicionales no deben estar formateados.

  6. Obtenga los detalles de dispositivo de los nodos trabajadores.

  7. Etiquete los nodos trabajadores que tienen un disco disponible y que desea utilizar en la configuración. Los controladores de almacenamiento local sólo se instalan en los nodos trabajadores etiquetados.

Obtener los detalles del dispositivo para su configuración de almacenamiento local

Cuando crees tu configuración de almacenamiento local, debes especificar qué dispositivos quieres utilizar. Las vías de acceso de dispositivo que se recuperan en los pasos siguientes se especifican como parámetros al crear la configuración.

  1. Inicie una sesión en el clúster y obtenga una lista de los nodos trabajadores disponibles. Anote los nodos trabajadores que desea utilizar en la configuración.

    oc get nodes
    
  2. Inicie una sesión en cada nodo trabajador que desee utilizar para la configuración de almacenamiento local.

    oc debug node/<node-name>
    
  3. Cuando el pod de depuración se despliegue en el nodo trabajador, ejecute los mandatos siguientes para obtener una lista de los discos disponibles en el nodo trabajador.

    1. Permita los binarios de host.

      chroot /host
      
    2. Obtenga una lista de sus dispositivos.

      lsblk
      
    3. Obtenga los detalles de sus dispositivos. Verifique que los dispositivos que desea utilizar están desmontados y sin formato.

      fdisk -l
      
  4. Obtenga una lista de los discos de almacenamiento en bloque disponibles del nodo trabajador. Debe utilizar discos sin montar para la configuración de almacenamiento local. En la siguiente salida de ejemplo del mandato lsblk, el disco nvme2n1 no está montado y no tiene particiones.

    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    nvme0n1     259:3    0   100G  0 disk
    |-nvme0n1p1 259:4    0     1M  0 part
    `-nvme0n1p2 259:5    0   100G  0 part /
    nvme1n1     259:0    0    20G  0 disk
    nvme2n1     259:1    0    20G  0 disk
    nvme3n1     259:2    0 139.7G  0 disk /var/data
    
  5. Repita los pasos anteriores para cada nodo trabajador que desee utilizar para su configuración de almacenamiento local.

Etiquetado de los nodos trabajadores

Después de haber recuperado las vías de acceso de dispositivo para los discos que desea utilizar en la configuración, etiquete los nodos trabajadores en los que están ubicados los discos.

  1. Obtenga las direcciones IP de los nodos trabajadores.

    oc get nodes
    
  2. Etiquete los nodos trabajadores que ha recuperado anteriormente. Los controladores de almacenamiento local se despliegan en los nodos trabajadores con esta etiqueta. Puede utilizar la etiqueta storage=local-block en el mandato de ejemplo o puede crear su propia etiqueta en el formato key=value.

    oc label nodes <worker-IP> <worker-IP> <worker-IP> "storage=local-block"
    

    Salida de ejemplo

    node/<worker-IP> labeled
    node/<worker-IP> labeled
    node/<worker-IP> labeled
    
  3. Verifique que la etiqueta se ha añadido a los nodos trabajadores que desea utilizar. Ejecute el mandato siguiente para visualizar las etiquetas en los nodos trabajadores y resalte la etiqueta que ha añadido en el paso anterior.

    oc get nodes --show-labels | grep --color=always storage=local-block
    

Creación y asignación de una configuración en la consola

  1. Consulte la referencia de parámetros.

  2. En la consola Ubicaciones, seleccione la ubicación en la que desea crear una configuración de almacenamiento.

  3. Seleccione Almacenamiento > Crear configuración de almacenamiento

  4. Especifique un nombre para la configuración.

  5. Seleccione el tipo de almacenamiento.

  6. Seleccione la versión y haga clic en Siguiente

  7. Si el Tipo de almacenamiento que ha seleccionado acepta parámetros personalizados, especifíquelos en la pestaña Parámetros.

  8. Si el Tipo de almacenamiento que ha seleccionado requiere secretos, especifíquelos en la pestaña Secretos.

  9. En la pestaña Clases de almacenamiento, revise las clases de almacenamiento desplegadas por la configuración o cree una clase de almacenamiento personalizada.

  10. En la pestaña Asignar al servicio, seleccione el servicio al que desea asignar la configuración.

  11. Pulse Completo para asignar la configuración de almacenamiento.

Creación de una configuración en la CLI

  1. Revise la referencia de parámetro para la versión de plantilla que desea utilizar.

  2. Inicie una sesión en la CLI de IBM Cloud.

    ibmcloud login
    
  3. Liste las ubicaciones de Satellite y apunte la columna Managed from.

    ibmcloud sat location ls
    
  4. Ponga como destino la región Managed from de la ubicación de Satellite. Por ejemplo, para wdc, ponga como destino us-east. Puede obtener información adicional consultando regiones de Satellite.

    ibmcloud target -r us-east
    
  5. Si utiliza un grupo de recursos distinto del default (predeterminado), póngalo como destino.

    ibmcloud target -g <resource-group>
    
  6. Copie uno de los siguientes mandatos de ejemplo para la versión de plantilla que desea utilizar. Para obtener más información sobre el mandato, consulte ibmcloud sat storage config create en la referencia de mandatos.

    Mandato de ejemplo para crear una configuración de la versión 1.0.0.

    ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-storage --template-version 1.0.0 --param "install-local-storage-file=INSTALL-LOCAL-STORAGE-FILE"  --param "auto-discover-devices-file=AUTO-DISCOVER-DEVICES-FILE"  [--param "file-nodes-label-key=FILE-NODES-LABEL-KEY"]  [--param "file-nodes-label-value=FILE-NODES-LABEL-VALUE"]  [--param "file-devicepath=FILE-DEVICEPATH"]  --param "fstype=FSTYPE"  --param "install-local-storage-block=INSTALL-LOCAL-STORAGE-BLOCK"  --param "auto-discover-devices-block=AUTO-DISCOVER-DEVICES-BLOCK"  [--param "block-nodes-label-key=BLOCK-NODES-LABEL-KEY"]  [--param "block-nodes-label-value=BLOCK-NODES-LABEL-VALUE"]  [--param "block-devicepath=BLOCK-DEVICEPATH"]
    
  7. Personalice el mandato en función de los valores que desee utilizar.

  8. Ejecute el comando para crear una configuración.

  9. Compruebe que se ha creado la configuración.

    ibmcloud sat storage config get --config CONFIG
    

Creación de una configuración en la API

  1. Genere una clave de API y, a continuación, solicite una señal de renovación. Para obtener más información, consulte Generación de una señal de IAM de IBM Cloud utilizando una clave de API.

  2. Revise la referencia de parámetro para la versión de plantilla que desea utilizar.

  3. Copie una de las siguientes solicitudes de ejemplo y sustituya las variables que desea utilizar.

    Solicitud de ejemplo para crear una configuración de la versión 1.0.0.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-storage\", \"storage-template-version\": \"1.0.0\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"INSTALL-LOCAL-STORAGE-FILE\", { \"entry.name\": \"AUTO-DISCOVER-DEVICES-FILE\", { \"entry.name\": \"FILE-NODES-LABEL-KEY\", { \"entry.name\": \"FILE-NODES-LABEL-VALUE\", { \"entry.name\": \"FILE-DEVICEPATH\", { \"entry.name\": \"FSTYPE\", { \"entry.name\": \"INSTALL-LOCAL-STORAGE-BLOCK\", { \"entry.name\": \"AUTO-DISCOVER-DEVICES-BLOCK\", { \"entry.name\": \"BLOCK-NODES-LABEL-KEY\", { \"entry.name\": \"BLOCK-NODES-LABEL-VALUE\", { \"entry.name\": \"BLOCK-DEVICEPATH\",\"user-secret-parameters\": }
    

Creación de una asignación en la CLI

  1. Enumere sus configuraciones de almacenamiento y anote la configuración de almacenamiento que desea asignar a sus clústeres.

    ibmcloud sat storage config ls
    
  2. Obtenga el ID del clúster, grupo de clústeres o servicio al que desea asignar almacenamiento.

    Para asegurarse de que el clúster está registrado en Satellite Config, o para crear grupos, consulte Configuración de clústeres para su uso con Satellite Config.

    Mandato de ejemplo para listar grupos de clústeres.

    ibmcloud sat group ls
    

    Mandato de ejemplo para listar clústeres.

    ibmcloud oc cluster ls --provider satellite
    

    Mandato de ejemplo para listar los servicios de Satellite.

    ibmcloud sat service ls --location <location>
    
  3. Asigne la configuración de almacenamiento al clúster, grupo o servicio que ha recuperado anteriormente. Para más información, consulte el comando' ibmcloud sat storage assignment create '.

    Mandato de ejemplo para asignar una configuración a un grupo de clústeres.

    ibmcloud sat storage assignment create --group GROUP --config CONFIG --name NAME
    

    Mandato de ejemplo para asignar una configuración a un clúster.

    ibmcloud sat storage assignment create --cluster CLUSTER --config CONFIG --name NAME
    

    Mandato de ejemplo para asignar una configuración a un clúster de servicio.

    ibmcloud sat storage assignment create --service-cluster-id CLUSTER --config CONFIG --name NAME
    
  4. Verifique que la asignación se ha creado.

    ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
    

Creación de una asignación de almacenamiento en la API

  1. Copie una de las siguientes solicitudes de ejemplo.

    Solicitud de ejemplo para asignar una configuración de a un clúster.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignmentByCluster" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"CLUSTER-ID\", \"controller\": \"LOCATION-ID\", \"name\": \"ASSIGNMENT-NAME\"}"
    

    Solicitud de ejemplo para asignar configuración a un grupo de clústeres.

    curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"string\", \"groups\": [ \"CLUSTER-GROUP\" ], \"name\": \"ASSIGNMENT-NAME\"}"
    
  2. Sustituya las variables por sus detalles y ejecute la solicitud.

  3. Verifique que la asignación se ha creado listando las asignaciones.

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignments" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

Actualización de asignaciones de almacenamiento en la consola

Puede utilizar la consola deSatellite para aplicar las últimas actualizaciones de parches a sus asignaciones.

  1. En la página Ubicaciones de la consola deSatellite, seleccione su ubicación.

  2. Pulse el separador Almacenamiento para ver las configuraciones.

  3. Haga clic en la configuración que desea actualizar.

  4. Pulse el icono Información (i) para aplicar la última revisión o parche.

  5. Opcional: habilite las actualizaciones de parches automáticas para la asignación de almacenamiento. La habilitación de las actualizaciones automáticas de parches garantiza que la asignación siempre tenga los últimos arreglos de seguridad.

Si habilita las actualizaciones automáticas de parches, debe seguir aplicando las actualizaciones principales manualmente.

Actualización manual de asignaciones en la CLI

Actualice una asignación para utilizar la última revisión de plantilla de almacenamiento.

  1. Liste las asignaciones de almacenamiento de Satellite, tome nota de la asignación de Satellite que desea actualizar.

    ibmcloud sat storage assignment ls
    
  2. Liste las plantillas de almacenamiento de Satellite para ver las últimas versiones disponibles.

    ibmcloud sat storage template ls
    
  3. Actualice la asignación de Satellite.

    Mandato de ejemplo para actualizar una asignación.

    ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
    

Habilitación de actualizaciones automáticas de parches para configuraciones y asignaciones en la CLI

Puede utilizar la CLI de sat storage assignment autopatch enable para habilitar las actualizaciones de parches automáticas para las asignaciones. La habilitación de actualizaciones automáticas de parches aplica automáticamente las revisiones de plantilla de almacenamiento (parches) más recientes. Debe seguir aplicando las actualizaciones principales manualmente.

  1. Obtener una lista de configuraciones de almacenamiento de Satellite. Anote el ID de configuración.

    ibmcloud sat storage assignment ls
    
  2. Ejecute uno de los siguientes mandatos de ejemplo para habilitar las actualizaciones de parches automáticas para la configuración y sus asignaciones asociadas. Introduzca el ID de configuración que recuperó en el paso anterior.

    Mandato de ejemplo para habilitar actualizaciones de parches automáticas para una asignación.

    ibmcloud sat storage assignment autopatch enable --config CONFIG  (--all | --assignment ASSIGNMENT-ID [--assignment ASSIGNMENT-ID])
    

    Mandato de ejemplo para habilitar actualizaciones de parches automáticas para todas las asignaciones de almacenamiento en una configuración determinada.

    ibmcloud sat storage assignment autopatch enable --config CONFIG --all
    

    Mandato de ejemplo para inhabilitar las actualizaciones de parches automáticas para todas las asignaciones en una configuración específica.

    ibmcloud sat storage assignment autopatch disable --config CONFIG --all
    

    Mandato de ejemplo para inhabilitar las actualizaciones de parches automáticas para una única asignación y una configuración específica.

    ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID
    

    Mandato de ejemplo para inhabilitar las actualizaciones automáticas de parches para una asignación múltiple y una configuración específica.

    ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID --assignment ASSIGNMENT-ID
    

Actualización manual de configuraciones en la CLI

Puede actualizar sus configuraciones de almacenamiento Satellite para obtener la última revisión de la plantilla de almacenamiento dentro de la misma versión principal.

  1. Liste las configuraciones de almacenamiento de Satellite , tome nota de la configuración de Satellite que desea actualizar.

    ibmcloud sat storage config ls
    
  2. Actualice la configuración de Satellite. Tenga en cuenta que solo se actualiza la configuración. Si desea actualizar las asignaciones que utilizan esta configuración, puede especificar la opción --include-assignments o puede actualizar manualmente cada asignación utilizando el mandato assignment update .

    Mandato de ejemplo para actualizar una configuración a la última revisión.

    ibmcloud sat storage config upgrade --config CONFIG [--include-assignments]
    

    Mandato de ejemplo para actualizar una configuración y sus asignaciones asociadas a la última revisión.

    ibmcloud sat storage config upgrade --config CONFIG --include-assignments
    

Actualización de una configuración y asignaciones en la API

Puede utilizar la API de /v2/storage/satellite/updateAssignment para actualizar las asignaciones con nuevos clústeres o grupos de clústeres. Establezca updateConfigVersion en true para aplicar la actualización de revisión.

  1. Copie la siguiente solicitud de ejemplo y sustituya las variables para los grupos de clúster y las asignaciones que desea actualizar.

    curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/updateAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"groups\": [ \"CLUSTER-GROUPS\" ], \"name\": \"ASSIGNMENT-NAME\", \"updateConfigVersion\": true, \"uuid\": \"ASSIGNMENT-ID\"}"
    
  2. Ejecute la solicitud.

  3. Obtenga los detalles de la asignación para verificar la actualización.

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

Habilitación de actualizaciones automáticas de parches para asignaciones en la API

Puede utilizar la API de /v2/storage/satellite/setAssignmentAutoupgrade para habilitar las actualizaciones de parches automáticas para las asignaciones. La habilitación de actualizaciones automáticas de parches aplica automáticamente las revisiones de plantilla de almacenamiento (parches) más recientes. Debe seguir aplicando las actualizaciones principales manualmente.

  1. Copie la siguiente solicitud de ejemplo y sustituya las variables para los grupos de clúster y las asignaciones que desea actualizar.

    curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/setAssignmentAutoupgrade" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d { "config": "string", "controller": "string", "autopatch": boolean,"assignment" : { "all": boolean, "uuid": ["string", "string", ...], } }
    
  2. Ejecute la solicitud.

  3. Obtenga los detalles de la asignación para verificar la actualización.

    curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
    

Despliegue de una aplicación que utiliza almacenamiento local

Después de crear una configuración de almacenamiento local y asignarla a tus clusters, puedes crear una aplicación que utilice tu almacenamiento de bloques local.

Puede correlacionar las PVC con volúmenes persistentes específicos añadiendo etiquetas a los volúmenes persistentes. Para obtener más información, consulte la documentación deKubernetes sobre selectores.

  1. Guarde el siguiente archivo YAML de PVC en la máquina local denominada local-pvc.yaml.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: local-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      volumeMode: Block
      resources:
      requests:
        storage: 20Gi # Important: Ensure that size of your claim is not larger than the local disk.
      storageClassName: sat-local-block-gold
    
  2. Cree la PVC en el clúster.

    oc create -f local-pvc.yaml
    
  3. Verifique que la PVC se ha creado. Tenga en cuenta que volumeBindingMode para la clase de almacenamiento sat-local-block-gold es waitForFirstConsumer.

    oc get pvc | grep local
    

    Para asegurarse de que haya pods planificados para los nodos trabajadores con almacenamiento, o para asegurarse de que a las aplicaciones que requieren almacenamiento no se les adelanten otros pods, puede especificar nodeAffinity y configurar la prioridad de los pods. Para obtener más información, consulte la documentación Kubernetes sobre prioridad y preferencia de pods y configuración de afinidad de nodos.

  4. Despliegue un pod de app que utilice la PVC de almacenamiento local. Guarde el siguiente archivo YAML de la app de ejemplo como un archivo en la máquina local denominada app.yaml. En este ejemplo, la especificación nodeAffinity garantiza que este pod se programe sólo para un nodo trabajador con la etiqueta especificada.

    apiVersion: v1
    kind: Pod
    metadata:
      name: app
    spec:
      affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: storage # Enter the 'key' of the worker node label created earlier.
              operator: In
              values:
              - local-block # Enter the 'value' of the worker label that you created earlier.
      containers:
        - name: nginx
          image: nginx
          volumeDevices:
            - name: data
              devicePath: "/dev/nvme2n1" # Enter the path to your local device.
      volumes:
        - name: data
          persistentVolumeClaim:
          claimName: local-pvc
    
  5. Cree el pod de la app en el clúster.

    oc create -f app.yaml
    
  6. Inicie sesión en el pod de la app y verifique que puede escribir en el disco local.

    kubectl exec <pod_name> -it bash
    
  7. Cambie el directorio a la carpeta dev.

    cd dev
    
  8. Ejecute el ls -lR <device-path> comando para verificar los detalles de su dispositivo y que su pod de aplicación puede leer y escribir permisos en su dispositivo de bloqueo, lo que se indica con brw en la salida del comando.

    ls -lR /dev/nvme2n1
    

    Salida de ejemplo

    brw-rw-rw-. 1 root disk 202, 32 Mar  3 21:24 /dev/nvme2n1
    
  9. Opcional: ejecute los mandatos siguientes para escribir datos en el dispositivo de bloque.

    1. Escribe "block_data" en el dispositivo de almacenamiento local que montaste en tu aplicación. Sustituye <device-path> por la ruta a tu dispositivo de almacenamiento. Ejemplo: /dev/nvme2n1.

      kubectl exec <pod_name> -- bash -c "echo "block_data" | dd conv=unblock of=<device-path>"
      
    2. Verifique que los datos se escriben en su dispositivo. Sustituya <device-path> por la vía de acceso al dispositivo de almacenamiento. Ejemplo: /dev/nvme2n1.

      kubectl exec <pod_name> -- bash -c "od -An -c -N 10 <device-path>"
      

      Salida de ejemplo

      b   l   o   c   k   _   d   a   t   a
      
  10. Suprima el pod test.

oc delete pod <pod_name>

Eliminación de una configuración de almacenamiento de la consola

  1. En el panel de control de almacenamiento de Satellite, seleccione la configuración de almacenamiento que desea suprimir.
  2. Seleccione Acciones > Eliminar.
  3. Especifique el nombre de la configuración de almacenamiento.
  4. Seleccione Suprimir.

Eliminación de la configuración del almacenamiento local desde la línea de comandos

  1. Obtenga una lista de los recursos del espacio de nombres local-storage. Si suprime la asignación de almacenamiento, estos recursos se eliminan.

    oc get all -n local-storage
    

    Salida de ejemplo

    NAME                                         READY   STATUS    RESTARTS   AGE
    pod/local-disk-local-diskmaker-clvg6         1/1     Running   0          29h
    pod/local-disk-local-diskmaker-kqddq         1/1     Running   0          29h
    pod/local-disk-local-diskmaker-p6z9q         1/1     Running   0          29h
    pod/local-disk-local-provisioner-dw5g7       1/1     Running   0          29h
    pod/local-disk-local-provisioner-hxd9n       1/1     Running   0          29h
    pod/local-disk-local-provisioner-tfg95       1/1     Running   0          29h
    pod/local-storage-operator-df4994656-7826l   1/1     Running   0          29h
    
    NAME                             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)     AGE
    service/local-storage-operator   ClusterIP   172.21.147.17   <none>        60000/TCP   29h
    
    NAME                                          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/local-disk-local-diskmaker     3         3         3       3            3           <none>          29h
    daemonset.apps/local-disk-local-provisioner   3         3         3       3            3           <none>          29h
    
    NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/local-storage-operator   1/1     1            1           29h
    
    NAME                                               DESIRED   CURRENT   READY   AGE
    replicaset.apps/local-storage-operator-df4994656   1         1         1       29h
    
  2. Obtenga una lista de las asignaciones de almacenamiento y busque la que ha utilizado para el clúster.

    ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
    
  3. Elimine la asignación. Una vez que se ha eliminado la asignación, los pods de controlador de almacenamiento local y las clases de almacenamiento se eliminan de todos los clústeres que formaban parte de la asignación de almacenamiento.

    ibmcloud sat storage assignment rm --assignment <assignment_ID>
    
  4. Obtenga una lista de los recursos del espacio de nombres local-storage y verifique que los pods de controlador de almacenamiento local se han eliminado.

    oc get all -n local-storage
    

    Salida de ejemplo

    No resources found in local-storage namespace.
    
  5. Obtenga una lista de las clases de almacenamiento del clúster y verifique que las clases de almacenamiento local se han eliminado.

    oc get sc
    
  6. Opcional: elimine la configuración de almacenamiento.

    1. Obtenga una lista de las configuraciones de almacenamiento.

      ibmcloud sat storage config ls
      
    2. Elimine la configuración de almacenamiento.

      ibmcloud sat storage config rm --config <config_name>
      
  7. Obtenga una lista de sus PVC y anote el nombre de la PVC que desea eliminar.

    oc get pvc
    
  8. Elimine los pods que hay actualmente montan la PVC.

    1. Obtenga una lista de todos los pods que actualmente montan la PVC que desea suprimir. Si no se devuelve ningún pod, significa que no tiene ningún pod que utilice actualmente la PVC.

      oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
      

      Salida de ejemplo

      app    sat-local-block-gold
      
    2. Elimine el pod que utiliza la PVC. Si el pod forma parte de un despliegue, elimine el despliegue.

      oc delete pod <pod_name>
      
      oc delete deployment <deployment-name>
      
    3. Verifique que el pod o el despliegue se ha eliminado.

      oc get pods
      
      oc get deployments
      
  9. Suprima la PVC. Dado que todas las clases de almacenamiento en bloque local proporcionadas por IBM se especifican con una política de reclamación Retain, la PV y la PVC no se suprimen automáticamente al suprimir la aplicación o el despliegue.

    oc delete pvc <pvc-name>
    
  10. Verifique que la PVC se ha eliminado.

    oc get pvc
    
  11. Obtenga una lista de sus PV y anote el nombre de los PV que desea eliminar.

    oc get pv
    
  12. Suprima los PV. Cuando se supriman los PV, los discos pasarán a estar disponibles para otras cargas de trabajo.

    oc delete pv <pv-name>
    
  13. Verifique que el PV se ha eliminado.

    oc get pv
    

Referencia de parámetros

Referencia de parámetro 1.0.0

1.1.0.0 parámetro de referencia
Nombre de visualización Opción de CLI Tipo Descripción ¿Obligatorio? Valor predeterminado
Instalar controlador de almacenamiento de archivos install-local-storage-file Config Establecer en true para instalar el controlador de almacenamiento de archivos. true true
Descubrimiento automático de volúmenes para el almacenamiento de archivos auto-discover-devices-file Config Establézcalo en true si desea descubrir y utilizar automáticamente los volúmenes de sus nodos trabajadores para el almacenamiento de archivos. true false
Clave de la etiqueta de nodo trabajador de almacenamiento de archivos file-nodes-label-key Config La etiqueta key del nodo trabajador key=value que desea utilizar para el almacenamiento de archivos. falso N/D
Valor de la etiqueta de nodo trabajador de almacenamiento de archivos file-nodes-label-value Config La etiqueta value del nodo trabajador key=value que desea utilizar para el almacenamiento de archivos. falso N/D
Vía de acceso de dispositivo para almacenamiento de archivos file-devicepath Config Vía de acceso a los dispositivos de almacenamiento en el nodo trabajador que desea utilizar para el almacenamiento de archivos. Ejemplo: /dev/sdc. Esta opción es necesaria cuando auto-discover-devices-file está configurado como false. falso N/D
Tipo de sistema de archivos fstype Config Tipo del sistema de archivos. Especifique ext3, ext4 o xfs. true ext4
Instalar controlador de almacenamiento en bloques install-local-storage-block Config Establecer en true para instalar el controlador de almacenamiento en bloque. true true
Descubrimiento automático de volúmenes para el almacenamiento en bloques auto-discover-devices-block Config Establézcalo en true si desea descubrir y utilizar automáticamente los volúmenes de sus nodos trabajadores para el almacenamiento de bloques. true false
Clave de la etiqueta de nodo de trabajador de almacenamiento en bloques block-nodes-label-key Config La etiqueta key del nodo trabajador key=value que desea utilizar para el almacenamiento de bloques. falso N/D
Valor de la etiqueta de nodo trabajador de almacenamiento en bloques block-nodes-label-value Config La etiqueta value del nodo trabajador key=value que desea utilizar para el almacenamiento de bloques. falso N/D
Vía de acceso de dispositivo para bloque de almacenamiento local block-devicepath Config Vía de acceso a los dispositivos de almacenamiento en el nodo trabajador que desea utilizar para el almacenamiento en bloques. Ejemplo: /dev/sdc. Esta opción es necesaria cuando auto-discover-devices-block está establecido en false. falso N/D