Pesquisa de site

Como instalar o etcd no Ubuntu


Etcd é um armazenamento de valores-chave distribuído e seguro, gratuito e de código aberto, usado para armazenar as informações mais críticas de um determinado sistema distribuído. O Etcd é escrito em Go, tornando-o extremamente rápido em sistemas distribuídos, sem incorrer em sobrecarga de desempenho de máquinas em cluster. Neste guia, você descobre os fundamentos da instalação e configuração de um cluster etcd em sistemas Ubuntu.

Neste tutorial você aprenderá:

  • Qual é a diferença entre etcd e Redis

  • Como instalar o etcd usando binários oficiais

  • Como instalar o ectd a partir de um código fonte

  • Como instalar o etcd a partir de um repositório padrão do Ubuntu

  • Como gerenciar o serviço etcd

Redis vs Etcd

Etcd e Redis são sistemas distribuídos que armazenam e gerenciam dados em um ambiente distribuído, mas com algumas diferenças importantes que tornam cada um adequado para diferentes casos de uso.

VOCÊ SABIA?
O armazenamento distribuído de valores-chave é um tipo de sistema de armazenamento de dados que usa uma arquitetura distribuída para armazenar dados em vários servidores. Este tipo de sistema pode fornecer um alto nível de escalabilidade e confiabilidade, mantendo baixa latência.

etc.

Uma das principais características do etcd é seu forte modelo de consistência, que garante que todos os nós do cluster vejam os mesmos dados simultaneamente. Como resultado, é adequado para aplicações que exigem forte consistência, como aquelas que precisam coordenar as ações de vários nós.

O Etcd também é altamente disponível, suportando eleição de líder e failover automático, o que significa que pode continuar operando mesmo se alguns nós do cluster falharem. Outra característica importante do etcd é o suporte para transações distribuídas. Este recurso permite que vários nós façam alterações nos dados armazenados de forma coordenada, garantindo que os dados permaneçam consistentes.

Redis

Por outro lado, o Redis tem alto desempenho. Como resultado, é frequentemente usado para armazenar dados que precisam ser acessados rapidamente, como análises em tempo real ou processamento de mensagens em alta velocidade.

Ao contrário do etcd, o Redis não oferece fortes garantias de consistência. Em vez disso, ele usa um modelo de “última gravação ganha”, o que significa que a gravação mais recente no armazenamento de dados substituirá quaisquer gravações anteriores. Isso o torna mais adequado para aplicações que toleram algum nível de inconsistência, como sistemas de cache ou análises em tempo real.

Instalando etcd no Ubuntu

Como descobriremos neste tutorial, existem vários métodos de instalação do etcd em um sistema Ubuntu.

Instalando o etcd no Ubuntu usando o gerenciador de pacotes

Também podemos instalar o banco de dados etcd no Ubuntu usando o gerenciador de pacotes APT. Podemos começar atualizando os pacotes do sistema com o comando:

$ sudo apt-get update

Em seguida, instale o banco de dados etcd como:

$ sudo apt-get install etcd

Instalação binária pré-construída

O método mais comum é usar pacotes binários pré-construídos.

  1. Podemos começar atualizando os repositórios de pacotes e instalando as ferramentas necessárias.
    Abra o comando e execute o comando:

    $ sudo apt-get update
    $ sudo apt-get install wget curl -y
    

  2. Navegue até a página de lançamento de binários do etcd no GitHub e selecione a versão mais recente. Certifique-se de escolher a versão 3.5 e superior.

    Baixe o binário via cURL ou wget com o comando:

    $ wget https://github.com/etcd-io/etcd/releases/download/v3.5.6/etcd-v3.5.6-linux-amd64.tar.gz
    

    Depois de baixado, extraia o arquivo baixado com o comando:

    $ tar xvf etcd-v3.5.6-linux-amd64.tar.gz
    

  3. Em seguida, renomeie o diretório extraído:

    $ mv etcd-v3.5.6-linux-amd64 etcd
    

    Navegue até o diretório:

    $ cd etcd
    

    Mova todos os arquivos binários para a pasta /usr/local/bin como:

    $ sudo mv etcd etcdctl etcdutl /usr/local/bin/
    
  4. Verifique se o binário instalado está funcionando no seu sistema verificando a versão instalada:

    $ etcd --version
    etcd Version: 3.5.6
    Git SHA: cecbe35ce
    Go Version: go1.16.15
    Go OS/Arch: linux/amd64
    

    O comando acima deve retornar os detalhes sobre a versão do etcd instalada. Você também pode verificar as versões instaladas dos utilitários etcdctl e etcdutl conforme mostrado:

    $ etcdctl version
    Resulting output:
    etcdctl version: 3.5.6
    API version: 3.5
    

    Para verificar a versão instalada do etcdutl, execute:

    $ etcdutl version
    etcdutl version: 3.5.6
    API version: 3.5
    

