Accede a las instancias de Filestore con el controlador de CSI de Filestore

El controlador de CSI de Filestore es la forma principal de usar las instancias de Filestore con Google Kubernetes Engine (GKE). El controlador de CSI de Filestore proporciona una experiencia completamente administrada con la tecnología del controlador de CSI de Google Cloud Filestore de código abierto.

La versión del controlador de CSI de Filestore está vinculada a los números de la versión secundaria de Kubernetes. La versión del controlador de CSI de Filestore suele ser el controlador más reciente disponible en el momento en que se lanza la versión secundaria de Kubernetes. Los controladores se actualizan de forma automática cuando el clúster se actualiza al último parche de GKE.

Ventajas

El controlador de CSI de Filestore proporciona los siguientes beneficios:

  • Tienes acceso al almacenamiento de NFS completamente administrado a través de las APIs de Kubernetes (kubectl).

  • Puedes usar el controlador de CSI de Filestore de GKE para aprovisionar de forma dinámica tus PersistentVolumes.

  • Puedes usar instantáneas de volumen con el controlador de CSI de GKE Filestore. Las instantáneas de volumen de CSI se pueden usar para crear copias de seguridad de Filestore.

    Una copia de seguridad de Filestore crea una copia diferencial del recurso compartido de archivos, incluidos todos los datos y metadatos de los archivos, y la almacena por separado. Puedes restablecer esta copia solo en una instancia nueva de Filestore. No se admite el restablecimiento a una instancia de Filestore existente. Puedes usar la API de instantáneas de volumen de CSI para activar las copias de seguridad de Filestore si agregas un campo type:backup en la clase de instantáneas de volumen.

  • Puedes usar la expansión de volumen con el controlador de CSI de GKE Filestore. La expansión de volumen te permite cambiar el tamaño de la capacidad de tu volumen.

  • Puede acceder a instancias de Filestore existentes mediante instancias de Filestore aprovisionadas previamente en cargas de trabajo de Kubernetes. También puedes crear o borrar instancias de Filestore de forma dinámica y usarlas en cargas de trabajo de Kubernetes con un StorageClass o un Deployment.

  • Admite recursos compartidos de Filestore para GKE. Esta función te permite crear una instancia de Filestore y asignar varios PersistentVolumes activados por NFS más pequeños de forma simultánea en cualquier cantidad de clústeres de GKE.

Requisitos

  • Para usar el controlador de CSI de Filestore, tus clústeres deben usar el número de versión de GKE correcto que se aplique a tu nivel de servicio. Solo se admiten los siguientes niveles de servicio:

    • HDD básico con versión 1.21 de GKE o posterior
    • SSD básico con versión 1.21 de GKE o posterior
    • Zonal (de 10 TiB a 100 TiB) con la versión 1.27 de GKE o una posterior
    • Enterprise con la versión 1.25 de GKE o posterior
    • Para usar la función de archivos compartidos de Filestore, tus clústeres deben usar versión 1.25 o posterior de GKE.
  • El controlador CSI de Filestore solo es compatible con clústeres que usan Linux; los nodos de Windows Server no son compatibles.

  • El tamaño mínimo de instancia para Filestore es de al menos 1 TiB. El tamaño mínimo de la instancia depende del nivel de servicio de Filestore que seleccionaste. Para obtener más información, consulta los niveles de servicio.

  • Filestore usa el protocolo del sistema de archivos NFSv3 en la instancia de Filestore y admite cualquier cliente que sea compatible con NFSv3.

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

  • Habilita la API de Cloud Filestore y la API de Google Kubernetes Engine.
  • Habilita las APIs
  • Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta gcloud components update para obtener la versión más reciente.

Habilita el controlador de CSI de Filestore en un clúster nuevo

Para habilitar el controlador de CSI del controlador de CSI de Filestore cuando creas un clúster nuevo estándar, sigue estos pasos con Google Cloud CLI o la consola de Google Cloud.

gcloud

gcloud container clusters create CLUSTER_NAME \
    --addons=GcpFilestoreCsiDriver \
    --cluster-version=VERSION

