Antes de criar pools ou provisionar volumes, configure a rede de nuvem privada virtual (VPC) usando o Private Service Connect (PSC), ative as APIs necessárias e conceda as funções apropriadas do IAM.
Criar um projeto e ativar APIs
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Filestore APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud 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.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Filestore APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Funções exigidas
Para receber as permissões necessárias para configurar volumes do agente do Filestore, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Configure políticas de conexão de serviço e rede VPC:
Administrador de rede do Compute (
roles/compute.networkAdmin) -
Veja e gerencie instâncias do Filestore e recursos relacionados, incluindo pools de volume e volumes de agente:
Editor do Cloud Filestore (
roles/file.editor)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Inicializar o agente de serviço
Se você não criou uma instância do Filestore no seu projeto, inicialize o agente de serviço do Filestore executando o seguinte comando:
gcloud beta services identity create \
--service=file.googleapis.com \
--project=PROJECT_ID
Substitua PROJECT_ID pelo ID do seu projeto do Google Cloud.
Conceder permissões ao agente de serviço
Para configurar volumes do agente do Filestore, conceda o papel Editor do Cloud Filestore (roles/file.editor) ao agente de serviço do Filestore:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@cloud-filer.iam.iam.gserviceaccount.com" \
--role="roles/file.editor"
Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .PROJECT_NUMBER: o número do projetoGoogle Cloud .
Configurar a rede do Private Service Connect
Os volumes do agente do Filestore usam o Private Service Connect para conectar a infraestrutura de armazenamento gerenciado diretamente à sua rede VPC. O Private Service Connect garante uma comunicação privada, de alta largura de banda e baixa latência sem exigir endereços IP públicos ou configurações de peering de rede VPC.
Para criar uma política de conexão de serviço, execute o seguinte comando:
gcloud network-connectivity service-connection-policies create POLICY_NAME \
--project=PROJECT_ID \
--region=REGION \
--network=projects/PROJECT_ID/global/networks/VPC_NETWORK \
--subnets=SUBNET_NAME \
--service-class=google-cloud-filestore
Substitua:
POLICY_NAME: um nome para a política de conexão de serviço, comofilestore-agent-psc-policy.PROJECT_ID: o ID do seu projeto do Google Cloud .REGION: a região em que o pool de volumes e as cargas de trabalho vão residir, comous-central1.VPC_NETWORK: o nome de uma rede VPC existente.SUBNET_NAME: o nome de uma sub-rede VPC regular na região especificada em que os endereços IP do endpoint do Private Service Connect serão alocados. Um exemplo é a sub-rede padrão com a flag--purposedefinida comoPRIVATE.
Criar um pool de volumes e uma StorageClass
Um pool de volumes oferece a capacidade de armazenamento compartilhado e as IOPS para volumes de agentes.
Para provisionar dinamicamente volumes do seu pool de volumes no GKE,
crie o pool e defina um StorageClass do Kubernetes que
faça referência a ele.
Criar um pool de volumes
Para criar um pool de volumes de amostra, envie uma solicitação HTTP POST ao endpoint
volumePools.create:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"description": "Sample volume pool for agent volumes",
"network": "projects/PROJECT_ID/global/networks/VPC_NETWORK",
"defaultVolumeQuotaMib": 2048,
}' \
"https://file.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/volumePools?volumePoolId=VOLUME_POOL_ID"
Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .VPC_NETWORK: o nome da rede VPC habilitada para PSC.LOCATION: a região em que o pool de volumes está implantado, comous-central1.VOLUME_POOL_ID: um identificador para o pool de volumes, comomy-volume-pool.
Para mais informações, consulte Criar e gerenciar pools de volumes.
Criar um StorageClass
Crie um manifesto StorageClass chamado volume-pool-sc.yaml que faça referência ao seu pool de volumes:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: volume-pool-sc
provisioner: filestore.csi.storage.gke.io
volumeBindingMode: Immediate
reclaimPolicy: Delete
allowVolumeExpansion: true
parameters:
volume-pool: "projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/volumePools/<var>VOLUME_POOL_ID</var>"
Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .LOCATION: a região em que o pool de volumes está implantado.VOLUME_POOL_ID: o identificador do seu pool de volumes.
Se você tiver um cluster do GKE com o
driver CSI do Filestore instalado, aplique o StorageClass:
kubectl apply -f volume-pool-sc.yaml
Caso contrário, aplique esse manifesto depois de configurar o cluster em Configurar o ambiente do GKE para volumes do agente do Filestore.
A seguir
- Criar e gerenciar pools de volumes.
- Configure o ambiente do GKE para volumes de agentes do Filestore.