Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Cloud Container Engine/ Guia de usuário/ Complementos/ Armazenamento do contêiner do CCE (Everest)
Atualizado em 2024-11-28 GMT+08:00

Armazenamento do contêiner do CCE (Everest)

Introdução

O Everest é um sistema de armazenamento de contêineres nativo da nuvem, que permite que clusters do Kubernetes v1.15.6 ou posterior acessem serviços de armazenamento em nuvem por meio do CSI.

Everest é um complemento de recursos do sistema. Ele é instalado por padrão quando um cluster do Kubernetes v1.15 ou posterior é criado.

Restrições

  • Se o cluster for atualizado da v1.13 para a v1.15, storage-driver será substituído pelo Everest (v1.1.6 ou posterior) para armazenamento em contêiner. A aquisição não afeta as funções de armazenamento originais.
  • Na versão 1.2.0 do complemento Everest, a autenticação por chave é otimizada quando o OBS é usado. Depois que o complemento Everest for atualizado de uma versão anterior à 1.2.0, reinicie todas as cargas de trabalho que usam o OBS no cluster. Caso contrário, as cargas de trabalho talvez não consigam usar o OBS.
  • Por predefinição, este extra é instalado em clusters de v1.15 e posteriores. Para clusters v1.13 e anteriores, o complemento storage-driver é instalado por padrão.
  • Os nós que executam Huawei Cloud EulerOS 1.1 suportam os complementos Everest de v2.x.x (v2.1.9 ou posterior) e v1.2.x (v1.2.70 ou posterior), mas não suportam os complementos de v1.3.x.

Instalar o complemento