Reemplaza lo siguiente:

  • CLUSTER_NAME: El nombre de tu clúster.
  • VERSION: el número de versión de GKE. Debes seleccionar un número de versión compatible para usar esta función. Consulta [#requirements] para obtener más detalles. Como alternativa, puedes usar la marca --release-channel y especificar un canal de versiones.

Consola

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Haz clic en Crear.

  3. Selecciona el modo de clúster Estándar y, a continuación, haz clic en Configurar.

  4. Configura el clúster para que se adapte a tus necesidades.

  5. En el panel de navegación, en Clúster, haz clic en Funciones.

  6. Selecciona la casilla de verificación Habilitar el controlador de CSI de Filestore.

  7. Haz clic en Crear.

Si deseas usar Filestore en una red de VPC compartida, consulta Habilita el controlador de CSI de Filestore en un clúster nuevo con VPC compartida.

Después de habilitar el controlador de CSI de Filestore, puedes usarlo en volúmenes de Kubernetes con el controlador y el nombre del aprovisionador: filestore.csi.storage.gke.io.

Habilita el controlador de CSI de Filestore en un clúster existente

Para habilitar el controlador de CSI de Filestore en clústeres existentes, usa Google Cloud CLI o la consola de Google Cloud.

Para habilitar el controlador en un clúster existente, completa los siguientes pasos:

gcloud

gcloud container clusters update CLUSTER_NAME \
   --update-addons=GcpFilestoreCsiDriver=ENABLED

Reemplaza CLUSTER_NAME por el nombre del clúster existente.

Console

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. En la lista de clústeres, haz clic en el nombre del clúster que deseas modificar.

  3. En Características, junto al campo Controlador de CSI de Filestore, haz clic en Editar controlador de CSI de Filestore.

  4. Selecciona la casilla de verificación Habilitar el controlador de CSI de Filestore.

  5. Haz clic en Guardar cambios.

Inhabilita el controlador de CSI de Filestore

Puedes inhabilitar el controlador CSI de Filestore en un clúster existente de Autopilot o estándar con Google CLI o la consola de Google Cloud.

gcloud

gcloud container clusters update CLUSTER_NAME \
    --update-addons=GcpFilestoreCsiDriver=DISABLED \
    --region REGION

Reemplaza los siguientes valores:

  • CLUSTER_NAME: es el nombre del clúster existente.
  • REGION: la región para tu clúster (como us-central1).

Consola

  1. En la consola de Google Cloud, ve al menú de Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En la lista de clústeres, haz clic en el nombre del clúster que deseas modificar.

  3. En Características, junto al campo Controlador de CSI de Filestore, haz clic en Editar controlador de CSI de Filestore.

  4. Desmarca la casilla de verificación Habilitar el controlador de CSI de Filestore.

  5. Haz clic en Guardar cambios.

Accede a instancias de Filestore preexistentes con el controlador CSI de Filestore

En esta sección, se describe el proceso típico para usar un volumen de Kubernetes a fin de acceder a instancias de Filestore preexistentes con el controlador CSI de Filestore en GKE:

Crea un PersistentVolume y un PersistentVolumeClaim para acceder a la instancia

  1. Crea un archivo de manifiesto como el que se muestra en el siguiente ejemplo y asígnale el nombre preprov-filestore.yaml:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: PV_NAME
    spec:
      storageClassName: ""
      capacity:
        storage: 1Ti
      accessModes:
        - ReadWriteMany
      persistentVolumeReclaimPolicy: Retain
      volumeMode: Filesystem
      csi:
        driver: filestore.csi.storage.gke.io
        volumeHandle: "modeInstance/FILESTORE_INSTANCE_LOCATION/FILESTORE_INSTANCE_NAME/FILESTORE_SHARE_NAME"
        volumeAttributes:
          ip: FILESTORE_INSTANCE_IP
          volume: FILESTORE_SHARE_NAME
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: podpvc
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      volumeName: PV_NAME
      resources:
        requests:
          storage: 1Ti
    
  2. Para crear los recursos PersistentVolumeClaim y PersistentVolume según el archivo de manifiesto preprov-filestore.yaml, ejecuta el siguiente comando:

    kubectl apply -f preprov-filestore.yaml
    

Luego, crea un Deployment que consuma el volumen.

Crea un volumen con el controlador CSI de Filestore

En las siguientes secciones, se describe el proceso típico para usar un volumen de Kubernetes respaldado por un controlador de Filestore CSI en GKE.

Crea un StorageClass

Después de habilitar el controlador CSI de Filestore, GKE instala de forma automática las siguientes StorageClasses para aprovisionar instancias de Filestore:

Cada StorageClass solo está disponible en los clústeres de GKE que se ejecutan en sus respectivos números de versión de GKE compatibles. Para obtener una lista de versiones compatibles que se requieren para cada nivel de servicio, consulta Requisitos.

Para encontrar el nombre de la StorageClass instalada, ejecuta el siguiente comando:

kubectl get sc

También puedes instalar una StorageClass diferente que use el controlador de CSI de Filestore mediante la adición de filestore.csi.storage.gke.io en el campo provisioner.

Filestore necesita saber en qué red crear la nueva instancia. Las StorageClasses instaladas de forma automática usan la red predeterminada creada para los clústeres de GKE. Si borraste esto o deseas usar una red diferente, debes crear una StorageClass nueva como se describe en los siguientes pasos. De lo contrario, el sistema operativo Las StorageClasses no funcionarán.

  1. Guarda el siguiente manifiesto como filestore-example-class.yaml:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: filestore-example
    provisioner: filestore.csi.storage.gke.io
    volumeBindingMode: Immediate
    allowVolumeExpansion: true
    parameters:
      tier: standard
      network: default
    

    En el manifiesto, considera la siguiente configuración de parámetros:

    • Establecer volumeBindingMode en Immediate permite que el aprovisionamiento del volumen comience de inmediato. Esto es posible porque se puede acceder a las instancias de Filestore desde cualquier zona. Por lo tanto, GKE no necesita saber la zona en la que está programado el Pod, en contraste con el disco persistente de Compute Engine. Cuando se establece en WaitForFirstConsumer, GKE comienza a aprovisionar solo después de que se programe el Pod. Para obtener más información, consulta VolumeBindingMode.
    • Cualquier nivel de Filestore admitido se puede especificar en el parámetro tier (por ejemplo, BASIC_HDD, BASIC_SSD, ZONAL o ENTERPRISE).
    • El parámetro network se puede usar cuando se aprovisionan instancias de Filestore en VPC no predeterminadas. Las VPC no predeterminadas requieren que se configuren reglas de firewall especiales.
  2. Para crear un recurso StorageClass basado en el archivo de manifiesto filestore-example-class.yaml, ejecuta el siguiente comando:

    kubectl create -f filestore-example-class.yaml
    

Si deseas usar Filestore en una red de VPC compartida, consulta Crea una StorageClass cuando uses el controlador de CSI de Filestore con VPC compartida.

Usa un objeto PersistentVolumeClaim para acceder al volumen

Puede crear un recurso PersistentVolumeClaim que haga referencia a StorageClass del controlador de CSI de Filestore.

Puedes usar una StorageClass preinstalada o personalizada.

En el siguiente archivo de manifiesto de ejemplo, se crea una PersistentVolumeClaim que hace referencia a la StorageClass llamada filestore-example.

  1. Guarda el siguiente archivo de manifiesto como pvc-example.yaml:

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: podpvc
    spec:
      accessModes:
      - ReadWriteMany
      storageClassName: filestore-example
      resources:
        requests:
          storage: 1Ti
    
  2. Para crear un recurso PersistentVolumeClaim basado en el archivo de manifiesto pvc-example.yaml, ejecuta el siguiente comando:

    kubectl create -f pvc-example.yaml
    

Crea un Deployment que consuma el volumen

En el siguiente ejemplo de manifiesto de Deployment, se consume el recurso PersistentVolume llamado pvc-example.yaml.

Varios Pods pueden compartir el mismo recurso PersistentVolumeClaim.

  1. Guarda el siguiente manifiesto como filestore-example-deployment.yaml:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: web-server-deployment
      labels:
        app: nginx
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            volumeMounts:
            - mountPath: /usr/share/nginx/html
              name: mypvc
          volumes:
          - name: mypvc
            persistentVolumeClaim:
              claimName: podpvc
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: podpvc
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: filestore-example
      resources:
        requests:
          storage: 1Ti
    
  2. Para crear un objeto Deployment basado en el archivo de manifiesto filestore-example-deployment.yaml, ejecuta el siguiente comando:

    kubectl apply -f filestore-example-deployment.yaml
    
  3. Confirma que el objeto Deployment se haya creado correctamente:

    kubectl get deployment
    

    Las instancias de Filestore pueden tardar un poco en completar el aprovisionamiento. Antes de eso, las implementaciones no informarán un estado READY. Para verificar el progreso, supervisa el estado de PVC ejecutando el siguiente comando:

    kubectl get pvc
    

    Deberías ver que la PVC alcance un estado BOUND cuando se complete el aprovisionamiento de volúmenes.

Etiqueta instancias de Filestore

Puedes usar etiquetas para agrupar instancias relacionadas y almacenar metadatos de una instancia. Una etiqueta es un par clave-valor que te ayuda a organizar tus instancias de Filestore. Puedes adjuntar una etiqueta a cada recurso y, luego, filtrar los recursos según las etiquetas.

Puedes proporcionar etiquetas con la clave labels en StorageClass.parameters. Una instancia de Filestore puede etiquetarse con información sobre para qué PersistentVolumeClaim/PersistentVolume se creó la instancia. Las claves y valores de etiqueta personalizados deben cumplir con la convención de nombres de etiquetas. Consulta el ejemplo de clase de almacenamiento de Kubernetes para aplicar etiquetas personalizadas a la instancia de Filestore.

Usa fsgroup con volúmenes de Filestore

Kubernetes usa fsGroup a fin de cambiar los permisos y la propiedad del volumen para hacer coincidir un fsGroup solicitado por el usuario en el SecurityContext del Pod. Una fsGroup es un grupo complementario que se aplica a todos los contenedores en un Pod. Puedes aplicar un fsgroup a los volúmenes aprovisionados mediante el controlador de CSI de Filestore.

Configure reglas de acceso IP con volúmenes de Filestore

Filestore admite el control de acceso basado en IP reglas para de cargas y los volúmenes de almacenamiento. Esta función está disponible en clústeres de GKE que se ejecutan versión 1.29.5 o posterior.

Esta función permite que los administradores especifiquen los rangos de direcciones IP accedan a una instancia de Filestore aprovisionada de forma dinámica mediante en GKE. Esto mejora la seguridad, ya que restringe el acceso solo a clientes autorizados, en especial en situaciones en las que el rango de IP del clúster de GKE es demasiado amplio, lo que podría exponer la instancia de Filestore a usuarios o aplicaciones no autorizados.

Estas reglas se pueden configurar directamente a través de la API de Filestore o a través del controlador de CSI de Filestore cuando se crea un volumen. Puedes proporcionar la configuración seleccionada en formato JSON en la StorageClass con el parámetro nfs-export-options-on-create.

En el siguiente manifiesto de ejemplo, se muestra cómo especificar la configuración:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: filestore-example
provisioner: filestore.csi.storage.gke.io
volumeBindingMode: Immediate
allowVolumeExpansion: true
parameters:
  tier: "enterprise"
  nfs-export-options-on-create: '[
    {
      "accessMode": "READ_WRITE",
      "ipRanges": [
        "10.0.0.0/24"
      ],
      "squashMode": "ROOT_SQUASH",
      "anonUid": "1003",
      "anonGid": "1003"
    },
    {
      "accessMode": "READ_WRITE",
      "ipRanges": [
        "10.0.0.0/28"
      ],
      "squashMode": "NO_ROOT_SQUASH"
    }
  ]'

