참고 : main
브랜치는 개발 중에 불안정하거나 심지어 손상된 상태일 수도 있습니다. 안정적인 버전은 릴리스를 참조하세요.
etcd는 분산 시스템의 가장 중요한 데이터를 위한 신뢰할 수 있는 분산 키-값 저장소이며 다음 사항에 중점을 둡니다.
단순함 : 잘 정의된 사용자 지향 API(gRPC)
보안 : 선택적 클라이언트 인증서 인증을 갖춘 자동 TLS
빠름 : 초당 10,000회 쓰기 벤치마크
신뢰성 : Raft를 사용하여 적절하게 배포됨
etcd는 Go로 작성되었으며 Raft 합의 알고리즘을 사용하여 고가용성 복제 로그를 관리합니다.
etcd는 많은 회사의 프로덕션에서 사용되며 개발 팀은 etcd가 Kubernetes, locksmith, vulcand, Doorman 등과 같은 애플리케이션과 자주 팀을 이루는 중요한 배포 시나리오에서 이를 지원합니다. 엄격한 견고성 테스트를 통해 신뢰성이 더욱 보장됩니다.
간단한 명령줄 클라이언트는 etcdctl을 참조하세요.
원본 이미지는 xkcd.com/2347에 있으며 Josh Berkus가 변경했습니다.
유지관리자는 사용자의 의견을 듣고 기여자가 존중받고 권한을 부여받는 포괄적인 오픈 소스 프로젝트 문화를 형성하기 위해 노력합니다. 유지관리자는 다양한 회사와 분야에 걸쳐 생산적인 관계를 구축하는 것을 목표로 합니다. 유지관리자의 역할과 책임에 대해 자세히 알아보세요.
etcd를 얻는 가장 쉬운 방법은 릴리스 페이지에서 OSX, Linux, Windows 및 Docker에 사용할 수 있는 사전 빌드된 릴리스 바이너리 중 하나를 사용하는 것입니다.
더 많은 설치 가이드는 play.etcd.io 및 etcd 운영을 확인해주세요.
먼저 etcd의 단일 멤버 클러스터를 시작합니다.
사전 빌드된 릴리스 바이너리를 사용하여 etcd를 설치한 경우 아래와 같이 설치 위치에서 실행합니다.
/tmp/etcd-다운로드-테스트/etcd
etcd 명령은 아래와 같이 시스템 경로로 이동하면 간단하게 실행될 수 있습니다.
mv /tmp/etcd-download-test/etcd /usr/local/bin/ etcd
이렇게 하면 클라이언트 통신용 포트 2379와 서버 간 통신용 포트 2380에서 etcd 수신 대기가 시작됩니다.
다음으로 단일 키를 설정하고 검색해 보겠습니다.
etcdctl put mykey "이거 정말 멋지네요"etcdctl get mykey
etcd가 이제 실행 중이며 클라이언트 요청을 처리하고 있습니다. 자세한 내용은 다음을 확인하세요.
대화형 etcd 놀이터
애니메이션 빠른 데모
공식 etcd 포트는 클라이언트 요청의 경우 2379이고 피어 통신의 경우 2380입니다.
먼저 Procfile 기반 애플리케이션을 관리하는 goreman을 설치합니다.
Procfile 스크립트는 로컬 예제 클러스터를 설정합니다. 다음으로 시작하세요:
고어맨 시작
이렇게 하면 3개의 etcd 멤버 infra1
, infra2
및 infra3
이 표시되고 선택적으로 etcd grpc-proxy
로컬로 실행되고 클러스터를 구성합니다.
모든 클러스터 멤버와 프록시는 키 값 읽기 및 키 값 쓰기를 허용합니다.
Procfile 스크립트의 설명에 따라 클러스터에 학습자 노드를 추가합니다.
가서 go.etcd.io/etcd/client/v3을 받으세요.
이제 전체 etcd API와 기타 가이드를 자세히 살펴보겠습니다.
전체 문서를 읽어보세요.
etcd 자주 묻는 질문(FAQ)을 검토하세요.
전체 gRPC API를 살펴보세요.
다중 머신 클러스터를 설정합니다.
구성 형식, 환경 변수 및 플래그를 알아보세요.
언어 바인딩 및 도구를 찾아보세요.
TLS를 사용하여 etcd 클러스터를 보호합니다.
등을 조정하십시오.
이메일: etcd-dev
Slack: Kubernetes의 #sig-etcd 채널(초대 받기)
커뮤니티 회의
etcd 기여자와 유지관리자는 매주 목요일 오전 11:00
(미국 태평양)에 회의를 가지며 커뮤니티 회의와 문제 분류 회의를 번갈아 가며 회의합니다. 회의 안건은 공유된 Google 문서에 기록되며 누구나 추가 주제나 다른 안건을 제안할 수 있습니다.
이슈 분류 회의는 PR 및 이슈의 백로그를 처리하는 것을 목표로 합니다. 분류 회의는 모든 기여자에게 열려 있습니다. 도움을 주기 위해 검토자나 승인자가 될 필요는 없습니다! 또한 기여를 시작하는 좋은 방법이 될 수도 있습니다.
회의 리더 역할은 etcd 유지 관리자 또는 sig-etcd 리더 간의 각 회의마다 순환되며 공유 Google 시트에 기록됩니다.
회의 녹화는 공식 etcd 유튜브 채널에 업로드됩니다.
etcd-dev 메일링 그룹에 가입하여 캘린더 초대장을 받으세요.
CNCF가 자금을 지원하는 Zoom 채널에 가입하세요: Zoom.us/my/cncfetcdproject
개발 환경 설정, 패치 제출 및 기여 워크플로에 대한 자세한 내용은 기여를 참조하세요.
etcd 프로젝트 멤버가 되는 방법에 대한 자세한 내용은 Community-membership.md를 참조하세요. 우리는 프로젝트에 대한 귀하의 기여를 환영하고 기대합니다!
또한 다음 몇 가지 주요 또는 부 릴리스의 우선 순위에 대한 자세한 내용을 보려면 로드맵을 참조하십시오.
문제 보고에 대한 자세한 내용은 버그 보고를 참조하세요. 문제를 열기 전에 자주 묻는 질문(FAQ)에서 해당 문제가 다루어지지 않는지 확인하십시오.
보안 취약성을 보고하는 방법과 etcd 팀이 이를 관리하는 방법에 대한 자세한 내용은 보안 공개 및 릴리스 프로세스를 참조하세요.
문제 관리 방법에 대한 자세한 내용은 문제 분류 지침을 참조하세요.
끌어오기 요청 관리 방법에 대한 지침은 PR 관리를 참조하세요.
이들 명예 유지관리자는 경력의 일부를 etcd에 전념하고 코드를 검토하며 버그를 분류하고 상당한 기간에 걸쳐 프로젝트를 추진했습니다. 그들의 기여에 크게 감사드립니다.
시 판민
앤서니 로마노
브랜든 필립스
조 베츠
이규호
후 징이
리 시앙
벤 다넬
샘 바첼레트
표트르 타보르
미타케 히토시
etcd는 Apache 2.0 라이센스를 따릅니다. 자세한 내용은 LICENSE 파일을 참조하세요.