Monte uma partilha do Sistema de Arquivos de Rede

Pode configurar as tarefas de preparação personalizadas para montar partilhas do sistema de ficheiros de rede (NFS) no contentor onde o seu código está a ser executado. Isto permite que os seus trabalhos acedam a ficheiros remotos como se fossem locais, o que permite um elevado débito e uma baixa latência.

Este guia mostra como montar uma partilha do sistema de ficheiros de rede quando executa uma tarefa de preparação personalizada.

Antes de começar

  1. Crie uma partilha NFS numa nuvem virtual privada (VPC). A sua partilha tem de estar acessível sem autenticação.

    Pode usar uma instância do Filestore como partilha NFS. Se estiver a usar o Filestore e planear usar o peering de VPC para o Vertex AI no passo seguinte, selecione acesso ao serviço privado como modo de ligação quando criar uma instância. Para ver um exemplo, consulte o artigo Crie instâncias na documentação do Filestore.

  2. Para ligar o Vertex AI à VPC que aloja a sua partilha NFS, siga as instruções em Use a interface do Private Service Connect para o Vertex AI (recomendado) ou Configure o intercâmbio da rede da VPC.

Informações do Sistema de Arquivos de Rede para preparação personalizada

Quando cria um trabalho de treino personalizado que monta uma partilha NFS, tem de especificar o seguinte:

  • O nome da rede à qual o Vertex AI deve aceder. A forma como especifica o nome da rede difere consoante o tipo de tarefa de programação personalizada. Para ver detalhes, consulte o artigo Realize uma preparação personalizada.

  • A sua configuração do NFS no campo WorkerPoolSpec. Inclua os seguintes campos:

    Campo Descrição
    nfsMounts.server O endereço IP do seu servidor NFS. Tem de ser um endereço privado na sua VPC.
    nfsMounts.path O caminho de partilha do NFS. Tem de ser um caminho absoluto que comece com /.
    nfsMounts.mountPoint O ponto de montagem local. Tem de ser um nome de diretório UNIX válido. Por exemplo, se o ponto de montagem local for sourceData, especifique o caminho /mnt/nfs/sourceData a partir da instância de VM de preparação.

    Para mais informações, consulte o artigo Onde especificar recursos de computação.

Exemplo: crie uma tarefa personalizada com a CLI gcloud

  1. Siga os passos em Crie uma aplicação de preparação Python para um contentor pré-criado para criar uma aplicação de preparação a ser executada no Vertex AI.

  2. Crie um ficheiro denominado config.yaml que descreva as definições de montagem da configuração da interface do PSA ou do Private Service Connect para a sua tarefa de preparação. Use um dos seguintes formatos:

Interface do Private Service Connect

  1. Para usar a interface do Private Service Connect:

    pscInterfaceConfig:
         network_attachment: NETWORK_ATTACHMENT_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
        replicaCount: 1
        pythonPackageSpec:
           executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI
           packageUris:
           -  PYTHON_PACKAGE_URIS
           pythonModule: PYTHON_MODULE
        nfsMounts:
          - server: NFS_SERVER_IP
          path: NFS_SHARE_NAME
          mountPoint: LOCAL_FOLDER
    

    Substitua o seguinte:

    • NETWORK_ATTACHMENT_NAME: o nome do anexo de rede.

    • MACHINE_TYPE: o identificador do tipo de máquina virtual.

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI ou PRE_BUILT_CONTAINER_IMAGE_URI: O URI de uma imagem de contentor no Artifact Registry que vai executar o pacote Python fornecido. O Vertex AI oferece uma vasta gama de imagens de executores com pacotes pré-instalados para satisfazer os vários exemplos de utilização dos utilizadores.

    • PYTHON_PACKAGE_URIS: uma lista separada por vírgulas de URIs do Cloud Storage que especificam os ficheiros do pacote Python que compõem o programa de preparação e os respetivos pacotes dependentes. O número máximo de URIs de pacotes é 100.

    • PYTHON_MODULE: o nome do módulo Python a executar após a instalação dos pacotes.

    • NFS_SERVER_IP: O endereço IP do seu servidor NFS.

    • NFS_SHARE_NAME: o caminho de partilha NFS, que é um caminho absoluto que começa com /.

    • LOCAL_FOLDER: o ponto de montagem local (nome do diretório UNIX).

    Certifique-se de que o nome da rede está formatado corretamente e que a partilha NFS existe na rede especificada.

  2. Crie a tarefa personalizada e transmita o ficheiro config.yaml ao parâmetro --config.

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

    Substitua o seguinte:

    • LOCATION: especifique a região na qual criar a tarefa.

    • JOB_NAME: um nome para a tarefa personalizada.

Intercâmbio de VPCs

  1. Use o VPC Peering se quiser que a tarefa use o VPC Peering/PSA na tarefa ou não.

    network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
          replicaCount: 1
          pythonPackageSpec:
            executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or 
                  PRE_BUILT_CONTAINER_IMAGE_URI
            packageUris:
              -  PYTHON_PACKAGE_URIS
            pythonModule: PYTHON_MODULE
          nfsMounts:
            - server: NFS_SERVER_IP
              path: NFS_SHARE_NAME
              mountPoint: LOCAL_FOLDER
    

    Substitua o seguinte:

    • PROJECT_NUMBER: o ID do projeto do seu projeto Google Cloud .

    • NETWORK_NAME: o nome da sua VPC privada ou partilhada.

    • MACHINE_TYPE: o identificador do tipo de máquina virtual.

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI: O URI de uma imagem de contentor no Artifact Registry que vai executar o pacote Python fornecido. O Vertex AI oferece uma vasta gama de imagens de executores com pacotes pré-instalados para satisfazer os vários exemplos de utilização dos utilizadores.

    • PYTHON_PACKAGE_URIS: uma lista separada por vírgulas de URIs do Cloud Storage que especificam os ficheiros do pacote Python que compõem o programa de preparação e os respetivos pacotes dependentes. O número máximo de URIs de pacotes é 100.

    • PYTHON_MODULE: o nome do módulo Python a executar após a instalação dos pacotes.

    • NFS_SERVER_IP: O endereço IP do seu servidor NFS.

    • NFS_SHARE_NAME: o caminho de partilha NFS, que é um caminho absoluto que começa com /.

    • LOCAL_FOLDER: o ponto de montagem local (nome do diretório UNIX).

    Certifique-se de que o nome da rede está formatado corretamente e que a partilha NFS existe na rede especificada.

  2. Crie a tarefa personalizada e transmita o ficheiro config.yaml ao parâmetro --config.

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

Substitua o seguinte:

  • LOCATION: especifique a região na qual criar a tarefa.

  • JOB_NAME: um nome para a tarefa personalizada.

Limitações

  • Tem de montar a partilha de NFS através de um endereço IP interno à sua VPC. Não é permitido usar URLs públicos.

  • As tarefas de preparação montam partilhas de NFS sem autenticação e falham se for necessário um nome de utilizador e uma palavra-passe.

    Para proteger os seus dados, defina autorizações na partilha NFS. Se estiver a usar o Filestore, consulte o controlo de acesso na documentação do Filestore.

  • Não pode executar dois trabalhos de preparação que montem partilhas NFS de diferentes redes VPC em simultâneo. Isto deve-se à restrição de intercâmbio de redes.