Este complemento foi instalado por padrão. Se for desinstalado devido a alguns motivos, você pode reinstalá-lo executando as seguintes etapas:

  1. Efetue logon no console do CCE e clique no nome do cluster para acessar o console do cluster. Clique em Add-ons no painel de navegação, localize CCE Container Storage (Everest) à direita e clique em Install.
  2. Na página Install Add-on, configure as especificações.

    Tabela 1 Parâmetros do Everest

    Parâmetro

    Descrição

    Instances

    Número de instâncias para o complemento.

    A alta disponibilidade não é possível com uma única instância do complemento. Se ocorrer um erro no nó em que a instância do complemento é executada, o complemento falhará.

    Containers

    O complemento Everest contém os componentes Everest-csi-controller e everest-csi-driver. Para mais detalhes, consulte Componentes.

    As especificações dos componentes do complemento podem ser personalizadas com base nas suas necessidades. Retenha os valores padrão solicitados de CPU e memória dos componentes do complemento. Os valores limite podem ser ajustados com base no número de nós de cluster e PVCs. Para obter detalhes sobre as sugestões de configuração, consulte Tabela 2.

    Em cenários não típicos, as fórmulas para estimar os valores de limite são as seguintes:

    • everest-csi-controller
      • Limite da CPU: 250m para 200 ou menos nós, 350m para 1000 nós e 500m para 2000 nós
      • Limite de memória = (200 Mi + número de nós x 1 Mi + número de PVCs x 0,2 Mi) x 1,2
    • everest-csi-driver
      • Limite da CPU: 300m para 200 ou menos nós, 500m para 1000 nós e 800m para 2000 nós
      • Limite de memória: 300 Mi para 200 ou menos nós, 600 Mi para 1000 nós e 900 Mi para 2000 nós
    Tabela 2 Limites de configuração recomendados em cenários típicos

    Cenário de configuração

    everest-csi-controller

    everest-csi-driver

    Nós

    PVs/PVCs

    Instâncias do complemento

    vCPUs (limite = solicitada)

    Memória (limite = solicitada)

    vCPUs (limite = solicitada)

    Memória (limite = solicitada)

    50

    1000

    2

    250m

    600 MiB

    300m

    300 MiB

    200

    1000

    2

    250m

    1 GiB

    300m

    300 MiB

    1000

    1000

    2

    350m

    2 GiB

    500m

    600 MiB

    1000

    5000

    2

    450m

    3 GiB

    500m

    600 MiB

    2000

    5000

    2

    550m

    4 GiB

    800m

    900 MiB

    2000

    10000

    2

    650m

    5 GiB

    800m

    900 MiB

  3. Configure os parâmetros do complemento.

    Tabela 3 Parâmetros do Everest

    Parâmetro

    Descrição

    csi_attacher_worker_threads

    Número de nós de trabalho que podem ser processados simultaneamente pelo Everest para anexar volumes do EVS. O valor padrão é 60.

    csi_attacher_detach_worker_threads

    Número de nós de trabalho que podem ser processados simultaneamente pelo Everest para desanexar volumes do EVS. O valor padrão é 60.

    volume_attaching_flow_ctrl

    Número máximo de volumes do EVS que podem ser anexados pelo complemento Everest em 1 minuto. O valor padrão é 0, indicando que o desempenho de anexar volumes do EVS é determinado pelos recursos de armazenamento subjacentes.

    cluster_id

    ID do cluster

    default_vpc_id

    ID da VPC à qual o cluster pertence

    disable_auto_mount_secret

    Se a AK/SK padrão pode ser usada quando um bucket de objetos ou um sistema de arquivos paralelo é montado. O valor padrão é false.

    enable_node_attacher

    Se deve habilitar o anexador no agente para processar o VolumeAttachment.

    flow_control

    Este campo é deixado em branco por padrão. Você não precisa configurar esse parâmetro.

    over_subscription

    Taxa de comprometimento excessivo do pool de armazenamento local (local_storage). O valor padrão é 80. Se o tamanho do pool de armazenamento local for de 100 GB, ele poderá estar comprometido em excesso para 180 GB.

    project_id

    ID do projeto ao qual um cluster pertence

    No Everest 1.2.26 ou posterior, o desempenho de anexar um grande número de volumes do EVS foi otimizado. Os seguintes parâmetros podem ser configurados:
    • csi_attacher_worker_threads
    • csi_attacher_detach_worker_threads
    • volume_attaching_flow_ctrl

    Os parâmetros anteriores são associados uns aos outros e são restringidos pelos recursos de armazenamento subjacentes na região onde o cluster está localizado. Para anexar um grande número de volumes (mais de 500 volumes do EVS por minuto), entre em contato com o atendimento ao cliente e configure os parâmetros sob sua orientação para evitar que o complemento Everest seja executado anormalmente devido a configurações de parâmetros incorretas.

  4. Configure as políticas de agendamento para o complemento.

    • As políticas de agendamento não entram em vigor em instâncias complementares do tipo DaemonSet.
    • Ao configurar a implementação de várias AZs ou a afinidade de nó, verifique se há nós que atendem à política de agendamento e se os recursos são suficientes no cluster. Caso contrário, o complemento não pode ser executado.
    Tabela 4 Configurações para programação de complementos

    Parâmetro

    Descrição

    Multi-AZ Deployment

    • Preferred: os pods de Implementação do complemento serão agendados preferencialmente para nós em diferentes AZs. Se todos os nós no cluster forem implementados na mesma AZ, os pods serão agendados para essa AZ.
    • Forcible: os pods de Implementação do complemento serão forçosamente agendados para nós em diferentes AZs. Se houver menos AZs do que pods, os pods extras não funcionarão.

    Node Affinity

    • Incompatibility: a afinidade de nó está desabilitada para o complemento.
    • Node Affinity: especifique os nós em que o complemento é implementado. Se você não especificar os nós, o complemento será agendado aleatoriamente com base na política de agendamento de cluster padrão.
    • Specified Node Pool Scheduling: especifique o pool de nós em que o complemento é implementado. Se você não especificar o pool de nós, o complemento será agendado aleatoriamente com base na política de agendamento de cluster padrão.
    • Custom Policies: insira os rótulos dos nós em que o complemento será implementado para políticas de agendamento mais flexíveis. Se você não especificar rótulos de nó, o complemento será agendado aleatoriamente com base na política de agendamento de cluster padrão.

      Se várias políticas de afinidade personalizadas estiverem configuradas, certifique-se de que existem nós que atendam a todas as políticas de afinidade no cluster. Caso contrário, o complemento não pode ser executado.

    Taints and Tolerations

    O uso de manchas e tolerâncias permite (não forçosamente) que Implementação do complemento seja agendada para um nó com as manchas correspondentes e controla as políticas de despejo de Implementação depois que o nó onde a Implementação está localizada é contaminado.

    O complemento adiciona a política de tolerância padrão para as manchas node.kubernetes.io/not-ready e node.kubernetes.io/unreachable, respectivamente. A janela de tempo de tolerância é 60s.

    Para mais detalhes, consulte Manchas e tolerâncias.

  5. Clique em Install.

Componentes

Tabela 5 Componentes do Everest

Componente

Descrição

Tipo de recurso

everest-csi-controller

Usado para criar, excluir, capturar instantâneos, expandir, anexar e desanexar volumes de armazenamento. Se a versão do cluster for 1.19 ou posterior e a versão do complemento for 1.2.x, o pod do componente everest-csi-controller também terá um contêiner everest-localvolume-manager por padrão. Esse contêiner gerencia a criação de pools de armazenamento de LVM e PVs locais no nó.

Implementação

everest-csi-driver

Usado para montar e desmontar PVs e redimensionar sistemas de arquivos. Se a versão do complemento for 1.2.x e a região onde o cluster está localizado suportar node-attacher, o pod do componente everest-csi-driver também contém um contêiner everest-node-attacher. Este contêiner é responsável pela anexação do EVS distribuído. Este item de configuração está disponível em algumas regiões.

DaemonSet