All Products
Search
Document Center

Container Service for Kubernetes:Percepat akses OSS dari node edge dengan Fluid

Last Updated:Apr 03, 2026

Fluid adalah mesin orkestrasi dan akselerasi dataset terdistribusi yang bersifat open-source dan cloud-native Kubernetes. Fluid dirancang untuk aplikasi intensif data di lingkungan cloud-native, seperti aplikasi data besar dan AI. Dalam skenario edge, Fluid dapat secara signifikan mempercepat akses file dari node edge ke Object Storage Service (OSS). Topik ini menjelaskan cara menggunakan fitur akselerasi data Fluid dalam kluster ACK Edge.

Prasyarat

  • Anda memiliki kluster ACK Edge versi 1.18 atau lebih baru. Untuk informasi selengkapnya, lihat Create an ACK Edge cluster.

  • Anda telah membuat kelompok node edge dan menambahkan node edge ke dalamnya. Untuk informasi selengkapnya, lihat Create an edge node pool dan Add an edge node.

  • Anda telah menginstal suite AI cloud-native dan menerapkan komponen ack-fluid.

    Penting

    Jika Anda telah menginstal Fluid versi open source, uninstal terlebih dahulu sebelum menerapkan komponen ack-fluid.

    • Jika suite AI cloud-native belum diinstal: aktifkan Fluid data acceleration saat menginstal suite tersebut. Untuk informasi selengkapnya, lihat Deploy the AI suite console.

    • Jika suite AI cloud-native sudah diinstal: terapkan ack-fluid pada halaman Cloud-native AI Suite di ACK Console.

  • Anda telah terhubung ke kluster Kubernetes menggunakan kubectl. Untuk informasi selengkapnya, lihat Connect to an ACK cluster by using kubectl.

  • Anda telah mengaktifkan Object Storage Service (OSS). Untuk informasi selengkapnya, lihat Activate OSS.

Langkah 1: Siapkan data OSS

  1. Jalankan perintah berikut untuk mengunduh data uji ke instans ECS.

    wget https://archive.apache.org/dist/spark/spark-3.0.1/spark-3.0.1-bin-hadoop2.7.tgz
  2. Unggah data uji yang telah diunduh ke bucket OSS.

    Penting

    Langkah-langkah berikut menggunakan contoh instans ECS yang menjalankan Alibaba Cloud Linux 3.2104 LTS 64-bit untuk menunjukkan cara mengunggah data ke OSS. Untuk sistem operasi lainnya, lihat ossutil quick start dan ossutil command reference 1.0.

    1. Install ossutil.

    2. Buat bucket bernama examplebucket.

      • Jalankan perintah berikut untuk membuat examplebucket.

        ossutil mb oss://examplebucket
      • Output berikut menunjukkan bahwa examplebucket telah dibuat.

        0.668238(s) elapsed
    3. Unggah data uji yang telah diunduh ke bucket examplebucket.

      ossutil cp spark-3.0.1-bin-hadoop2.7.tgz oss://examplebucket

Langkah 2: Buat Dataset dan JindoRuntime

  1. Buat file resource.yaml dengan konten berikut. File ini memiliki dua tujuan:

    • Membuat Dataset, yang mendeskripsikan dataset remote dan menyediakan informasi tentang sistem file dasar (UFS).

    • Membuat JindoRuntime untuk meluncurkan kluster JindoFS guna caching data.

    apiVersion: data.fluid.io/v1alpha1
    kind: Dataset
    metadata:
      name: hadoop
    spec:
      nodeAffinity:
        required:
          nodeSelectorTerms:
            - matchExpressions:
              - key: alibabacloud.com/nodepool-id
                operator: In
                values:
                  - npxxxxxxxxxxxxxx
      mounts:
        - mountPoint: oss://<oss_bucket>/<bucket_dir>
          options:
            fs.oss.endpoint: <oss_endpoint>
          name: hadoop
          path: "/"
          encryptOptions:
            - name: fs.oss.accessKeyId
              valueFrom:
                secretKeyRef:
                  name: mysecret
                  key: fs.oss.accessKeyId
            - name: fs.oss.accessKeySecret
              valueFrom:
                secretKeyRef:
                  name: mysecret
                  key: fs.oss.accessKeySecret
    ---
    apiVersion: data.fluid.io/v1alpha1
    kind: JindoRuntime
    metadata:
      name: hadoop
    spec:
      nodeSelector:
        alibabacloud.com/nodepool-id: npxxxxxxxxxxxxxx
      replicas: 2
      tieredstore:
        levels:
          - mediumtype: MEM
            path: /dev/shm
            volumeType: emptyDir
            quota: 2Gi
            high: "0.99"
            low: "0.95"
    Catatan
    • Dalam kluster ACK Edge, Anda harus menggunakan nodeAffinity dan nodeSelector untuk menerapkan Dataset dan JindoRuntime ke kelompok node yang sama. Hal ini memastikan bahwa node dalam kelompok node tersebut dapat berkomunikasi.

    • Karena manajemen node edge dan akses OSS keduanya memerlukan komunikasi jaringan cloud-to-edge, kami menyarankan agar Anda memastikan lebar pita jaringan yang mencukupi untuk menjaga stabilitas saluran kontrol.

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Deskripsi

    mountPoint

    oss://<oss_bucket>/<bucket_dir> menentukan path UFS yang akan dipasang. Path ini harus mengarah ke direktori, bukan file tunggal. Jangan sertakan endpoint dalam path ini.

    fs.oss.endpoint

    replicas

    mediumtype

    path

    quota

    high

    low

Langkah 3: Uji akselerasi akses data

  1. Buat file bernama app.yaml dengan konten berikut.

    apiVersion: v1
    kind: Pod
    metadata:
      name: demo-app
    spec:
      nodeSelector:
        alibabacloud.com/nodepool-id: npxxxxxxxxxxxxx
      containers:
        - name: demo
          image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
          volumeMounts:
            - mountPath: /data
              name: hadoop
      volumes:
        - name: hadoop
          persistentVolumeClaim:
            claimName: hadoop
    Catatan

    Dalam kluster ACK Edge, Anda harus menggunakan nodeSelector untuk menerapkan pod uji ke kelompok node yang ditentukan dalam Langkah 2.

  2. Buka shell di dalam pod dan periksa ukuran file.

    kubectl exec -it demo-app -- bash
    du -sh /data/spark-3.0.1-bin-hadoop2.7.tgz

    Output yang diharapkan:

    210M    /data/spark-3.0.1-bin-hadoop2.7.tgz

(Opsional) Pembersihan

Saat akselerasi data tidak lagi diperlukan, hapus pod, Dataset, dan JindoRuntime.

Hapus pod:

kubectl delete pod demo-app

Hapus Dataset dan JindoRuntime:

kubectl delete dataset hadoop