Menyiapkan volume agen Filestore

Sebelum membuat kumpulan volume atau menyediakan volume, Anda harus mengonfigurasi jaringan Virtual Private Cloud (VPC) menggunakan Private Service Connect (PSC), mengaktifkan API yang diperlukan, dan memberikan peran IAM yang sesuai.

Membuat project dan mengaktifkan API

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. 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.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Filestore APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the APIs

  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. 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.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Filestore APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the APIs

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menyiapkan volume agen Filestore, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:

  • Konfigurasi Kebijakan Koneksi Layanan dan jaringan VPC: Admin Jaringan Compute (roles/compute.networkAdmin)
  • Melihat dan mengelola instance Filestore dan resource terkait, termasuk kumpulan volume dan volume agen: Cloud Filestore Editor (roles/file.editor)

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Melakukan inisialisasi agen layanan

Jika Anda belum membuat instance Filestore di project, lakukan inisialisasi agen layanan Filestore dengan menjalankan perintah berikut:

gcloud beta services identity create \
    --service=file.googleapis.com \
    --project=PROJECT_ID

Ganti PROJECT_ID dengan ID project Google Cloud Anda.

Memberikan izin ke agen layanan

Untuk menyiapkan volume agen Filestore, berikan peran Cloud Filestore Editor (roles/file.editor) ke agen layanan Filestore:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:service-PROJECT_NUMBER@cloud-filer.iam.iam.gserviceaccount.com" \
    --role="roles/file.editor"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • PROJECT_NUMBER: nomor project Google Cloud project Anda.

Mengonfigurasi jaringan Private Service Connect

Volume agen Filestore menggunakan Private Service Connect untuk menghubungkan infrastruktur penyimpanan terkelola langsung ke jaringan VPC Anda. Private Service Connect memastikan komunikasi pribadi, bandwidth tinggi, dan latensi rendah tanpa memerlukan alamat IP publik atau konfigurasi Peering Jaringan VPC.

Untuk membuat kebijakan koneksi layanan, jalankan perintah berikut:

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

Ganti kode berikut:

  • POLICY_NAME: nama untuk kebijakan koneksi layanan, seperti filestore-agent-psc-policy.
  • PROJECT_ID: ID Google Cloud project Anda.
  • REGION: region tempat volume pool dan workload akan berada, seperti us-central1.
  • VPC_NETWORK: nama jaringan VPC yang ada.
  • SUBNET_NAME: nama subnet VPC reguler di region yang ditentukan tempat alamat IP endpoint Private Service Connect akan dialokasikan. Contohnya adalah subnet default dengan flag --purpose yang disetel ke PRIVATE.

Membuat kumpulan volume dan StorageClass

Kumpulan volume menyediakan kapasitas penyimpanan bersama dan IOPS untuk volume agen. Untuk menyediakan volume secara dinamis dari kumpulan volume di GKE, buat kumpulan volume, lalu tentukan StorageClass Kubernetes yang mereferensikannya.

Membuat kumpulan volume

Untuk membuat kumpulan volume sampel, kirim permintaan POST HTTP ke 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"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • VPC_NETWORK: nama jaringan VPC yang mendukung PSC.
  • LOCATION: region tempat volume pool di-deploy, seperti us-central1.
  • VOLUME_POOL_ID: ID untuk pool volume, seperti my-volume-pool.

Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola kumpulan volume.

Membuat StorageClass

Buat manifes StorageClass bernama volume-pool-sc.yaml yang mereferensikan kumpulan volume Anda:

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>"

Ganti kode berikut:

  • PROJECT_ID: ID Google Cloud project Anda.
  • LOCATION: region tempat volume pool di-deploy.
  • VOLUME_POOL_ID: ID pool volume Anda.

Jika Anda memiliki cluster GKE yang sudah ada dengan driver CSI Filestore terinstal, terapkan StorageClass:

kubectl apply -f volume-pool-sc.yaml

Jika tidak, terapkan manifes ini setelah menyiapkan cluster di Menyiapkan lingkungan GKE untuk volume agen Filestore.

Langkah berikutnya