【ETCD】【实战篇(一)】手把手教你在linux上部署etcd高可用集群

一、ETCD是什么?

etcd 是一个分布式可靠的键值存储系统,用于分布式系统中最关键的数据,主要特点包括:

  • 简单:具有明确的、面向用户的 API(gRPC)

  • 安全:自动 TLS 支持,并可选的客户端证书认证

  • 快速:经过基准测试,支持每秒 10,000 次写入

  • 可靠:使用 Raft 算法进行适当分布

    etcd 使用 Go 语言编写,并利用 Raft 共识算法来管理高度可用的复制日志。

​ 许多公司在生产环境中使用 etcd,开发团队在关键部署场景中支持它,etcd 经常与 Kubernetes、locksmith、vulcand、Doorman 等应用程序配合使用。通过严格的健壮性测试,进一步确保了系统的可靠性。

二、ETCD的集群环境如何部署?

1、主机资源准备

主机ip etcd服务名 CPU 内存
192.168.188.101 s1 4核 4G
192.168.188.102 s2 4核 4G
192.168.188.103 s3 4核 4G

设置免密登录:

在三台机器都执行执行:

ssh-keygen -t rsa -b 4096
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]

2、借助play.etcd.io官网来进行etcd集群部署

地址:http://play.etcd.io/install#top

3、生成自签名的证书

a)、在页面按自己主机信息输出相关的信息

打开的页面如下:
在这里插入图片描述

修改ip地址、端口信息以及etcd的数据目录信息。

在这里插入图片描述

b)、安装cfssl工具(三台主机上都要操作)

cfssl的安装脚本如下:

#!/bin/bash
rm -f /tmp/cfssl* && rm -rf /tmp/certs && mkdir -p /tmp/certs

curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /tmp/cfssl
chmod +x /tmp/cfssl
sudo mv /tmp/cfssl /usr/local/bin/cfssl

curl -L https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /tmp/cfssljson
chmod +x /tmp/cfssljson
sudo mv /tmp/cfssljson /usr/local/bin/cfssljson

/usr/local/bin/cfssl version
/usr/local/bin/cfssljson -h

mkdir -p /data/etcd/certs
c)、生成自签名的CA根证书(三台主机都要进行操作)

在这里插入图片描述

生成根证书的脚本(etcd-root-ca_gencert.sh)如下:

#!/bin/bash
mkdir -p /data/etcd/certs

cat > /data/etcd/certs/etcd-root-ca-csr.json <<EOF
{
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "O": "etcd",
      "OU": "etcd Security",
      "L": "shengzhen",
      "ST": "guangdong",
      "C": "CN"
    }
  ],
  "CN": "etcd-root-ca"
}
EOF
cfssl gencert --initca=true /data/etcd/certs/etcd-root-ca-csr.json | cfssljson --bare /data/etcd/certs/etcd-root-ca

# verify
openssl x509 -in /data/etcd/certs/etcd-root-ca.pem -text -noout


# cert-generation configuration
cat > /data/etcd/certs/etcd-gencert.json 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值