Opciones de seguridad

Las reglas de acceso de IP de Filestore simplifican la configuración del almacenamiento de archivos compartidos permisos para tus cargas de trabajo de GKE. Sin embargo, para comprender cómo se administra la propiedad y el acceso a los archivos, es necesario comprender algunos conceptos clave:

  • Asignaciones de NFS y usuarios NFS (sistema de archivos de red) es el protocolo que usa Filestore. Funciona asignando usuarios en sistemas cliente (tus pods de GKE) a usuarios en el servidor de Filestore. Si un archivo del servidor es propiedad del ID de usuario 1003 y un cliente se conecta con el ID de usuario 1003, tendrá acceso al archivo.

  • Reducción de raíz y anonUid:

    • La aplastación de raíz ROOT_SQUASH es una función de seguridad que evita que los clientes accedan a la instancia de Filestore con privilegios de raíz completos. Cuando se habilita el squash de raíz, los usuarios raíz de los sistemas cliente se asignan a un usuario sin privilegios especificado por el parámetro de configuración anonUid

    • Sin compresión raíz (NO_ROOT_SQUASH) permite a los clientes acceder al de Filestore con privilegios de administrador completos, que es conveniente para pero menos segura para las operaciones regulares.

  • Configuración y permisos iniciales: De forma predeterminada, el usuario raíz es el propietario de una instancia nueva de Filestore. Si habilitas la compresión de raíz sin configurar primero los permisos para otros usuarios, perderás el acceso. Por este motivo, necesitas al menos una regla de exportación de NFS con NO_ROOT_SQUASH para configurar inicialmente el acceso de otros usuarios y grupos.

