四、etcd数据库集群部署

1、下载安装
二进制下载:
https://github.com/coreos/etcd/releases/download/v3.3.13/etcd-v3.3.13-linux-amd64.tar.gz

 1 [[email protected] ~]# tar xf etcd-v3.3.13-linux-amd64.tar.gz
 2 [[email protected] ~]# cd etcd-v3.3.13-linux-amd64
 3 [[email protected] etcd-v3.3.13-linux-amd64]# ll
 4 总用量 29776
 5 drwxr-xr-x 10 1000 1000 4096 5月 3 2019 Documentation
 6 -rwxr-xr-x 1 1000 1000 16927136 5月 3 2019 etcd
 7 -rwxr-xr-x 1 1000 1000 13498880 5月 3 2019 etcdctl
 8 -rw-r--r-- 1 1000 1000 38864 5月 3 2019 README-etcdctl.md
 9 -rw-r--r-- 1 1000 1000 7262 5月 3 2019 README.md
10 -rw-r--r-- 1 1000 1000 7855 5月 3 2019 READMEv2-etcdctl.md

只有etcd,etcdctl两个文件有用

2、安装etcd

 1 #创建etcd所需要的目录
 2 [[email protected] opt]# mkdir -p etcd/{bin,cfg,ssl}
 3 #拷贝下载下来的可执行命令
 4 [[email protected] ~]# cp etcd-v3.3.13-linux-amd64/{etcd,etcdctl} /opt/etcd/bin/
 5 #拷贝我们生成的自签证书
 6 [[email protected] ~]# cp k8s/tls/etcd/{server,server-key,ca}.pem /opt/etcd/ssl/
 7 [[email protected] ~]# tree /opt/etcd
 8 /opt/etcd
 9 ├── bin
10 │   ├── etcd
11 │   └── etcdctl
12 ├── cfg
13 └── ssl
14     ├── ca.pem
15     ├── server-key.pem
16     └── server.pem

3、生成启动和配置文件
#配置文件

 1 [[email protected] ~]# cat /opt/etcd/cfg/etcd.conf
 2
 3 #[Member]
 4 ETCD_NAME="etcd-1"
 5 ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
 6 ETCD_LISTEN_PEER_URLS="https://etcd01:2380"
 7 ETCD_LISTEN_CLIENT_URLS="https://etcd01:2379"
 8
 9 #[Clustering]
10 ETCD_INITIAL_ADVERTISE_PEER_URLS="https://etcd01:2380"
11 ETCD_ADVERTISE_CLIENT_URLS="https://etcd01:2379"
12 ETCD_INITIAL_CLUSTER="etcd-1=https://etcd01:2380,etcd-2=https://etcd02:2380,etcd-3=https://etcd03:2380"
13 ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
14 ETCD_INITIAL_CLUSTER_STATE="new"

#启动文件

 1 [[email protected] etcd]# cat /opt/etcd/etcd.service
 2 [Unit]
 3 Description=Etcd Server
 4 After=network.target
 5 After=network-online.target
 6 Wants=network-online.target
 7
 8 [Service]
 9 Type=notify
