Guia de início rápido: acessar buckets do Cloud Storage com o driver CSI do FUSE
Neste guia de início rápido, você vai aprender a acessar buckets do Cloud Storage em um aplicativo do Google Kubernetes Engine (GKE) como se fossem sistemas de arquivos locais. Este guia de início rápido fornece um manifesto de exemplo do Kubernetes para criar um pod que ativa o bucket e mostra como interagir com o conteúdo do bucket usando o sistema de arquivos do pod.
Esta página é destinada a desenvolvedores, especialistas em armazenamento e qualquer pessoa que queira provisionar e gerenciar recursos de nuvem e implantar cargas de trabalho. Para saber mais sobre papéis comuns, consulte Tarefas e funções de usuário comuns do GKE.
Antes de ler esta página, você precisa ter familiaridade com o Kubernetes e o driver CSI do Cloud Storage FUSE.
Este guia de início rápido usa o modo Autopilot do GKE. Se você quiser usar o modo padrão, consulte Configurar o driver CSI do Cloud Storage FUSE para GKE.
Antes de começar
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the GKE and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Verifique se você tem os seguintes papéis no projeto: Administrador do Kubernetes Engine, Administrador de armazenamento, Usuário da conta de serviço
Verificar os papéis
-
No Cloud de Confiance console, acesse a página IAM.
Acessar IAM - Selecione o projeto.
-
Na coluna Principal, encontre todas as linhas que identificam você ou um grupo no qual você está incluído. Para saber em quais grupos você está incluído, entre em contato com o administrador.
- Em todas as linhas que especificam ou incluem você, verifique a coluna Papel para ver se a lista de papéis inclui os papéis necessários.
Conceder os papéis
-
No Cloud de Confiance console, acesse a página IAM.
Acessar IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos principais, digite seu identificador de usuário. Normalmente, é o identificador de um usuário em um pool de identidades de força de trabalho. Saiba mais em Representar usuários do pool de força de trabalho nas políticas do IAM ou entre em contato com seu administrador.
- Clique em Selecionar um papel e pesquise o papel.
- Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
- Clique em Salvar.
-
Criar um cluster do Autopilot do GKE
No Cloud de Confiance console, acesse a página Criar um cluster do Autopilot.
Em Princípios básicos do cluster, faça o seguinte:
No campo Nome, insira um nome para o cluster.
Mantenha os valores padrão das outras configurações.
Para criar o cluster, clique em Criar.
Criar um bucket do Cloud Storage
- No Cloud de Confiance console do, acesse a página Buckets do Cloud Storage.
Clique em Criar.
Na página Criar um bucket, na seção Começar, faça o seguinte:
Insira um nome globalmente exclusivo para o bucket que atenda aos requisitos de nomenclatura de bucket.
Mantenha os valores padrão das outras configurações.
Para criar o bucket, clique em Criar.
Fazer upload de objetos para o bucket do Cloud Storage
- No Cloud de Confiance console do, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que você acabou de criar.
Na guia Objetos do bucket, faça uma destas ações:
Arraste arquivos da área de trabalho ou do gerenciador de arquivos para o painel principal no Cloud de Confiance console.
Clique no botão Enviar arquivos. Na caixa de diálogo que aparece, selecione os arquivos que você quer enviar e clique em Abrir.
Configurar o acesso ao bucket do Cloud Storage
Para garantir que o bucket do Cloud Storage possa ser acessado pelo cluster do GKE, siga as etapas em Configurar o acesso a buckets do Cloud Storage.
Configurar o Cloud Shell
No Cloud de Confiance console, ative o Cloud Shell.
Uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. A inicialização da sessão pode levar alguns segundos.
Implantar um pod para acessar o bucket do Cloud Storage usando o FUSE
Defina o projeto padrão em que você quer implantar o pod:
gcloud config set project PROJECT_IDSubstitua
PROJECT_IDpela ID do seu projeto.Crie e aplique o manifesto do pod com o seguinte conteúdo:
cat << EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: gcsfuse-test namespace: default annotations: gke-gcsfuse/volumes: "true" spec: terminationGracePeriodSeconds: 60 containers: - image: busybox name: busybox command: ["sleep"] args: ["infinity"] volumeMounts: - name: gcsfuse-test mountPath: /data readOnly: true serviceAccountName: default volumes: - name: gcsfuse-test csi: driver: gcsfuse.csi.storage.gke.io volumeAttributes: bucketName: BUCKET_NAME mountOptions: "implicit-dirs" EOF- Substitua
BUCKET_NAMEpelo nome do seu bucket do Cloud Storage. - Se você estiver usando um namespace ou uma conta de serviço diferente, substitua os campos
namespaceeserviceAccountNamede acordo.
O conteúdo desse manifesto inicia um pod chamado
gcsfuse-testque ativa o bucket no caminho/data.- Substitua
Verifique se ele está em execução:
kubectl get pod gcsfuse-testO resultado será assim:
NAME READY STATUS RESTARTS AGE gcsfuse-test 2/2 Running 0 12sO driver CSI do Cloud Storage FUSE anexa um contêiner secundário no pod para gerenciar interações com o Cloud Storage.
Se o pod não estiver em execução, você poderá buscar os registros de eventos para ajudar a diagnosticar o problema executando o comando
kubectl describe pod gcsfuse-test. Para mais informações, consulte Solução de problemas no GitHub.Depois que o pod estiver em execução, você poderá explorar o sistema de arquivos dele:
kubectl exec -it gcsfuse-test -- find /data
Limpar
Para evitar cobranças na sua Cloud de Confiance by S3NS conta pelos recursos usados neste tutorial, exclua o pod:
kubectl delete pod gcsfuse-test