Como posso armazenar arquivos no Kubernetes? CubeFS é uma excelente opção

Como posso armazenar arquivos no Kubernetes? CubeFS é uma excelente opção

Como posso armazenar arquivos no Kubernetes? CubeFS é uma excelente opção

https://cubefs.io/docs/master/deploy/k8s.html#deployment-architecture

O que é CubeFS?

CubeFS é um produto de armazenamento nativo em nuvem, sendo um dos projetos de grau "Incubadora" da CNCF ( Cloud Native Computing Foundation ). Ele suporta vários protocolos de acesso a dados, como S3, POSIX e HDFS, e suporta dois mecanismos de armazenamento : multi-réplica e código de eliminação . Ele fornece aos usuários múltiplas funções, como multilocação, implantação multi-AZ e replicação entre regiões, e é amplamente utilizado em cenários como big data, IA, plataformas de contêiner, bancos de dados, armazenamento de middleware e separação de computação, compartilhamento de dados e Proteção de dados.

Por que CubeFS?

Multiprotocolo

Suporta vários protocolos de acesso como S3, POSIX e HDFS, e o acesso entre protocolos é interoperável.

  • Compatível com POSIX : Compatível com a interface POSIX, tornando o desenvolvimento de aplicativos extremamente simples para aplicativos de camada superior, tão conveniente quanto usar um sistema de arquivos local. Além disso, o CubeFS relaxou os requisitos de consistência da semântica POSIX durante a implementação para equilibrar o desempenho das operações de arquivos e metadados.
  • Compatível com S3 – Com suporte ao protocolo de armazenamento de objetos AWS S3, os usuários podem usar o SDK nativo do Amazon S3 para gerenciar recursos no CubeFS.
  • Compatível com HDFS : Compatível com o protocolo de interface Hadoop FileSystem, os usuários podem usar CubeFS para substituir o sistema de arquivos Hadoop (HDFS) sem afetar os negócios da camada superior.

Multimotor

Ao oferecer suporte a dois mecanismos: multi-réplica e codificação de eliminação, os usuários podem escolher com flexibilidade de acordo com seus cenários de negócios.

  • Mecanismo de armazenamento multi-réplica : os dados entre as cópias estão em um relacionamento de espelho e a consistência dos dados entre as cópias é garantida por meio de um protocolo de replicação altamente consistente. Os usuários podem configurar com flexibilidade diferentes números de cópias de acordo com os cenários de sua aplicação.
  • Mecanismo de armazenamento de codificação de eliminação : O mecanismo de codificação de eliminação tem as características de alta confiabilidade, alta disponibilidade, baixo custo e suporta escala ultragrande (EB). De acordo com os diferentes modelos AZ, os modos de codificação de eliminação podem ser selecionados de forma flexível.

Multi usuário

Apoie o gerenciamento de vários locatários e forneça políticas detalhadas de isolamento de locatários.

Altamente escalável

Você pode criar facilmente serviços de armazenamento distribuído com escala de nível PB ou EB, e cada módulo pode ser escalado horizontalmente.

Alto rendimento

CubeFS suporta cache multinível para otimizar o acesso a arquivos pequenos e oferece suporte a vários protocolos de replicação de alto desempenho.

  • Gerenciamento de metadados - O cluster de metadados usa armazenamento de metadados na memória e duas árvores B (inodeBTree e dentryBTree) para gerenciar índices e melhorar o desempenho de acesso aos metadados.
  • Protocolo de replicação de consistência forte : CubeFS adota diferentes protocolos de replicação de acordo com o modo de gravação do arquivo para garantir a consistência dos dados entre as réplicas. Se o arquivo for gravado sequencialmente, o protocolo de replicação de backup primário será usado para otimizar o desempenho de E/S. Se o arquivo for gravado aleatoriamente para substituir o conteúdo do arquivo existente, um protocolo de replicação baseado em Multi-Raft será usado para garantir alta consistência de dados.
  • Cache multinível – O volume de codificação Erasure suporta capacidade de aceleração de cache multinível para fornecer maior desempenho de acesso a dados para dados importantes:
    • Cache Local: O componente BlockCache pode ser implantado na máquina cliente como um cache local usando o disco local. Ele pode ler diretamente o cache local sem passar pela rede, mas a capacidade é limitada pelo disco local.
    • Cache Global: Um cache global distribuído criado com o componente de replicação DataNode. Por exemplo, um DataNode com SSD implantado no mesmo data center do cliente pode ser usado como cache global. Comparado com o cache local, ele precisa passar pela rede, mas tem maior capacidade e pode ser dimensionado dinamicamente, e o número de réplicas pode ser ajustado.

Nativo da nuvem

Baseado no padrão CSI (Container Storage Interface ), o CubeFS é facilmente integrado e implantado no Kubernetes.

Casos de uso e cenários

Por ser uma plataforma de armazenamento distribuído nativa em nuvem, o CubeFS disponibiliza vários protocolos de acesso, para que você possa utilizá-lo em diversas situações, vamos listar:

Como posso armazenar arquivos no Kubernetes? CubeFS é uma excelente opção

Análise de big data

Compatível com o protocolo HDFS, o CubeFS fornece uma base de armazenamento unificada para o ecossistema Hadoop (como Spark e Hive), fornecendo espaço de armazenamento ilimitado e recursos de armazenamento de dados de alta largura de banda para mecanismos de computação.

Aprendizado profundo/aprendizado de máquina

Como um sistema de arquivos paralelo distribuído, o CubeFS suporta treinamento de IA, armazenamento e distribuição de modelos, aceleração de E/S e outros requisitos.

Armazenamento compartilhado entre contêineres

O cluster de contêiner pode armazenar os arquivos de configuração ou dados de carregamento de inicialização de imagens de contêiner no CubeFS e lê-los em tempo real ao carregar contêineres em lote. Vários PODs podem compartilhar dados persistentes por meio do CubeFS e um failover rápido pode ser executado em caso de falha do POD.

Bancos de dados e middleware

Fornece serviços de disco em nuvem de alta simultaneidade e baixa latência para aplicativos de banco de dados como MySQL, ElasticSearch e ClickHouse, alcançando separação completa entre armazenamento e computação.

Serviços online

Fornece serviços de armazenamento de objetos de alta confiabilidade e baixo custo para empresas on-line (como publicidade, fluxos de cliques e pesquisas) ou conteúdo gráfico, de texto, áudio e vídeo do usuário final.

Do NAS (Network Attached Storage) à nuvem
Ele substitui o armazenamento local tradicional e o NAS offline e facilita estratégias de adoção da nuvem.

Fonte:

https://cubefs.io/docs/master/overview/introduction.html#database-middleware

Keep reading on SREDevOps.org: