亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker搭建etcd集群方式 bitnami/etcd

 更新時間:2023年06月12日 10:15:09   作者:好大一個消失點  
這篇文章主要介紹了docker搭建etcd集群方式 bitnami/etcd,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

docker部署etcd集群

優(yōu)秀的文章應該一來就先上代碼(不接受杠精反駁)

注意這是sh代碼,liunx批處理腳本

#!/bin/bash
#設(shè)置網(wǎng)絡(luò)名
network_name=etcd_network
#創(chuàng)建網(wǎng)絡(luò)
docker network create --driver bridge --subnet=10.3.36.0/16 --gateway=10.3.1.1 ${network_name}
#設(shè)置結(jié)點名
node1=etcd_node1
node1_ip=10.3.36.1
node2=etcd_node2
node2_ip=10.3.36.2
node3=etcd_node3
node3_ip=10.3.36.3
#設(shè)置集群口令
cluster_token=etcd_cluster
#創(chuàng)建節(jié)點1
docker run -d --name ${node1} \
	--network ${network_name} \
	--publish 12379:2379 \
	--publish 12380:2380 \
	--ip ${node1_ip} \
	--env ALLOW_NONE_AUTHENTICATION=yes \
	--env ETCD_NAME=${node1} \
	--env ETCD_ADVERTISE_CLIENT_URLS=http://${node1_ip}:2379 \
	--env ETCD_INITIAL_ADVERTISE_PEER_URLS=http://${node1_ip}:2380 \
	--env ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379 \
	--env ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380 \
	--env ETCD_INITIAL_CLUSTER_TOKEN=${cluster_token} \
	--env ETCD_INITIAL_CLUSTER=${node1}=http://${node1_ip}:2380,${node2}=http://${node2_ip}:2380,${node3}=http://${node3_ip}:2380 \
	--env ETCD_INITIAL_CLUSTER_STATE=new \
	bitnami/etcd:latest
#創(chuàng)建節(jié)點2
docker run -d --name ${node2} \
	--network ${network_name} \
	--publish 22379:2379 \
	--publish 22380:2380 \
	--ip ${node2_ip} \
	--env ALLOW_NONE_AUTHENTICATION=yes \
	--env ETCD_NAME=${node2} \
	--env ETCD_ADVERTISE_CLIENT_URLS=http://${node2_ip}:2379 \
	--env ETCD_INITIAL_ADVERTISE_PEER_URLS=http://${node2_ip}:2380 \
	--env ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379 \
	--env ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380 \
	--env ETCD_INITIAL_CLUSTER_TOKEN=${cluster_token} \
	--env ETCD_INITIAL_CLUSTER=${node1}=http://${node1_ip}:2380,${node2}=http://${node2_ip}:2380,${node3}=http://${node3_ip}:2380 \
	--env ETCD_INITIAL_CLUSTER_STATE=new \
	bitnami/etcd:latest
#創(chuàng)建節(jié)點3
docker run -d --name ${node3} \
	--network ${network_name} \
	--publish 32379:2379 \
	--publish 32380:2380 \
	--ip ${node3_ip} \
	--env ALLOW_NONE_AUTHENTICATION=yes \
	--env ETCD_NAME=${node3} \
	--env ETCD_ADVERTISE_CLIENT_URLS=http://${node3_ip}:2379 \
	--env ETCD_INITIAL_ADVERTISE_PEER_URLS=http://${node3_ip}:2380 \
	--env ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379 \
	--env ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380 \
	--env ETCD_INITIAL_CLUSTER_TOKEN=${cluster_token} \
	--env ETCD_INITIAL_CLUSTER=${node1}=http://${node1_ip}:2380,${node2}=http://${node2_ip}:2380,${node3}=http://${node3_ip}:2380 \
	--env ETCD_INITIAL_CLUSTER_STATE=new \
	bitnami/etcd:latest

如何執(zhí)行

sh xxx.sh
# xxx填寫你的shell文件名

注意

如果你在執(zhí)行的時候遇到這個錯誤

line 2: $'\r': command not found

麻煩安裝一下這個東西(不要問為什么?)

yum -y install dos2unix*
dos2unix *.*

這里說一下配置參數(shù)情況