Recomendaciones

  • Configuración inicial: Siempre comienza con al menos una regla de exportación de NFS que especifica un rango de administrador con permisos READ_WRITE y permite NO_ROOT_SQUASH. Usa este acceso para crear directorios, configurar permisos y asignar la propiedad según sea necesario.
  • Seguridad: Habilita la compresión de la raíz (ROOT_SQUASH) para mejorar la seguridad. Ten en cuenta que, después de crear un volumen, solo puedes modificar las reglas de acceso a través de la API de Filestore.
  • Acceso compartido: Usa fsGroup en tus contextos de seguridad de Pod para administrar la propiedad del grupo de volúmenes compartidos. Asegúrate de no superponer tus con el modo ROOT_SQUASH. Si lo haces, se muestra un mensaje de error Access denied.

Usa Filestore con VPC compartida

En esta sección, se explica cómo usar una instancia de Filestore en una red de VPC compartida desde un proyecto de servicio.

Configura un clúster con VPC compartida.

Para configurar tus clústeres con una red de VPC compartida, sigue estos pasos:

  1. Crea un proyecto host y de servicio.
  2. Habilita la API de Google Kubernetes Engine en los proyectos host y de servicio.
  3. En tu proyecto host, crea una red y una subred.
  4. Habilita la VPC compartida en el proyecto host.
  5. En el proyecto host, otorga la vinculación de rol de usuario HostServiceAgent para la cuenta de servicio de GKE del proyecto de servicio.
  6. Habilita el acceso privado a servicios en la red de VPC compartida

