Version v3.8-DRAFT of документація перебуває у статусі ЧЕРНЕТКИ. For the latest stable documentation, see v3.7.
Налаштування локального кластера
Для тестування та розробки найшвидший і найпростіший спосіб — налаштувати локальний кластер. Для розгортання в операційному середовищі зверніться до розділу кластеризація.
Локальний автономний кластер
Запуск кластера
Виконайте наступне, щоб розгорнути кластер etcd як автономний кластер:
$ ./etcd
...
Якщо бінарний файл etcd не присутній у поточній робочій теці, він може знаходитися або в $GOPATH/bin/etcd, або в /usr/local/bin/etcd. Виконайте команду відповідно.
Запущений член etcd слухає на localhost:2379 для клієнтських запитів.
Взаємодія з кластером
Використовуйте etcdctl для взаємодії з запущеним кластером:
Збережіть приклад пари ключ-значення в кластері:
$ ./etcdctl put foo bar OKЯкщо надруковано OK, збереження пари ключ-значення успішне.
Отримайте значення
foo:$ ./etcdctl get foo barЯкщо повертається
bar, взаємодія з кластером etcd працює як очікується.
Локальний кластер з кількома членами
Запуск кластера
Procfile у корені git-репозиторію etcd надається для легкого налаштування локального кластера з кількома членами. Щоб запустити кластер з кількома членами, перейдіть до кореня дерева вихідного коду etcd і виконайте наступне:
Встановіть
goremanдля керування застосунками на основі Procfile:$ go install github.com/mattn/goreman@latestЗапустіть кластер за допомогою
goreman, використовуючи стандартний Procfile etcd:$ goreman -f Procfile startЧлени починають працювати. Вони слухають на
localhost:2379,localhost:22379таlocalhost:32379відповідно для клієнтських запитів.
Взаємодія з кластером
Використовуйте etcdctl для взаємодії з запущеним кластером:
Надрукуйте список членів:
$ etcdctl --write-out=table --endpoints=localhost:2379 member listСписок членів etcd відображається наступним чином:
+------------------+---------+--------+------------------------+------------------------+ | ID | STATUS | NAME | PEER ADDRS | CLIENT ADDRS | +------------------+---------+--------+------------------------+------------------------+ | 8211f1d0f64f3269 | started | infra1 | http://127.0.0.1:2380 | http://127.0.0.1:2379 | | 91bc3c398fb3c146 | started | infra2 | http://127.0.0.1:22380 | http://127.0.0.1:22379 | | fd422379fda50e48 | started | infra3 | http://127.0.0.1:32380 | http://127.0.0.1:32379 | +------------------+---------+--------+------------------------+------------------------+Збережіть приклад пари ключ-значення в кластері:
$ etcdctl put foo bar OKЯкщо надруковано OK, збереження пари ключ-значення успішне.
Тестування відмовостійкості
Щоб перевірити відмовостійкість etcd, зупиніть одного з членів і спробуйте отримати ключ.
Визначте імʼя процесу члена, якого потрібно зупинити.
Procfileмістить властивості кластера з кількома членами. Наприклад, розглянемо члена з імʼям процесуetcd2.Зупиніть члена:
# kill etcd2 $ goreman run stop etcd2Збережіть ключ:
$ etcdctl put key hello OKОтримайте ключ, збережений на попередньому кроці:
$ etcdctl get key helloОтримайте ключ від зупиненого члена:
$ etcdctl --endpoints=localhost:22379 get keyКоманда повинна відобразити помилку, викликану збоєм зʼєднання:
2017/06/18 23:07:35 grpc: Conn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 127.0.0.1:22379: getsockopt: connection refused"; Reconnecting to "localhost:22379" Error: grpc: timed out trying to connectПерезапустіть зупиненого члена:
$ goreman run restart etcd2Отримайте ключ від перезапущеного члена:
$ etcdctl --endpoints=localhost:22379 get key helloПерезапуск члена відновлює зʼєднання.
etcdctlтепер зможе успішно отримати ключ. Щоб дізнатися більше про взаємодію з etcd, прочитайте розділ взаємодія з etcd.
Зворотний зв’язок
Чи була ця сторінка корисною?
Раді чути! Будь ласка, повідомте нам, як ми можемо зробити краще.
Дуже шкода це чути. Будь ласка, повідомте нам, як ми можемо зробити краще.