#docker網(wǎng)絡(luò)名
--network?
#端口號可以這樣寫-p
--publish
--env ALLOW_NONE_AUTHENTICATION
#設(shè)置成員節(jié)點的別名
--env ETCD_NAME
#廣播到集群中本成員的監(jiān)聽客戶端請求的地址
--env ETCD_ADVERTISE_CLIENT_URLS
#廣播到集群中本成員的Peer監(jiān)聽通信地址
--env ETCD_INITIAL_ADVERTISE_PEER_URLS
#客戶端請求的監(jiān)聽地址列表
--env ETCD_LISTEN_CLIENT_URLS
#Peer消息的監(jiān)聽服務地址列表
--env ETCD_LISTEN_PEER_URLS
#啟動集群的時候指定集群口令,只有相同token的才能加入到同一集群
--env ETCD_INITIAL_CLUSTER_TOKEN
#所有集群節(jié)點的地址列表
--env ETCD_INITIAL_CLUSTER

測試一下成功沒有

$docker ps
CONTAINER ID ? IMAGE ? ? ? ? ? ? ? ? COMMAND ? ? ? ? ? ? ? ? CREATED ? ? ? ? ?STATUS ? ? ? ? ?PORTS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NAMES
13aad2124d35 ? bitnami/etcd:latest ? "/entrypoint.sh etcd" ? 11 minutes ago ? Up 11 minutes ? 0.0.0.0:32379->2379/tcp, 0.0.0.0:32380->2380/tcp ? etcd_node3
03e368e9658e ? bitnami/etcd:latest ? "/entrypoint.sh etcd" ? 11 minutes ago ? Up 11 minutes ? 0.0.0.0:22379->2379/tcp, 0.0.0.0:22380->2380/tcp ? etcd_node2
2781e87d368d ? bitnami/etcd:latest ? "/entrypoint.sh etcd" ? 11 minutes ago ? Up 11 minutes ? 0.0.0.0:12379->2379/tcp, 0.0.0.0:12380->2380/tcp ? etcd_node1
#測試命令
$docker exec -it 2781e87d368d etcdctl member list

Etcd集群搭建實驗

實驗環(huán)境

實驗環(huán)境非常簡單,2 臺服務器, etcd01 主 etcd02 從。

etcd01etcd02
192.168.1.103192.168.1.104

下載與安裝 etcd

首先從 Yum 源上安裝

[root@bogon ~]# yum -y install etcd

查看一下版本

[root@bogon ~]# etcd --version
etcd Version: 3.3.11
Git SHA: 2cf9e51
Go Version: go1.10.3
Go OS/Arch: linux/amd64

修改配置文件

編輯配置文件 /etc/etcd/etcd.conf ,可以通過如下命令查看文件內(nèi)容,主節(jié)點如下。

[root@bogon ~]# egrep -v "^$|^#" /etc/etcd/etcd.conf
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.1.103:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_NAME="etcd01"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.1.103:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_INITIAL_CLUSTER="etcd01=http://192.168.1.103:2380,etcd02=http://192.168.1.104:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
[root@bogon ~]# 

從節(jié)點如下。

[root@bogon ~]# egrep -v "^$|^#" /etc/etcd/etcd.conf
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.1.104:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_NAME="etcd02"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.1.104:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_INITIAL_CLUSTER="etcd01=http://192.168.1.103:2380,etcd02=http://192.168.1.104:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

服務啟動與查看

分別在主從節(jié)點上執(zhí)行如下命令啟動服務。

[root@master etcd]# systemctl start etcd
[root@master etcd]# systemctl status etcd

使用如下命令查看網(wǎng)絡(luò)進程。

[root@bogon ~]# netstat -ntlp | grep etcd
tcp        0      0 192.168.1.104:2380      0.0.0.0:*               LISTEN      22061/etcd          
tcp6       0      0 :::2379                 :::*                    LISTEN      22061/etcd     

查看集群節(jié)點

[root@bogon ~]# etcdctl member list
4490eae103912db6: name=etcd01 peerURLs=http://192.168.1.103:2380 clientURLs=http://0.0.0.0:2379 isLeader=false
5038ecd3b2f796d0: name=etcd02 peerURLs=http://192.168.1.104:2380 clientURLs=http://0.0.0.0:2379 isLeader=true

查看健康狀態(tài)

