CentOS 7搭建etcd集群 靜態發現

2021-08-21 08:40:40 字數 3038 閱讀 6309

搭建k8s集群之前要先建立etcd集群,因此就先搞一下etcd吧。

集群數量此次使用3臺centos 7系列機器,其實就是7.3,7.4,7.5,為啥沒用7.2呢,因為不相容,文章最後面有解釋。

節點名稱

節點ip

master

192.168.0.100

node1

192.168.0.101

node2

192.168.0.102

搭建etcd集群時需要將防火牆關閉,否則節點間無法通訊,使用以下命令關閉防火牆和禁止開機啟動。

systemctl stop firewalld.service //關閉防火牆

systemctl disable firewalld.service //禁止開機啟動

在centos上軟體安裝很簡單,直接使用yum命令,

yum install etcd -y
etcd的配置檔案為:/etc/etcd/etcd.conf,三颱環境的配置如下:

master的配置:

#[member]

etcd_data_dir="/var/lib/etcd/default.etcd"

etcd_listen_peer_urls=""

etcd_listen_client_urls=""

etcd_name="master"

##[clustering]

etcd_initial_advertise_peer_urls=""

etcd_advertise_client_urls=""

etcd_initial_cluster="master=,node1=,node2="

etcd_initial_cluster_token="etcd-cluster"

etcd_initial_cluster_state="new"

node1的配置:

#[member]

etcd_data_dir="/var/lib/etcd/default.etcd"

etcd_listen_peer_urls=""

etcd_listen_client_urls=""

etcd_name="node1"

##[clustering]

etcd_initial_advertise_peer_urls=""

etcd_advertise_client_urls=""

etcd_initial_cluster="master=,node1=,node2="

etcd_initial_cluster_token="etcd-cluster"

etcd_initial_cluster_state="new"

node2的配置:

#[member]

etcd_data_dir="/var/lib/etcd/default.etcd"

etcd_listen_peer_urls=""

etcd_listen_client_urls=""

etcd_name="node2"

##[clustering]

etcd_initial_advertise_peer_urls=""

etcd_advertise_client_urls=""

etcd_initial_cluster="master=,node1=,node2="

etcd_initial_cluster_token="etcd-cluster"

etcd_initial_cluster_state="new"

各個配置的說明如下:

etcd_data_dir:資料儲存目錄

etcd_name:節點名稱

etcd_initial_cluster_token:初始化集群口令,用於標識不同集群

etcd_initial_cluster_state:初始化集群狀態,new表示新建

配置完後,在三颱環境上啟動etcd服務,

systemctl start etcd
然後檢視集群節點資訊,

[root@centos-7-3 ~]# etcdctl member list

9148b70e8c09dda7: name=master peerurls= clienturls= isleader=true

94da6adc7e389c7b: name=node1 peerurls= clienturls= isleader=false

cab12768ca3506a9: name=node2 peerurls= clienturls= isleader=false

接下來我們簡單測試一下功能,在master上設定乙個鍵值,在其餘兩台環境上查詢該鍵值。

假設我們設定這樣乙個鍵值對hello:world

[root@centos-7-3 ~]# etcdctl set  hello world

world

[root@centos-7-4 ~]# etcdctl get hello

world

[root@centos-7-5 ~]# etcdctl get hello

world

可見集群內的節點的資料是一致同步的。

這裡有兩個坑要注意,

1、etcd2和etcd3不相容,不相容啊,也就是centos 7.2不能和7.3,7.4,7.5組建集群,偏偏我一開始就是這樣搞的,坑得不要不要的。

2、更換節點時切記要把原來節點的資料目錄刪了,

rm -rf /var/lib/etcd/default.etcd/*
不然會使用歷史節點資訊,集群也無法建立,一直報cluster id not match啥的。

Centos 7 搭建 Zookeeper 集群

單機搭建 基礎結構 分別建立 三個資料夾 zkserver1 zkserver2 zkserver3 分別為在 這三個 資料夾下面 建立data 資料夾。修改配置檔案 zoo.cfg 如圖 三個zoo.cfg 保證 埠不一致,保證 datadir 不一致,配置 紅色框內的三個server.id 說明...

Centos7搭建redis集群

1.分別在node2,3,4上安裝redis 2.配置集群 以下操作只需要在一台機器上安裝即可,這裡我選用 node2 上安裝 1 在 redis安裝目錄的 src 目錄下有乙個檔案 redis trib.rb 這是乙個ruby版的 redis服務安裝指令碼,為了使用它,請首先安裝 ruby.安裝r...

CentOS 7搭建RabbitMQ集群

二 集群搭建 三 建立遠端訪問使用者 四 通過使用haproxy rabbitmq集群 在centos 7.3下搭建rabbitmq集群,在此將操作記錄下來,親測通過。執行以下命令 rpm ivh erlang 19.0.4 1.el7.centos.x86 64.rpm 驗證erlang是否安裝成...