Habilita el controlador de CSI de Filestore en un clúster nuevo con VPC compartida

Para habilitar el controlador de CSI de Filestore en un clúster nuevo con VPC compartida, sigue estos pasos:

  1. Verifica los rangos secundarios y las subredes que se pueden usar. Cuando creas un clúster, debes especificar una subred y los rangos de direcciones IP secundarios que se usarán para los pods y los objetos Service del clúster.

    gcloud container subnets list-usable \
       --project=SERVICE_PROJECT_ID \
       --network-project=HOST_PROJECT_ID
    

    El resultado es similar al siguiente:

    PROJECT                   REGION       NETWORK     SUBNET  RANGE
    HOST_PROJECT_ID  us-central1  shared-net  tier-1  10.0.4.0/22
    ┌──────────────────────┬───────────────┬─────────────────────────────┐
    │ SECONDARY_RANGE_NAME  IP_CIDR_RANGE             STATUS           │
    ├──────────────────────┼───────────────┼─────────────────────────────┤
    │ tier-1-pods           10.4.0.0/14    usable for pods or services │
    │ tier-1-services       10.0.32.0/20   usable for pods or services │
    └──────────────────────┴───────────────┴─────────────────────────────┘
    
  2. Crea un clúster de GKE. En los siguientes ejemplos, se muestra cómo puedes usar gcloud CLI para crear un clúster de Autopilot o Standard configurado para la VPC compartida. En los siguientes ejemplos, se usan los nombres de red, subred y rango de Crea una red y dos subredes.

    Autopilot

    gcloud container clusters create-auto tier-1-cluster \
       --project=SERVICE_PROJECT_ID \
       --region=COMPUTE_REGION \
       --network=projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME \
       --subnetwork=projects/HOST_PROJECT_ID/regions/COMPUTE_REGION/subnetworks/SUBNET_NAME \
       --cluster-secondary-range-name=tier-1-pods \
       --services-secondary-range-name=tier-1-services
    

    Estándar

    gcloud container clusters create tier-1-cluster \
       --project=SERVICE_PROJECT_ID \
       --zone=COMPUTE_REGION \
       --enable-ip-alias \
       --network=projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME \
       --subnetwork=projects/HOST_PROJECT_ID/regions/COMPUTE_REGION/subnetworks/SUBNET_NAME \
       --cluster-secondary-range-name=tier-1-pods \
       --services-secondary-range-name=tier-1-services \
       --addons=GcpFilestoreCsiDriver
    
  3. Crea reglas de firewall para permitir la comunicación entre nodos, pods y objetos Service en tu clúster. En el siguiente ejemplo, se muestra cómo crear una regla de firewall llamada my-shared-net-rule-2.

    gcloud compute firewall-rules create my-shared-net-rule-2 \
       --project HOST_PROJECT_ID \
       --network=NETWORK_NAME \
       --allow=tcp,udp \
       --direction=INGRESS \
       --source-ranges=10.0.4.0/22,10.4.0.0/14,10.0.32.0/20
    

    En el ejemplo, los valores de IP de los rangos de origen provienen del paso anterior en el que verificaste las subredes y los rangos secundarios que se pueden usar.

