Nota : O branch main
pode estar instável ou até quebrado durante o desenvolvimento. Para versões estáveis, consulte lançamentos.
etcd é um armazenamento distribuído confiável de valores-chave para os dados mais críticos de um sistema distribuído, com foco em ser:
Simples : API bem definida voltada para o usuário (gRPC)
Seguro : TLS automático com autenticação de certificado de cliente opcional
Rápido : 10.000 gravações/seg.
Confiável : distribuído corretamente usando Raft
etcd é escrito em Go e usa o algoritmo de consenso Raft para gerenciar um log replicado altamente disponível.
O etcd é usado em produção por muitas empresas, e a equipe de desenvolvimento o apoia em cenários críticos de implantação, onde o etcd é frequentemente associado a aplicativos como Kubernetes, serralheiro, vulcand, Doorman e muitos outros. A confiabilidade é ainda garantida por rigorosos testes de robustez .
Consulte etcdctl para um cliente de linha de comando simples.
Imagem original creditada a xkcd.com/2347, alterações por Josh Berkus.
Os mantenedores se esforçam para moldar uma cultura de projeto de código aberto inclusiva, onde os usuários sejam ouvidos e os colaboradores se sintam respeitados e capacitados. Os mantenedores visam construir relacionamentos produtivos entre diferentes empresas e disciplinas. Leia mais sobre o papel e as responsabilidades dos mantenedores.
A maneira mais fácil de obter o etcd é usar um dos binários de lançamento pré-construídos que estão disponíveis para OSX, Linux, Windows e Docker na página de lançamento.
Para obter mais guias de instalação, consulte play.etcd.io e operação do etcd.
Primeiro inicie um cluster de membro único do etcd.
Se o etcd estiver instalado usando os binários de versão pré-compilados, execute-o no local de instalação conforme abaixo:
/tmp/etcd-download-test/etcd
O comando etcd pode ser simplesmente executado como tal se for movido para o caminho do sistema conforme abaixo:
mv /tmp/etcd-download-test/etcd /usr/local/bin/ etcd
Isso abrirá a escuta do etcd na porta 2379 para comunicação do cliente e na porta 2380 para comunicação entre servidores.
A seguir, vamos definir uma única chave e recuperá-la:
etcdctl coloque minha chave "isso é incrível" etcdctl obtenha minha chave
O etcd agora está executando e atendendo solicitações de clientes. Para mais, confira:
Playground interativo etcd
Demonstração rápida animada
As portas oficiais do etcd são 2379 para solicitações de clientes e 2380 para comunicação entre pares.
Primeiro instale o goreman, que gerencia aplicativos baseados em Procfile.
Nosso script Procfile configurará um cluster de exemplo local. Comece com:
início do goreman
Isso trará 3 membros do etcd infra1
, infra2
e infra3
e opcionalmente etcd grpc-proxy
, que é executado localmente e compõe um cluster.
Cada membro de cluster e proxy aceita leituras e gravações de valores-chave.
Siga os comentários no script Procfile para adicionar um nó de aluno ao cluster.
vá em frente.etcd.io/etcd/client/v3
Agora é hora de nos aprofundarmos na API completa do etcd e em outros guias.
Leia a documentação completa.
Revise as perguntas frequentes do etcd.
Explore a API gRPC completa.
Configure um cluster de várias máquinas.
Aprenda o formato de configuração, variáveis de ambiente e sinalizadores.
Encontre ligações e ferramentas de linguagem.
Use TLS para proteger um cluster etcd.
Sintonize etcd.
E-mail: etcd-dev
Slack: canal #sig-etcd no Kubernetes (receba um convite)
Reuniões comunitárias
Os contribuidores e mantenedores do etcd se reúnem todas as semanas às 11:00
(Pacífico dos EUA) às quintas-feiras e as reuniões se alternam entre reuniões da comunidade e reuniões de triagem de problemas. As agendas das reuniões são registradas em um documento Google compartilhado e todos podem sugerir tópicos adicionais ou outras agendas.
As reuniões de triagem de problemas têm como objetivo resolver nosso acúmulo de PRs e problemas. As reuniões de triagem são abertas a qualquer colaborador; você não precisa ser um revisor ou aprovador para ajudar! Eles também podem ser uma boa maneira de começar a contribuir.
A função de líder da reunião é alternada para cada reunião entre os mantenedores do etcd ou líderes do sig-etcd e é registrada em uma planilha compartilhada do Google.
As gravações das reuniões são enviadas para o canal oficial do etcd no YouTube.
Obtenha convites de calendário ingressando no grupo de discussão etcd-dev.
Junte-se ao canal Zoom financiado pela CNCF: zoom.us/my/cncfetcdproject
Consulte CONTRIBUINDO para obter detalhes sobre como configurar seu ambiente de desenvolvimento, enviar patches e fluxo de trabalho de contribuição.
Consulte community-membership.md para obter informações sobre como se tornar um membro do projeto etcd. Agradecemos e aguardamos suas contribuições para o projeto!
Consulte também o roteiro para obter mais detalhes sobre as prioridades para os próximos lançamentos principais ou secundários.
Consulte relatar bugs para obter detalhes sobre como relatar quaisquer problemas. Antes de abrir um problema, verifique se ele não foi abordado em nossas perguntas frequentes.
Consulte o processo de divulgação e liberação de segurança para obter detalhes sobre como relatar uma vulnerabilidade de segurança e como a equipe do etcd a gerencia.
Consulte as diretrizes de triagem de problemas para obter detalhes sobre como os problemas são gerenciados.
Consulte gerenciamento de PR para obter diretrizes sobre como as solicitações pull são gerenciadas.
Esses mantenedores eméritos dedicaram uma parte de sua carreira ao etcd e revisaram o código, fizeram a triagem de bugs e impulsionaram o projeto por um período substancial de tempo. A sua contribuição é muito apreciada.
Fanmin Shi
Antonio Romano
Brandon Philips
Joe Betz
Gyuho Lee
Jingyi Hu
Xiang Li
Ben Darnell
Sam Batschelet
Piotr Tabor
Hitoshi Mitake
etcd está sob a licença Apache 2.0. Consulte o arquivo LICENSE para obter detalhes.