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 me-mount 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 GKE Autopilot. Jika Anda ingin menggunakan mode Standard, lihat Menyiapkan driver CSI Cloud Storage FUSE untuk GKE.

Sebelum memulai

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the GKE and Cloud Storage APIs.

    Enable the APIs

  4. Make sure that you have the following role or roles on the project: Kubernetes Engine Admin, Storage Admin, Service Account User

    Check for the roles

    1. In the Trusted Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

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

    1. In the Trusted Cloud console, go to the IAM page.

      Buka IAM
    2. Pilih project.
    3. Klik Berikan akses.
    4. Di kolom Akun utama baru, masukkan ID pengguna Anda. Biasanya, ini adalah ID untuk pengguna dalam workforce identity pool. Untuk mengetahui detailnya, lihat Merepresentasikan pengguna kumpulan tenaga kerja dalam kebijakan IAM, atau hubungi administrator Anda.

    5. Di daftar Pilih peran, pilih peran.
    6. Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
    7. Klik Simpan.
    8. Membuat cluster GKE Autopilot

      1. Di konsol Trusted Cloud , buka halaman Create an Autopilot cluster.

        Buka Membuat cluster Autopilot

      2. Di bagian Dasar-dasar cluster, lakukan hal berikut:

        1. Di kolom Name, masukkan nama untuk cluster.

        2. Pertahankan nilai default untuk setelan lainnya.

      3. Untuk membuat cluster, klik Buat.

      Membuat bucket Cloud Storage

      1. Di Trusted Cloud konsol, buka halaman Bucket Cloud Storage.

        Buka Buckets

      2. Klik Create.

      3. Di halaman Buat bucket, di bagian Mulai, lakukan hal berikut:

        1. Masukkan nama yang unik secara global untuk bucket Anda yang memenuhi persyaratan penamaan bucket.

        2. Pertahankan nilai default untuk setelan lainnya.

      4. Untuk membuat bucket, klik Buat.

      Mengupload objek ke bucket Cloud Storage Anda

      1. Di Trusted Cloud konsol, buka halaman Bucket Cloud Storage.

        Buka Buckets

      2. Pada daftar bucket, klik nama bucket yang baru saja Anda buat.

      3. Di tab Objek untuk bucket, lakukan salah satu hal berikut:

        • Tarik file dari desktop atau pengelola file Anda ke panel utama di konsol Trusted Cloud .

        • Klik tombol Upload File. Dalam 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.

      Deploy Pod untuk mengakses bucket Cloud Storage Anda menggunakan FUSE

      1. In the Trusted Cloud console, activate Cloud Shell.

        Activate Cloud Shell

        Sesi Cloud Shell akan terbuka di dalam frame di konsol.

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

      3. 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 dan serviceAccountName dengan tepat.

        Konten manifes ini memulai Pod bernama gcsfuse-test yang memasang bucket di jalur /data-nya.

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

      5. Setelah Pod berjalan, Anda dapat menjelajahi sistem filenya:

        kubectl exec -it gcsfuse-test -- find /data
        
      6. Pembersihan

        Agar tidak menimbulkan biaya pada akun Trusted Cloud by S3NS Anda untuk resource yang Anda gunakan dalam tutorial ini, hapus Pod:

        kubectl delete pod gcsfuse-test
        

        Langkah berikutnya