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.
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
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
-
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/
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.
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
Vá para o diretório
etcd
:$ cd etcd
Em seguida, execute o script de construção com o comando:
$ ./scripts/build.sh
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"
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.