[root@bogon ~]# etcdctl cluster-health
member 4490eae103912db6 is healthy: got healthy result from http://0.0.0.0:2379
member 5038ecd3b2f796d0 is healthy: got healthy result from http://0.0.0.0:2379
cluster is healthy

報錯與解決

1.cluster ID mismatch

報錯如下

request sent was ignored (cluster ID mismatch: remote[4xxx6]=6xxxb, local=9xxxb)

解決方法

需要把master和node節(jié)點的/var/lib/etcd/目錄下的緩存都刪除一遍,然后重啟etcd。

2.cannot understand the cluster version

報錯如下

cannot understand the cluster version of member 4xxx6 (not_decided is not in dotted-tri format) incompatible with current running cluster

解決方法

可能是因為配置文件中的

ETCD_INITIAL_CLUSTER_STATE="exist"

將其改為

ETCD_INITIAL_CLUSTER_STATE="new"

3.permission denied

報錯如下

etcdmain: cannot access data directory: open /var/lib/etcd/default.etcd/.touch: permission denied

解決方法

關(guān)掉SElinux安全,通過執(zhí)行命令關(guān)閉,這樣重啟之后會恢復狀態(tài)。

setenforce 0

或者在在 /etc/selinux/config 中將 SELINUX=enforcing 設(shè)置成 disabled ,然后 reboot 。

systemd 默認是以 etcd 用戶執(zhí)行的,這里需要修改 default.etcd 文件夾權(quán)限

chown etcd:etcd -R /var/lib/etcd/default.etcd

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用docker快速部署Elasticsearch集群的方法

    使用docker快速部署Elasticsearch集群的方法

    這篇文章主要介紹了使用docker快速部署Elasticsearch集群的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • docker python如何實現(xiàn)打包的方法

    docker python如何實現(xiàn)打包的方法

    這篇文章主要介紹了docker 打包python實現(xiàn)方法的相關(guān)資料,這里說明如今實現(xiàn),需要的朋友可以參考下
    2016-12-12
  • 解決docker指定udp端口號的問題

    解決docker指定udp端口號的問題

    這篇文章主要介紹了解決docker指定udp端口號的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker構(gòu)建ELK Docker集群日志收集系統(tǒng)

    Docker構(gòu)建ELK Docker集群日志收集系統(tǒng)

    為了在Docker集群中更好的管理查看日志 我們使用Docker 來搭建集群的ELK日志收集系統(tǒng),這篇文章介紹了Docker構(gòu)建ELK Docker集群日志收集系統(tǒng)的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • Docker 安裝 LogStash的詳細過程

    Docker 安裝 LogStash的詳細過程

    Logstash,作為Elastic Stack家族中的核心成員之一,是一個功能強大的開源數(shù)據(jù)收集引擎,在本文中,我們將詳細介紹如何借助Docker容器技術(shù)快速安裝配置Logstash,以實現(xiàn)日志及各類事件數(shù)據(jù)的無縫集成與實時處理,感興趣的朋友一起看看吧
    2024-03-03
  • Docker多階段鏡像構(gòu)建的實現(xiàn)

    Docker多階段鏡像構(gòu)建的實現(xiàn)

    本篇文章主要介紹了Docker多階段鏡像構(gòu)建的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 基于docker搭建redis集群的方法

    基于docker搭建redis集群的方法

    這篇文章主要介紹了基于docker搭建redis集群的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • docker搭建本地私有倉庫的實現(xiàn)

    docker搭建本地私有倉庫的實現(xiàn)

    有時候使用Docker Hub這樣的公共倉庫可能不方便,這種情況下用戶可以使用registry創(chuàng)建一個本地倉庫供私人使用,本文主要介紹了docker搭建本地私有倉庫的實現(xiàn),感興趣的可以了解一下
    2023-12-12
  • 在docker中安裝mysql詳解

    在docker中安裝mysql詳解

    本篇文章主要介紹了在docker中安裝mysql詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Docker上實現(xiàn)Redis集群搭建

    Docker上實現(xiàn)Redis集群搭建

    redis集群對于很多人來說非常熟悉,雖然集群搭建的文章在網(wǎng)上很多,但是今天給大家介紹的是在docker上實現(xiàn)Redis集群搭建,感興趣的可以了解下
    2021-05-05

最新評論