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 início rápido fornece um exemplo de manifesto do Kubernetes para criar um pod que monta o bucket e mostra como interagir com o conteúdo dele 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 da nuvem e implantar cargas de trabalho. Para saber mais sobre papéis comuns, consulte Tarefas e funções de usuário comuns do GKE Enterprise.
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 Standard, consulte Configurar o driver CSI do Cloud Storage FUSE para GKE.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the GKE and Cloud Storage APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the GKE and Cloud Storage APIs.
-
Make sure that you have the following role or roles on the project: Kubernetes Engine Admin, Storage Admin, Service Account User
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Acessar o IAM - Selecionar um projeto.
- Clique em CONCEDER ACESSO.
-
No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.
- Na lista Selecionar um papel, escolha um.
- 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 console Google Cloud , acesse a página Clusters do GKE.
Clique em
Criar.Na caixa de diálogo Criar cluster, clique em Configurar para o modo 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 console Google Cloud , 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 console Google Cloud , 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 o seguinte:
Arraste arquivos da área de trabalho ou do gerenciador de arquivos para o painel principal no console do Google Cloud .
Clique no botão Enviar arquivos. Na caixa de diálogo exibida, 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 esteja acessível pelo cluster do GKE, siga as etapas em Configurar o acesso a buckets do Cloud Storage.
Implante um pod para acessar seu bucket do Cloud Storage usando o FUSE
In the Google Cloud console, activate Cloud Shell.
Uma sessão do Cloud Shell é aberta dentro de um frame no console.
Para definir o projeto padrão, use o ID do projeto em que você quer implantar o pod:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pela 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_NAME
pelo nome do seu bucket do Cloud Storage. - Se você estiver usando um namespace ou uma conta de serviço diferente, substitua os campos
namespace
eserviceAccountName
de acordo com a situação.
O conteúdo deste manifesto inicia um pod chamado
gcsfuse-test
que monta o bucket no caminho/data
.- Substitua
Verifique se ele está em execução:
kubectl get pod gcsfuse-test
O resultado será assim:
NAME READY STATUS RESTARTS AGE gcsfuse-test 2/2 Running 0 12s
O driver CSI do Cloud Storage FUSE anexa um contêiner secundário ao seu pod para gerenciar interações com o Cloud Storage.
Se o pod não estiver em execução, busque 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 conta do Google Cloud pelos recursos usados neste tutorial, exclua o pod:
kubectl delete pod gcsfuse-test