Panduan memulai: Mengakses bucket Cloud Storage dengan driver CSI FUSE
Dalam panduan memulai ini, Anda akan mempelajari cara mengakses bucket Cloud Storage dari dalam aplikasi Google Kubernetes Engine (GKE) seolah-olah bucket tersebut adalah sistem file lokal. Panduan memulai ini menyediakan contoh manifes Kubernetes untuk membuat Pod yang memasang bucket, dan menunjukkan cara berinteraksi dengan konten bucket menggunakan sistem file Pod.
Halaman ini ditujukan untuk Developer, spesialis Penyimpanan, dan siapa pun yang ingin menyediakan dan mengelola resource cloud, serta men-deploy workload. Untuk mempelajari peran umum lebih lanjut, lihat Peran dan tugas pengguna GKE umum.
Sebelum membaca halaman ini, pastikan Anda sudah memahami Kubernetes dan driver CSI Cloud Storage FUSE.
Panduan memulai ini menggunakan mode Autopilot GKE. Jika Anda ingin menggunakan mode Standard, lihat Menyiapkan driver CSI Cloud Storage FUSE untuk GKE.
Sebelum memulai
- 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.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the GKE and Cloud Storage APIs, if any are not already enabled.
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the GKE and Cloud Storage APIs, if any are not already enabled.
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.-
Pastikan Anda memiliki peran berikut di project: Kubernetes Engine Admin, Storage Admin, Pengguna Akun Layanan
Memeriksa peran
-
Di konsol Google Cloud , buka halaman IAM.
Buka IAM - Pilih project.
-
Di kolom Akun utama, temukan semua baris yang mengidentifikasi Anda atau grup yang Anda termasuk di dalamnya. Untuk mengetahui grup mana saja yang Anda ikuti, hubungi administrator Anda.
- Untuk semua baris yang menentukan atau menyertakan Anda, periksa kolom Peran untuk melihat apakah daftar peran menyertakan peran yang diperlukan.
Memberikan peran
-
Di konsol Google Cloud , buka halaman IAM.
Buka IAM - Pilih project.
- Klik Grant access.
-
Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah alamat email untuk Akun Google.
- Klik Select a role, lalu telusuri peran.
- Untuk memberikan peran tambahan, klik Add another role, lalu tambahkan tiap peran tambahan.
- Klik Simpan.
-
Membuat cluster GKE Autopilot
Di konsol Google Cloud , buka halaman Create an Autopilot cluster.
Di bagian Dasar-dasar cluster, lakukan hal berikut:
Di kolom Name, masukkan nama untuk cluster.
Pertahankan nilai default untuk setelan lainnya.
Untuk membuat cluster, klik Create.
Membuat bucket Cloud Storage
- Di konsol Google Cloud , buka halaman Buckets Cloud Storage.
Klik Create.
Di halaman Create a bucket, di bagian Get started, lakukan hal berikut:
Masukkan nama yang unik secara global untuk bucket Anda yang memenuhi persyaratan penamaan bucket.
Pertahankan nilai default untuk setelan lainnya.
Untuk membuat bucket, klik Create.
Mengupload objek ke bucket Cloud Storage Anda
- Di konsol Google Cloud , buka halaman Buckets Cloud Storage.
Pada daftar bucket, klik nama bucket yang baru saja Anda buat.
Di tab Objects untuk bucket, lakukan salah satu hal berikut:
Tarik file dari desktop atau pengelola file Anda ke panel utama di konsol Google Cloud .
Klik tombol Upload Files. Pada dialog yang muncul, pilih file yang ingin diupload, lalu klik Buka.
Mengonfigurasi akses ke bucket Cloud Storage Anda
Untuk memastikan bucket Cloud Storage Anda dapat diakses oleh cluster GKE, ikuti langkah-langkah di Mengonfigurasi akses ke bucket Cloud Storage.
Menyiapkan Cloud Shell
Di konsol Google Cloud , aktifkan Cloud Shell.
Sesi Cloud Shell akan dimulai dan menampilkan prompt command line. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Men-deploy Pod untuk mengakses bucket Cloud Storage menggunakan FUSE
Tetapkan project default tempat Anda ingin men-deploy Pod:
gcloud config set project PROJECT_IDGanti
PROJECT_IDdengan project ID Anda.Buat dan terapkan manifes Pod dengan konten berikut:
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- Ganti
BUCKET_NAMEdengan nama bucket Cloud Storage Anda. - Jika Anda menggunakan namespace atau akun layanan yang berbeda, ganti kolom
namespacedanserviceAccountNamedengan tepat.
Konten manifes ini memulai Pod bernama
gcsfuse-testyang memasang bucket di jalur/data-nya.- Ganti
Verifikasi bahwa Pod sedang berjalan:
kubectl get pod gcsfuse-testOutputnya mirip dengan hal berikut ini:
NAME READY STATUS RESTARTS AGE gcsfuse-test 2/2 Running 0 12sDriver CSI Cloud Storage FUSE melampirkan container sidecar di Pod Anda untuk mengelola interaksi dengan Cloud Storage.
Jika Pod tidak berjalan, Anda dapat mengambil log peristiwa untuk membantu mendiagnosis masalah dengan menjalankan perintah
kubectl describe pod gcsfuse-test. Untuk mengetahui informasi selengkapnya, lihat Pemecahan masalah di GitHub.Setelah Pod berjalan, Anda dapat menjelajahi sistem filenya:
kubectl exec -it gcsfuse-test -- find /data
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang Anda gunakan dalam tutorial ini, hapus Pod:
kubectl delete pod gcsfuse-test