Crea una StorageClass cuando uses el controlador de CSI de Filestore con VPC compartida

En el siguiente ejemplo, se muestra cómo puedes crear una StorageClass cuando uses el controlador de CSI de Filestore con VPC compartida:

cat <<EOF | kubectl apply -f -

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: filestore-sharedvpc-example
provisioner: filestore.csi.storage.gke.io
parameters:
  network: "projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME"
  connect-mode: PRIVATE_SERVICE_ACCESS
  reserved-ip-range: RESERVED_IP_RANGE_NAME
allowVolumeExpansion: true

EOF

Reemplaza lo siguiente:

  • HOST_PROJECT_ID: El ID o el nombre del proyecto host de la red de VPC compartida.
  • SHARED_VPC_NAME: Es el nombre de la red de VPC compartida que creaste antes.
  • RESERVED_IP_RANGE_NAME: El nombre del rango de direcciones IP reservadas específico para aprovisionar la instancia de Filestore. Este campo es opcional. Si se especifica un rango de direcciones IP reservado, debe ser un rango de direcciones con nombre en lugar de un valor CIDR directo.

Si quieres aprovisionar un volumen respaldado por recursos compartidos de Filestore en clústeres de GKE que ejecutan la versión 1.23 o posterior, consulta Optimiza el almacenamiento con la opción de compartir varios archivos de Filestore para GKE.

Vuelve a conectar los volúmenes de único recurso compartido de Filestore

Si usas Filestore con el HDD básico, la SSD básico o el nivel empresarial (de un solo recurso compartido), puedes seguir estas instrucciones para volver a conectar tu instancia de Filestore existente a tus cargas de trabajo de GKE.

  1. Para encontrar los detalles de la instancia de Filestore aprovisionada previamente, sigue las instrucciones en Obtén información sobre una instancia específica.

  2. Vuelve a implementar la especificación de PersistentVolume. En el campo volumeAttributes, modifica los siguientes campos para usar los mismos valores que la instancia de Filestore del paso 1:

    • ip: Modifica este valor a la dirección IP de la instancia de Filestore aprovisionada previamente.
    • volume: Modifica este valor con el nombre compartido de la instancia de Filestore aprovisionada previamente.
  3. Vuelve a implementar la especificación de PersistentVolumeClaim. En volumeName, asegúrate de hacer referencia al mismo nombre de PersistentVolume que en el paso 2.

  4. Ejecuta kubectl get pvc para verificar el estado de vinculación de PersistentVolumeClaim y PersistentVolume.

  5. Vuelve a implementar la especificación de tu pod y asegúrate de que tu pod pueda acceder al recurso compartido de Filestore nuevamente.

¿Qué sigue?