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 saja yang ingin menyediakan dan mengelola resource cloud, serta men-deploy workload. Untuk mempelajari peran umum lebih lanjut, lihat Tugas dan peran pengguna GKE Enterprise umum.
Sebelum membaca halaman ini, pastikan Anda sudah memahami Kubernetes dan driver CSI Cloud Storage FUSE.
Panduan memulai ini menggunakan mode GKE Autopilot. Jika Anda ingin menggunakan mode Standard, lihat Menyiapkan driver CSI Cloud Storage FUSE untuk GKE.
Sebelum memulai
- 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: roles/container.admin, roles/storage.admin, roles/storage.objectUser, roles/iam.serviceAccountUser
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.
Buka IAM - Pilih project.
- Klik Berikan akses.
-
Di kolom New principals, masukkan ID pengguna Anda. Ini biasanya adalah alamat email untuk Akun Google.
- Di daftar Pilih peran, pilih peran.
- Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
- Klik Simpan.
-
Membuat cluster GKE Autopilot
Di konsol Google Cloud, buka halaman Clusters GKE.
Klik
Create.Pada dialog Create cluster, klik Configure untuk mode Autopilot.
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 Bucket 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
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Pada daftar bucket, klik nama bucket yang baru saja Anda buat.
Di tab Objek untuk bucket, lakukan salah satu tindakan berikut:
Tarik file dari desktop atau pengelola file ke panel utama di Konsol Google Cloud.
Klik tombol Upload File. Di dialog yang muncul, pilih file yang ingin Anda upload, lalu klik Buka.
Mengonfigurasi akses ke bucket Cloud Storage
Untuk memastikan bucket Cloud Storage Anda dapat diakses oleh cluster GKE, ikuti langkah-langkah di Mengonfigurasi akses ke bucket Cloud Storage.
Men-deploy Pod untuk mengakses bucket Cloud Storage Anda menggunakan FUSE
In the Google Cloud console, activate Cloud Shell.
Sesi Cloud Shell akan terbuka di dalam frame di konsol.
Untuk menetapkan project default, gunakan project ID project tempat Anda ingin men-deploy Pod:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan 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_NAME
dengan nama bucket Cloud Storage Anda. - Jika Anda menggunakan namespace atau akun layanan yang berbeda, ganti kolom
namespace
danserviceAccountName
yang sesuai.
Konten manifes ini memulai Pod bernama
gcsfuse-test
yang memasang bucket di jalur/data
-nya.- Ganti
Verifikasi bahwa Pod sedang berjalan:
kubectl get pod gcsfuse-test
Outputnya mirip dengan hal berikut ini:
NAME READY STATUS RESTARTS AGE gcsfuse-test 2/2 Running 0 12s
Driver CSI Cloud Storage FUSE melampirkan penampung 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 file-nya:
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