国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

基于Docker的Etcd分布式部署的方法步驟

2024-09-01 13:56:16
字體:
來源:轉載
供稿:網友

一 環境準備

1.1 基礎環境

ntp配置:略 #建議配置ntp服務,保證時間一致性

etcd版本:v3.3.9

防火墻及SELinux:關閉防火墻和SELinux

 

名稱
地址
主機名
備注
etcd1
172.24.8.71
etcd1.example.com
用于保存相關IP信息
docker01
172.24.8.72
docker01.example.com
 
docker02
172.24.8.73
docker02.example.com
 

 

# hostnamectl set-hostname etcd1.example.com# hostnamectl set-hostname docker01.example.com# hostnamectl set-hostname docker02.example.com

提示:主機名非必須。

1.2 docker環境

以上所有節點均安裝docker,具體方式見《002.docker版本及安裝》。

二 etcd節點部署

提示:本環境全部采用docker化,即etcd服務也以docker形式存在。

2.1 etcd基礎配置

# mkdir -p /var/log/etcd/  #建議創建etcd日志保存目錄# mkdir -p /data/etcd  #建議創建單獨的etcd數據目錄# export HOST_1=172.24.8.71  #設置etcd節點的IP# export DATA_DIR=/data/etcd  #設置集群etcd數據節點# REGISTRY=quay.io/coreos/etcd  #建議使用此倉庫# ETCD_VERSION=latest  #設置etcd版本# export NAME_1=etcd1  #設置etcd節點的name# docker volume create --name etcd-data

提示:以上所有操作需要在所有節點操作。

2.3 啟動docker etcd集群

[root@etcd1 ~]# docker run / -p 2379:2379 / -p 2380:2380 / --volume=${DATA_DIR}:/etcd-data / --name etcd ${REGISTRY}:${ETCD_VERSION} / /usr/local/bin/etcd / --data-dir=/etcd-data --name ${NAME_1} / --initial-advertise-peer-urls http://${HOST_1}:2380 --listen-peer-urls http://0.0.0.0:2380 / --advertise-client-urls http://${HOST_1}:2379 --listen-client-urls http://0.0.0.0:2379 / --initial-cluster ${NAME_1}=http://${HOST_1}:2380

提示:quay.io/coreos/etcd鏡像國內可能無法pull,可在國外節點pull,然后scp至集群節點。

2.4 確認驗證

 [root@etcd1 ~]# docker ps

Docker,Etcd,分布式部署 

 [root@etcd1 ~]# docker exec -it bcb96fb0f987 /usr/local/bin/etcdctl cluster-health

Docker,Etcd,分布式部署

[root@etcd1 ~]# docker exec -it bcb96fb0f987 /usr/local/bin/etcdctl --endpoints=http://${HOST_1}:2379 member list

Docker,Etcd,分布式部署

三 docker宿主機節點配置

3.1 docker01配置

[root@docker01 ~]# vi /etc/sysconfig/dockerOPTIONS='--cluster-store=etcd://172.24.8.71:2379 --cluster-advertise=172.24.8.72:2379'[root@docker01 ~]# systemctl restart docker

3.2 docker02配置

[root@docker02 ~]# vi /etc/sysconfig/dockerOPTIONS='--cluster-store=etcd://172.24.8.71:2379 --cluster-advertise=172.24.8.73:2379'[root@docker02 ~]# systemctl restart docker

3.3 創建overlay網絡

[root@docker01 ~]# docker network create -d overlay overlaynet1418654e0092f5d1c3e4bf2b9ee73cdd22932dd60fecf12d7a3b024818118244b[root@docker01 ~]# docker network inspect overlaynet1

Docker,Etcd,分布式部署

[root@docker02 ~]# docker network inspect overlaynet1

Docker,Etcd,分布式部署

提示:分別在docker01和docker02宿主機查看在docker01上創建的overlay網絡,若都存在則表示通過 etcd,網絡數據是分布式而不是本地的了。

3.4 測試網絡

[root@docker01 ~]# docker run -d --name Container01 --network overlaynet1 training/webapp python app.py[root@docker02 ~]# docker run -d --name Container02 --network overlaynet1 training/webapp python app.py[root@docker01 ~]# docker exec -it 73e984a5528a /bin/bashroot@73e984a5528a:/opt/webapp# ifconfig

Docker,Etcd,分布式部署

root@73e984a5528a:/opt/webapp# route -n

Docker,Etcd,分布式部署

[root@docker02 ~]# docker exec -it 89eac9521743 /bin/bashroot@89eac9521743:/opt/webapp# ifconfig

Docker,Etcd,分布式部署

說明:

  • 所有容器對會存在兩個網卡,eth0和eth1;
  • 其中 eth1 的網絡是一個內部的網段,即普通的 NAT 模式;
  • 其中 eth0 是 overlay 網段上分配的IP地址,即 overlay 網絡,且 MTU 是 1450 而不是 1500;
  • 只有同一個 overlay 網絡中的容器之間的通信才會通過 eth0,其它所有通信還是經過 eth1。
[root@docker01 ~]# brctl show

Docker,Etcd,分布式部署

[root@docker01 ~]# docker network ls

Docker,Etcd,分布式部署

其他引用:

  • Docker 在每個節點上創建了兩個 linux bridge,一個用于 overlay 網絡,一個用于非 overlay 的 NAT 網絡(docker_gwbridge);
  • 容器內的到overlay 網絡的其它容器的網絡流量走容器的 overlay 網卡(eth0),其它網絡流量走容器的 NAT 網卡(eth1);
  • 當前 Docker 創建 vxlan 隧道的ID范圍為 256~1000,因而最多可以創建745個網絡,因此,本例中的這個 vxlan 隧道使用的 ID 是 256;
  • Docker vxlan 驅動使用 4789 UDP 端口;
  • overlay網絡模型底層需要類似 consul 或 etcd 的 KV 存儲系統進行消息同步;
  • Docker overlay 不使用多播;
  • Overlay 網絡中的容器處于一個虛擬的大二層網絡中,

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤山市| 桐乡市| 同心县| 宣化县| 新平| 浦城县| 吉木乃县| 河西区| 舞阳县| 清镇市| 石阡县| 南木林县| 晋州市| 千阳县| 上蔡县| 镇安县| 苗栗市| 涞源县| 沾化县| 巴楚县| 余姚市| 年辖:市辖区| 民和| 庆安县| 盐池县| 惠州市| 高雄县| 阿巴嘎旗| 大悟县| 延寿县| 高碑店市| 华坪县| 嘉善县| 故城县| 肃北| 阳西县| 玉溪市| 尚志市| 滦南县| 涿州市| 宁津县|