10 EnvironmentFile=/opt/etcd/cfg/etcd.conf
11 ExecStart=/opt/etcd/bin/etcd 12         --name=${ETCD_NAME} 13         --data-dir=${ETCD_DATA_DIR} 14         --listen-peer-urls=${ETCD_LISTEN_PEER_URLS} 15         --listen-client-urls=${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \
16         --advertise-client-urls=${ETCD_ADVERTISE_CLIENT_URLS} 17         --initial-advertise-peer-urls=${ETCD_INITIAL_ADVERTISE_PEER_URLS} 18         --initial-cluster=${ETCD_INITIAL_CLUSTER} 19         --initial-cluster-token=${ETCD_INITIAL_CLUSTER_TOKEN} 20         --initial-cluster-state=new 21         --cert-file=/opt/etcd/ssl/server.pem 22         --key-file=/opt/etcd/ssl/server-key.pem 23         --peer-cert-file=/opt/etcd/ssl/server.pem 24         --peer-key-file=/opt/etcd/ssl/server-key.pem 25         --trusted-ca-file=/opt/etcd/ssl/ca.pem 26         --peer-trusted-ca-file=/opt/etcd/ssl/ca.pem
27 Restart=on-failure
28 LimitNOFILE=65536
29
30 [Install]
31 WantedBy=multi-user.target

4、拷贝etcd目录到etcd01,etcd02,etcd03机器上

1 [[email protected] ~]# scp -r /opt/etcd/ etcd01:/opt/
2 [[email protected] ~]# scp -r /opt/etcd/ etcd02:/opt/
3 [[email protected] ~]# scp -r /opt/etcd/ etcd03:/opt/

5、分别修改3台etcd的cfg/etcd.conf文件,IP为自己的IP
#etcd01

[[email protected] ~]# cat /opt/etcd/cfg/etcd.conf 

#[Member]
ETCD_NAME="etcd-1"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://10.16.8.161:2380"
ETCD_LISTEN_CLIENT_URLS="https://10.16.8.161:2379"

#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.16.8.161:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://10.16.8.161:2379"
ETCD_INITIAL_CLUSTER="etcd-1=https://10.16.8.161:2380,etcd-2=https://10.16.8.162:2380,etcd-3=https://10.16.8.163:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

#etcd02

#[Member]
ETCD_NAME="etcd-2"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://10.16.8.162:2380"
ETCD_LISTEN_CLIENT_URLS="https://10.16.8.162:2379"

#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.16.8.162:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://10.16.8.162:2379"
ETCD_INITIAL_CLUSTER="etcd-1=https://10.16.8.161:2380,etcd-2=https://10.16.8.162:2380,etcd-3=https://10.16.8.163:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

#etcd03

[[email protected] ~]# cat /opt/etcd/cfg/etcd.conf

#[Member]
ETCD_NAME="etcd-3"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://10.16.8.163:2380"
ETCD_LISTEN_CLIENT_URLS="https://10.16.8.163:2379"

#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.16.8.163:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://10.16.8.163:2379"
ETCD_INITIAL_CLUSTER="etcd-1=https://10.16.8.161:2380,etcd-2=https://10.16.8.162:2380,etcd-3=https://10.16.8.163:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

6、3台etcd机器上分别拷贝etcd.service到/usr/lib/systemd/system

[[email protected] ~]# mv /opt/etcd/etcd.service /usr/lib/systemd/system
[[email protected] ~]# mv /opt/etcd/etcd.service /usr/lib/systemd/system
[[email protected] ~]# mv /opt/etcd/etcd.service /usr/lib/systemd/system

7、启动和开机启动etcd

[[email protected] ~]# systemctl daemon-reload
[[email protected] ~]# systemctl start etcd
[[email protected] ~]# systemctl enable etcd

8、查看集群状态

[[email protected] ~]# /opt/etcd/bin/etcdctl  --ca-file=/opt/etcd/ssl/ca.pem --cert-file=/opt/etcd/ssl/server.pem --key-file=/opt/etcd/ssl/server-key.pem  --endpoints="https://10.16.8.161:2379,https://10.16.8.162:2379,https://10.16.8.163:2379"  cluster-health

member 592bed4fa345de89 is healthy: got healthy result from https://10.16.8.163:2379
member 7fc93466fcfffccf is healthy: got healthy result from https://10.16.8.162:2379
member d83d38380a38f404 is healthy: got healthy result from https://10.16.8.161:2379
cluster is healthy

原文地址:https://www.cnblogs.com/xw115428/p/11955946.html

时间: 2024-11-11 00:18:03

四、etcd数据库集群部署的相关文章

Linux系统运维之MYSQL数据库集群部署(主从复制)

一.介绍 Mysql主从复制,前段时间生产环境部署了一套主从复制的架构,当时现找了很多资料,现在记录下 二.拓扑图 三.环境以及软件版本 主机名 IP 操作系统 角色 软件版本 MysqlDB_Master 192.168.0.1 CentOS release 7.1 Master Mysql 5.6.36 MysqlDB_Slave 192.168.0.2 CentOS release 7.1 Slave Mysql 5.6.36 四.源码安装 之前都是yum直接安装的,这次尝试使用源码安装,

自己动手之k8s etcd ssl集群部署操作记录

参考文档:https://github.com/opsnull/follow-me-install-kubernetes-cluster 1.下载和分发二进制安装包 [[email protected] kubernetes]# wget https://github.com/coreos/etcd/releases/download/v3.3.7/etcd-v3.3.7-linux-amd64.tar.gz [[email protected] kubernetes]# ls etcd-v3.

etcd单机集群部署

下载etcd 二进制安装包. https://github.com/etcd-io/etcd/releases 创建用户和相关目录 mkdir –p /home/etcd/data/node1 mkdir –p /home/etcd/data/node2 mkdir –p /home/etcd/data/node3 useradd -d /home/etcd etcd su - etcd 启动3个节点 ./etcd -name node1 -data-dir ../data/node1 -ini

MyCat集群部署(HAProxy + MyCat)

本文档内容的依赖龙果学院<基于Dubbo的分布式系统架构实战>课程 二.软件版本 操作系统:CentOS-6.6-x86_64 JDK版本:jdk1.7.0_72 HAProxy版本:haproxy-1.5.16.tar.gz MyCat版本:Mycat-server-1.4-release-20151019230038-linux.tar.gz MySQL版本:mysql-5.6.26.tar.gz 三.部署环境规划 四.MyCat集群部署架构图如下: 图解说明: HAProxy负责将请求分

Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 master 服务器的组件有:kube-apiserver.kube-controller-manager.kube-scheduler 因此需要下载k8s master,下载地址:https://github.com/kubernetes/kubernetes/blob/master/CHANGE

Kubernetes 部署 Nebula 图数据库集群

Kubernetes 是什么 Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应用部署,规划,更新,维护的一种机制.Kubernetes 在设计结构上定义了一系列的构建模块,其目的是为了提供一个可以部署.维护和扩展应用程序的机制,组成 Kubernetes 的组件设计概念为松耦合和可扩展的,这样可以使之满足多种不同的工作负载.可扩展性在很大程度上由 Kubernetes API

004.etcd集群部署-动态发现

一 etcd发现简介 1.1 需求背景 在实际环境中,集群成员的ip可能不会提前知道.如使用dhcp自动获取的情况,在这些情况下,使用自动发现来引导etcdetcd集群,而不是指定静态配置,这个过程被称为"发现". etcd Discovery 使用已有的 etcd cluster 来注册和启动 DNS发现 使用 DNS 启动. 1.2 实现机制 Discovery service protocol帮助新的etcd成员使用共享URL在集群引导阶段发现所有其他成员. 该协议使用新的发现令

浅入深出ETCD之【集群部署与golang客户端使用】

前言 之前说了etcd的简介,命令行使用,一些基本原理.这次来说说现实一点的集群部署和golang版本的客户端使用.因为在实际使用过程中,etcd的节点肯定是需要2N+1个进行部署的,所以有必要说明一下集群的部署. 集群部署 网上有很多集群部署的教程,有的很复杂,其实对于我们实际使用来说,其实配置并不复杂,下面举例一种最简单的集群配置.(简单到你想不到~) 下载 https://github.com/etcd-io/etcd/releases 还是在github上面找到需要下载的版本 我使用的是

kubernetes容器集群部署Etcd集群

安装etcd 二进制包下载地址:https://github.com/etcd-io/etcd/releases/tag/v3.2.12 [[email protected] ~]# GOOGLE_URL=https://storage.googleapis.com/etcd [[email protected] ~]# GITHUB_URL=https://github.com/coreos/etcd/releases/download [[email protected] ~]# DOWNL