Instalando etcd no Ubuntu a partir do código-fonte

Em alguns casos, você pode querer construir um binário etcd personalizado a partir do código-fonte.

  1. Comece instalando o compilador Go e git em seu sistema com o comando:

    $ sudo apt-get install golang git -y
    

    Em seguida, clone o repositório etcd com o comando:

    $ git clone https://github.com/etcd-io/etcd.git
    

  2. Vá para o diretório etcd:

    $ cd etcd
  3. Em seguida, execute o script de construção com o comando:

    $ ./scripts/build.sh

  4. Assim que o processo de construção for concluído, você poderá encontrar os binários no diretório bin na pasta principal do etcd.

    Adicione o caminho do binário etcd ao caminho do sistema como:

    $ export PATH="$PATH:`pwd`/bin"
  5. Você pode verificar se tem acesso ao comando etcd verificando a versão:

    $ etcd --version

Gerenciando o serviço ETCD

Dependendo do método de instalação, você precisará iniciar, parar ou reiniciar o serviço etcd em seu sistema. Se você tiver o banco de dados etcd instalado por meio do gerenciador de pacotes, poderá executar o comando fornecido abaixo. Para iniciar o serviço etcd:

$ sudo service etcd start

Para interromper o serviço etcd:

$ sudo service etcd stop

Para reiniciar o serviço etcd:

$ sudo service etcd restart

Você também pode verificar o status do serviço com o comando:

$ sudo service etcd status

Configuração manual do serviço Etcd

Se você instalou o banco de dados etcd manualmente ou por compilação, precisará configurar o serviço etcd manualmente. Esta seção orientará você na configuração do serviço etcd em sua máquina. Comece criando um diretório de configuração e dados para o serviço etcd.

$ sudo mkdir -p /var/lib/etcd/default
$ sudo mkdir /etc/etcd/

Altere a propriedade do diretório /var/lib/etcd para seu usuário alvo. No comando abaixo, defina a propriedade do diretório para o usuário ubuntu:

$ sudo chown -R ubuntu:ubuntu /var/lib/etcd

Em seguida, crie um arquivo de unidade etcd para permitir gerenciar o daemon etcd usando o comando service:

$ sudo touch /etc/systemd/system/etcd.service

Edite o arquivo e adicione a seguinte configuração de serviço.

$ sudo vim /etc/system/system/etcd.service

Adicione os seguintes dados:

[Unit]
Description=etcd - highly-available key value store
Documentation=https://etcd.io/docs
Documentation=man:etcd
After=network.target
Wants=network-online.target

[Service]
Environment=DAEMON_ARGS=
Environment=ETCD_NAME=%H
Environment=ETCD_DATA_DIR=/var/lib/etcd/default
EnvironmentFile=-/etc/default/%p
Type=notify
User=ubuntu
PermissionsStartOnly=true
#ExecStart=/bin/sh -c "GOMAXPROCS=$(nproc) /usr/bin/etcd $DAEMON_ARGS"
ExecStart=/usr/bin/etcd $DAEMON_ARGS
Restart=on-abnormal
#RestartSec=10s
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
Alias=etcd2.service

Substitua o usuário pelo nome de usuário de destino com o qual deseja executar o serviço etcd. Você também pode alterar o local do diretório bin se especificar um diretório personalizado durante a instalação. Em seguida, recarregue o daemon systemd

$ sudo systemctl daemon-reload

Habilite o serviço para iniciar na inicialização:

$ sudo systemctl enable etcd.service

Em seguida, inicie o serviço etcd com o comando systemd:

$ sudo systemctl start etcd.service

Por fim, verifique o status do serviço:

$ sudo systemctl status etcd.service

O comando acima exibirá o status do serviço.

Conclusão

Este artigo fornece um guia detalhado sobre como instalar e configurar um serviço etcd em sistemas Ubuntu. Discutimos três métodos de instalação diferentes: pacotes binários pré-construídos, compilação a partir do código-fonte e uso do gerenciador de pacotes. Também abordamos como gerenciar o serviço etcd, seja instalado por meio do gerenciador de pacotes ou manualmente. Seguindo as etapas descritas neste guia, você poderá instalar e configurar com êxito um cluster etcd em seu sistema Ubuntu.

Artigos relacionados: