docker etcd環境構築
7126 ワード
etcdはgolangで記述され,raftプロトコルで実現される分散型で信頼性の高いkvストレージシステムであり,共有とサービス登録の構成としてよく用いられることが分かった.Kubernetesはetcdを用いてクラスタ全体の状態を保存する
etcdは主に以下の4点に注目している.簡単:定義が良好で、ユーザー向けapi(grpcを使用) セキュリティ:オプションのtlsユーザ認証方式 快速:毎秒10000回の書き込みをサポートする 信頼性:raftプロトコルによる分散 etcdサービスの構築
クライアントは
etcdコマンドラインインタフェースetcdctl
etcdctlはetcdが提供するコマンドラインインタフェースであり、etcdサービスを容易に管理できる
etcd uiインタフェースe 3 w
e 3 wはetcdのuiインタフェースであり,現在のkvと各ノードの状態を容易に表示・管理できる.
e 3 w管理のkvはディレクトリフォーマットであり、すべてのkeyはルートディレクトリ接頭辞を有し、ルートディレクトリは
例えば
リンク etcd概要+使用:https://blog.csdn.net/bbwangj/article/details/82584988 github etcd: https://github.com/etcd-io/etcd github uiインタフェースe 3 w:https://github.com/soyking/e3w etcd構成:https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/configuration.md etcdコマンドラインインタフェース:https://github.com/etcd-io/etcd/tree/master/etcdctl etcd環境完全コードリファレンス:https://github.com/hpifu/docker-etcd e 3 w環境完全コードリファレンス:https://github.com/hpifu/docker-e3w docker etcdミラー:https://hub.docker.com/r/bitnami/etcd docker e 3 wミラー:https://hub.docker.com/r/soyking/e3w
転載は出典を明記してください.https://tech.hatlonely.com/article/62
etcdは主に以下の4点に注目している.
version: "3.5"
services:
etcd:
hostname: etcd
image: bitnami/etcd:3
deploy:
replicas: 1
restart_policy:
condition: on-failure
# ports:
# - "2379:2379"
# - "2380:2380"
# - "4001:4001"
# - "7001:7001"
user: root
volumes:
- "/var/docker/etcd/data:/opt/bitnami/etcd/data"
environment:
- "ETCD_ADVERTISE_CLIENT_URLS=http://etcd:2379"
- "ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379"
- "ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380"
- "ETCD_INITIAL_ADVERTISE_PEER_URLS=http://0.0.0.0:2380"
- "ALLOW_NONE_AUTHENTICATION=yes"
- "ETCD_INITIAL_CLUSTER=node1=http://0.0.0.0:2380"
- "ETCD_NAME=node1"
- "ETCD_DATA_DIR=/opt/bitnami/etcd/data"
networks:
- etcdnet
networks:
etcdnet:
name: etcdnet
クライアントは
ETCD_ADVERTISE_CLIENT_URLS
というアドレスを介してetcdと接続を確立するetcdコマンドラインインタフェースetcdctl
etcdctlはetcdが提供するコマンドラインインタフェースであり、etcdサービスを容易に管理できる
docker exec $(docker ps -a --filter name=etcd -q) etcdctl put root/service/svc1/key1 val1
docker exec $(docker ps -a --filter name=etcd -q) etcdctl get root/service/svc1/key1
etcd uiインタフェースe 3 w
e 3 wはetcdのuiインタフェースであり,現在のkvと各ノードの状態を容易に表示・管理できる.
version: "3.5"
services:
e3w:
hostname: e3w
image: soyking/e3w:latest
deploy:
replicas: 1
restart_policy:
condition: on-failure
# ports:
# - "8080:8080"
volumes:
- "/var/docker/e3w/conf/config.ini:/app/conf/config.default.ini"
networks:
- e3wnet
- etcdnet
networks:
e3wnet:
name: e3wnet
etcdnet:
external: true
name: etcdnet
e 3 w管理のkvはディレクトリフォーマットであり、すべてのkeyはルートディレクトリ接頭辞を有し、ルートディレクトリは
config.ini
で構成することができる.例えば
root_key=root
、ディレクトリservice/svc1
、key1 => val1
を作成し、実際にetcdに格納されているkeyはroot/service/svc1/key1
である.リンク
転載は出典を明記してください.https://tech.hatlonely.com/article/62