Filestore-Agenten-Volumes einrichten

Bevor Sie Volumenpools erstellen oder Volumes bereitstellen, müssen Sie das VPC-Netzwerk (Virtual Private Cloud) mit Private Service Connect (PSC) konfigurieren, die erforderlichen APIs aktivieren und die entsprechenden IAM-Rollen zuweisen.

Projekt erstellen und APIs aktivieren

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  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

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Einrichten von Filestore-Agent-Volumes benötigen:

  • Dienstverbindungsrichtlinien und VPC-Netzwerk konfigurieren: Compute-Netzwerkadministrator (roles/compute.networkAdmin)
  • Filestore-Instanzen und zugehörige Ressourcen, einschließlich Volume-Pools und Agent-Volumes, ansehen und verwalten: Cloud Filestore-Bearbeiter (roles/file.editor)

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Dienst-Agent initialisieren

Wenn Sie in Ihrem Projekt noch keine Filestore-Instanz erstellt haben, initialisieren Sie den Filestore-Dienst-Agent mit dem folgenden Befehl:

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

Ersetzen Sie PROJECT_ID durch die ID Ihres Projekts von Google Cloud.

Berechtigungen für den Dienst-Agent erteilen

Um Filestore-Agent-Volumes einzurichten, weisen Sie dem Filestore-Dienst-Agent die Rolle „Cloud Filestore-Bearbeiter“ (roles/file.editor) zu:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • PROJECT_NUMBER: die Projektnummer IhresGoogle Cloud -Projekts.

Private Service Connect-Netzwerk konfigurieren

Filestore-Agent-Volumes verwenden Private Service Connect, um eine Verbindung zwischen der verwalteten Speicherinfrastruktur und Ihrem VPC-Netzwerk herzustellen. Private Service Connect sorgt für private Kommunikation mit hoher Bandbreite und geringer Latenz, ohne dass öffentliche IP-Adressen oder VPC Network Peering-Konfigurationen erforderlich sind.

Führen Sie den folgenden Befehl aus, um eine Richtlinie für Dienstverbindungen zu erstellen:

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

Ersetzen Sie Folgendes:

  • POLICY_NAME: Ein Name für die Dienstverbindungsrichtlinie, z. B. filestore-agent-psc-policy.
  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • REGION: Die Region, in der sich der Volume-Pool und die Arbeitslasten befinden, z. B. us-central1.
  • VPC_NETWORK: Der Name eines vorhandenen VPC-Netzwerk.
  • SUBNET_NAME: der Name eines regulären VPC-Subnetzes in der angegebenen Region, in dem IP-Adressen für Private Service Connect-Endpunkte zugewiesen werden sollen. Ein Beispiel ist das Standardsubnetz, bei dem das Flag --purpose auf PRIVATE gesetzt ist.

Volume-Pool und StorageClass erstellen

Ein Volume-Pool bietet die gemeinsame Speicherkapazität und IOPS für Agent-Volumes. Wenn Sie Volumes aus Ihrem Volume-Pool in GKE dynamisch bereitstellen möchten, erstellen Sie den Volume-Pool und definieren Sie dann ein Kubernetes-StorageClass, das darauf verweist.

Volume-Pool erstellen

Wenn Sie einen Beispiel-Volume-Pool erstellen möchten, senden Sie eine HTTP-POST-Anfrage an den volumePools.create-Endpunkt:

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"

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • VPC_NETWORK: der Name des PSC-fähigen VPC-Netzwerk.
  • LOCATION: Die Region, in der der Volume-Pool bereitgestellt wird, z. B. us-central1.
  • VOLUME_POOL_ID: Eine Kennung für den Volume-Pool, z. B. my-volume-pool.

Weitere Informationen finden Sie unter Volumenpools erstellen und verwalten.

StorageClass erstellen

Erstellen Sie ein StorageClass-Manifest mit dem Namen volume-pool-sc.yaml, das auf Ihren Volumepool verweist:

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

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • LOCATION: die Region, in der der Volume-Pool bereitgestellt wird.
  • VOLUME_POOL_ID: Die Kennung Ihres Volume-Pools.

Wenn Sie einen vorhandenen GKE-Cluster mit installiertem Filestore-CSI-Treiber haben, wenden Sie die StorageClass an:

kubectl apply -f volume-pool-sc.yaml

Andernfalls wenden Sie dieses Manifest an, nachdem Sie Ihren Cluster in GKE-Umgebung für Filestore-Agent-Volumes einrichten eingerichtet haben.

Nächste Schritte