Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Ajustando o etcd para Grandes Instalações

Quando o Rancher é usado para gerenciar uma grande infraestrutura, é recomendado aumentar o espaço de chave padrão do etcd de 2 GB. A configuração máxima é de 8 GB e o host deve ter RAM suficiente para manter todo o conjunto de dados na memória. Ao aumentar esse valor, você também deve aumentar o tamanho do host. O tamanho do espaço de chave também pode ser ajustado em instalações menores se você antecipar uma alta taxa de mudança de pods durante o intervalo de coleta de lixo.

O conjunto de dados do etcd é automaticamente limpo em um intervalo de cinco minutos pelo Kubernetes. Existem situações, por exemplo, a oscilação de implantação, onde eventos suficientes podem ser escritos no etcd e excluídos antes que a coleta de lixo ocorra e limpe as coisas, fazendo com que o espaço de chave se encha. Se você ver mvcc: database space exceeded erros, nos logs do etcd ou nos logs do servidor API do Kubernetes, deve considerar aumentar o tamanho do espaço de chave. Isso pode ser realizado configurando a opção quota-backend-bytes nos servidores etcd.

Exemplo: Este trecho do arquivo config.yaml do RKE2/K3s aumenta o tamanho do espaço de chave para 5 GB.

RKE2/K3s config.yaml
etcd-arg:
  - "quota-backend-bytes=5368709120"

Dimensionando o Desempenho do Disco do etcd

Você pode seguir as recomendações de documentação do etcd sobre como ajustar a prioridade do disco no host.

Além disso, para reduzir a contenção de IO nos discos do etcd, você pode usar um dispositivo dedicado para o diretório de dados e wal. Com base nas melhores práticas do etcd, configurações de RAID espelhadas são desnecessárias porque o etcd replica dados entre os nós no cluster. Você pode usar configurações de RAID em striping para aumentar os IOPS disponíveis.

Para implementar essa solução em um cluster RKE2/K3s, os diretórios /var/lib/etcd/data e /var/lib/etcd/wal precisarão ter discos montados e formatados no host subjacente. Na diretiva extra_args do serviço etcd, você deve incluir o diretório wal_dir. Sem especificar o wal_dir, o processo do etcd tentará manipular a montagem subjacente wal com permissões insuficientes.

RKE2/K3s config.yaml
etcd-arg:
  - "data-dir=/var/lib/etcd/data"
  - "wal-dir=/var/lib/etcd/wal"