Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Acelere o acesso ao OSS a partir de nós de borda com Fluid

Última atualização: Jun 27, 2026

O Fluid é um mecanismo de orquestração e aceleração de conjuntos de dados distribuídos, open source e nativo do Kubernetes. Projetado para aplicações que exigem uso intensivo de dados em ambientes cloud-native, como big data e IA, o Fluid acelera significativamente o acesso a arquivos entre nós de borda e o Object Storage Service (OSS) em cenários de borda. Este tópico descreve como usar o recurso de aceleração de dados do Fluid em um cluster ACK Edge.

Pré-requisitos

  • Você tem um cluster ACK Edge versão 1.18 ou posterior. Para mais informações, consulte Crie um cluster ACK Edge.

  • Você criou um pool de nós de borda e adicionou nós a ele. Para mais informações, consulte Crie um pool de nós de borda e Adicionar um nó de borda.

  • Você instale o pacote de IA cloud-native e implantou o componente ack-fluid.

    Importante

    Se você instale o Fluid open source, desinstale-o antes de implantar o componente ack-fluid.

    • Se o pacote de IA cloud-native não estiver instalado: ative a Aceleração de dados Fluid durante a instalação. Para mais informações, consulte Implantar o console do pacote de IA.

    • Se o pacote de IA cloud-native já estiver instalado: implante o ack-fluid na página Cloud-native AI Suite do Console do ACK.

  • Você se conectou ao cluster Kubernetes usando kubectl. Para mais informações, consulte Conectar-se a um cluster ACK usando kubectl.

  • Você ativou o Object Storage Service (OSS). Para mais informações, consulte Ativar o OSS.

Etapa 1: Preparar dados no OSS

  1. Execute o comando a seguir para baixe os dados de teste em uma instância ECS.

    wget https://archive.apache.org/dist/spark/spark-3.0.1/spark-3.0.1-bin-hadoop2.7.tgz
  2. Faça upload dos dados de teste baixados para um bucket do OSS.

    Importante

    As etapas a seguir usam uma instância ECS com Alibaba Cloud Linux 3.2104 LTS 64 bits como exemplo para demonstrar o upload de dados para o OSS. Para outros sistemas operacionais, consulte Início rápido do ossutil e Referência de comandos do ossutil 1.0.

    1. Instale o ossutil.

    2. Crie um bucket chamado examplebucket.

      • Execute o comando a seguir para crie o examplebucket.

        ossutil mb oss://examplebucket
      • A saída a seguir indica que o examplebucket foi criado.

        0.668238(s) elapsed
    3. Envie os dados de teste baixados para o bucket examplebucket.

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

Etapa 2: Crie um Dataset e um JindoRuntime

  1. Crie um arquivo resource.yaml com o conteúdo a seguir. Esse arquivo tem duas finalidades:

    • Definir um Dataset, que descreve o conjunto de dados remoto e fornece informações sobre o sistema de arquivos subjacente (UFS).

    • Configurar um JindoRuntime para iniciar um cluster JindoFS destinado ao cache de dados.

    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"
    Nota
    • Em um cluster ACK Edge, use nodeAffinity e nodeSelector para implantar o Dataset e o JindoRuntime no mesmo pool de nós. Isso garante a comunicação entre os nós desse pool.

    • Como o gerenciamento de nós de borda e o acesso ao OSS dependem de comunicação de rede entre nuvem e borda, garanta largura de banda suficiente para manter a estabilidade do canal de controle.

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Descrição

    mountPoint

    O valor oss://<oss_bucket>/<bucket_dir> especifica o caminho do UFS a ser montado. Esse caminho deve apontar para um diretório, não para um único arquivo. Não inclua o endpoint neste caminho.

    fs.oss.endpoint

    replicas

    mediumtype

    path

    quota

    high

    low

Etapa 3: Testar a aceleração de acesso aos dados

  1. Crie um arquivo chamado app.yaml com o conteúdo a seguir.

    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
    Nota

    Em um cluster ACK Edge, use nodeSelector para implantar o pod de teste no pool de nós especificado na Etapa 2.

  2. Abra um shell no pod e verifique o tamanho do arquivo.

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

    Saída esperada:

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

(Opcional) Limpeza

Quando a aceleração de dados não for mais necessária, exclua o pod, o Dataset e o JindoRuntime.

Exclua o pod:

kubectl delete pod demo-app

Exclua o Dataset e o JindoRuntime:

kubectl delete dataset hadoop