etcd集群安装

本文详细介绍了如何安装和配置etcd集群,包括创建cfssl、ca证书、客户端和服务端证书,以及安装etcd二进制文件和设置service配置。在集群中,etcd作为server,etcdctl作为client,它们之间通过HTTP协议通信。文中还提到,每个节点的IP和name需在service配置文件中正确设置,并提供了验证集群状态、查看成员、写入和读取数据的步骤。
摘要由CSDN通过智能技术生成

1、安装cfssl

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64

chmod +x cfssl_linux-amd64 cfssljson_linux-amd64

mv cfssl_linux-amd64 /usr/local/bin/cfssl
mv cfssljson_linux-amd64 /usr/local/bin/cfssljson

2、创建ca证书,客户端,服务端,节点之间的证书

Etcd属于server ,etcdctl 属于client,二者之间通过http协议进行通信。

  • ca证书 自己给自己签名的权威证书,用来给其他证书签名
  • server证书 etcd的证书
  • client证书 客户端,比如etcdctl的证书
  • peer证书 节点与节点之间通信的证书

1) 创建目录

mkdir -p /etc/etcd/pki
cd /etc/etcd/pki
cfssl print-defaults config > ca-config.json
cfssl print-defaults csr > ca-csr.json

2) 创建ca证书
修改ca-config.json
server auth表示client可以用该ca对server提供的证书进行验证
client auth表示server可以用该ca对client提供的证书进行验证

{
   
    "signing": {
   
        "default": {
   
            "expiry": "43800h"
        },
        "profiles": {
   
            "server": {
   
                "expiry": "43800h",
                "usages": [
                    "signing",
                    "key encipherment",
                    "server auth",
                    "client auth"
                ]
            },
            "client": {
   
                "expiry": "43800h",
                "usages": [
                    "signing",
                    "key encipherment",
                    "client auth"
                ]
            },
            "peer": {
   
                "expiry": "43800h",
                "usages": [
                    "signing",
                    "key encipherment",
                    "server auth",
                    "client auth"
                ]
            }
        }
    }
}

创建证书签名请求ca-csr.json

{
   
    "CN": "etcd",
    "key": {
   
        "algo": "rsa",
        "size": 2048
    }
}

生成CA证书和私钥

cfssl gencert -initca ca-csr.json | cfssljson -bare ca
ls ca*
ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem

3) 生成客户端证书

vim client.json
{
   
    "CN": "client",
    "key": {
   
        "algo": "ecdsa",
        "size": 256
    }
}

生成

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=client client.json  | cfssljson -bare client -
ls ca*
ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem client-key.pem client.pem

4) 生成server,peer证书

vim etcd.json
{
   
    "CN": "etcd",
    "hosts": [
        "127.0.0.1",
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值