1环境准备:

1.1 主机以及操作系统

主机 地址 操作系统
etcd-1 192.168.234.100 debian11
etcd-2 192.168.234.101 debian11
etcd-3 192.168.234.102 debian11

1.2 软件版本

openssl: openssl-1.1.1n

etcd: etcd-v3.5.3-linux-amd64.tar.gz

2.自签名证书

2.1 ca证书

openssl genrsa -out ca.key 2048 #私钥
openssl req -x509 -new -nodes -key ca.key -subj="/CN=192.168.234.100" -days 36500 -out ca.crt #根证书
mkdir -p /data/ssl/
mv ca.key ca.crt /data/ssl/

2.2 etcd_server ssl证书用于集群节点的验证

2.2.1 生成key

openssl genrsa -out etcd_server.key 2048

2.2.2 配置x509V3配置文件

vim etcd_ssl.conf配置文件如下:[req]
distinguished_name     = req_distinguished_name
extensions_name  = @v3_req[req_distinguished_name][v3_req]
basicConstraints = CA:FALSE
keyUsage=digitalSignature, nonRepudiation, keyEncipherment
subjectAltName = @alt_names[alt_names]
IP.1 = 192.168.234.100
IP.2 = 192.168.234.101
IP.3 = 192.168.234.102

2.2.3 签名证书:

openssl req -new -key etcd_server.key -config etcd_ssl.conf -subj="/CN=etcd-server" -out etcd_server.csr
openssl x509 -req -in etcd_server.csr -CA /data/ssl/ca.crt -CAkey /data/ssl/ca.key -CAcreateserial -days 36500 -extensions v3_req -extfile etcd_ssl.cnf -out etcd_server.crt

2.2.4 生成客户端证书

openssl genrsa -out etcd_client.key 2048
openssl req -new -key etcd_client.key -config etcd_ssl.conf -subj="/CN=etcd-client" etcd_client.csr
openssl x509 -req in ectd_client.csr -CA /data/ssl/ca.crt -CAkey /data/ssl/ca.key -CAcreateserial -days 36500 -extensions v3_req -extfile etcd_ssl.conf -out etcd_client.crtmkdir -p /etc/etcd/pki
mv etcd_*.key /etc/etcd/pki
mv etcd_*.crt /etc/etcd/pki

3.安装etcd

去官方下载etcd的二进制包:

需分别在三台主机上操作,另证书也需要复制到另外两个节点上

tar xf etcd-v3.5.3-linux-amd64
cd etcd-v3.5.3-linux-amd64
cp etcd etcdctl /usr/bin#配置etcd为systemd管理的服务vim /usr/lib/systemd/system/etcd.service
[Unit]
Description=etcd
Documentation=https://github.com/etcd.io/etcd
After=network.target[Service]
EnvironmentFile=/etc/etcd/etcd.conf
ExecStart=/usr/bin/etcd
Restart=always[Install]
WantedBy=multi-user.target
#以上命令需要在三台服务器上执行#192.168.234.100上配置
vim /etc/etcd/etcd.confETCD_NAME=etcd1
ETCD_DATA_DIR=/etc/etcd/dataETCD_CERT_FILE=/etc/etcd/pki/etcd_server.crt
ETCD_KEY_FILE=/etc/etcd/pki/etcd_server.key
ETCD_TRUSTED_CA_FILE=/etc/kubernetes/pki/ca.crt
ETCD_CLIENT_CERT_AUTH=true
ETCD_LISTEN_CLIENT_URLS=https://192.168.234.100:2379
ETCD_ADVERTISE_CLIENT_URLS=https://192.168.234.100:2379
ETCD_PEER_CERT_FILE=/etc/etcd/pki/etcd_server.crt
ETCD_PEER_KEY_FILE=/etc/etcd/pki/etcd_server.key
ETCD_PEER_TRUSTED_CA_FILE=/etc/kubernetes/pki/ca.crt
ETCD_LISTEN_PEER_URLS=https://192.168.234.100:2380
ETCD_INITAIL_ADVERTISE_PEER_URLS=https://192.168.234.100:2380ETCD_INITAIL_CLUSTER_TOKEN=etcd-cluster
ETCD_INITAIL_CLUSTER="etcd1=https://192.168.234.100:2380,etcd2=https://192.168.234.101:2380,etcd3=https://192.168.234.102:2380"
ETCD_INITAIL_CLUSER_START=new#192.168.234.101上配置
vim /etc/etcd/etcd.conf
ETCD_NAME=etcd2
ETCD_DATA_DIR=/etc/etcd/dataETCD_CERT_FILE=/etc/etcd/pki/etcd_server.crt
ETCD_KEY_FILE=/etc/etcd/pki/etcd_server.key
ETCD_TRUSTED_CA_FILE=/etc/kubernetes/pki/ca.crt
ETCD_CLIENT_CERT_AUTH=true
ETCD_LISTEN_CLIENT_URLS=https://192.168.234.101:2379
ETCD_ADVERTISE_CLIENT_URLS=https://192.168.234.101:2379
ETCD_PEER_CERT_FILE=/etc/etcd/pki/etcd_server.crt
ETCD_PEER_KEY_FILE=/etc/etcd/pki/etcd_server.key
ETCD_PEER_TRUSTED_CA_FILE=/etc/kubernetes/pki/ca.crt
ETCD_LISTEN_PEER_URLS=https://192.168.234.101:2380
ETCD_INITAIL_ADVERTISE_PEER_URLS=https://192.168.234.101:2380ETCD_INITAIL_CLUSTER_TOKEN=etcd-cluster
ETCD_INITAIL_CLUSTER="etcd1=https://192.168.234.100:2380,etcd2=https://192.168.234.101:2380,etcd3=https://192.168.234.102:2380"
ETCD_INITAIL_CLUSER_START=new#192.168.234.102上配置
vim /etc/etcd/etcd.confETCD_NAME=etcd3
ETCD_DATA_DIR=/etc/etcd/dataETCD_CERT_FILE=/etc/etcd/pki/etcd_server.crt
ETCD_KEY_FILE=/etc/etcd/pki/etcd_server.key
ETCD_TRUSTED_CA_FILE=/etc/kubernetes/pki/ca.crt
ETCD_CLIENT_CERT_AUTH=true
ETCD_LISTEN_CLIENT_URLS=https://192.168.234.102:2379
ETCD_ADVERTISE_CLIENT_URLS=https://192.168.234.102:2379
ETCD_PEER_CERT_FILE=/etc/etcd/pki/etcd_server.crt
ETCD_PEER_KEY_FILE=/etc/etcd/pki/etcd_server.key
ETCD_PEER_TRUSTED_CA_FILE=/etc/kubernetes/pki/ca.crt
ETCD_LISTEN_PEER_URLS=https://192.168.234.102:2380
ETCD_INITAIL_ADVERTISE_PEER_URLS=https://192.168.234.102:2380ETCD_INITAIL_CLUSTER_TOKEN=etcd-cluster
ETCD_INITAIL_CLUSTER="etcd1=https://192.168.234.100:2380,etcd2=https://192.168.234.101:2380,etcd3=https://192.168.234.102:2380"
ETCD_INITAIL_CLUSER_START=new

4.启动服务,进行集群检测

systemctl restart etcd #三台服务器上均需执行#找一台执行皆可
etcdctl --cacert=/data/ssl/ca.crt --cert=/etc/etcd/pki/etcd_client.crt --key=/etc/etcd/pki/etcd_client.key --endpoints=https://192.168.234.100:2379,https://192.168.234.101:2379,https://192.168.234.102:2379 endpoint health#输出如下表示集群状态是健康
https://192.168.234.101:2379 is healthy: successfully committed proposal: took = 86.514806ms
https://192.168.234.100:2379 is healthy: successfully committed proposal: took = 86.969426ms
https://192.168.234.102:2379 is healthy: successfully committed proposal: took = 75.791531ms

etcd-集群部署,基于ssl认证的节点间通信,客户端基于ssl客户端证书访问。相关推荐

  1. 手动安装K8s第三节:etcd集群部署

    手动安装K8s第三节:etcd集群部署 准备安装包 https://github.com/coreos/etcd 版本:3.2.18 wget https://github.com/coreos/et ...

  2. etcd集群部署与遇到的坑(转)

    原文 https://www.cnblogs.com/breg/p/5728237.html etcd集群部署与遇到的坑 在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑.今天记录一 ...

  3. etcd集群部署与遇到的坑

    2019独角兽企业重金招聘Python工程师标准>>> etcd集群部署与遇到的坑 博客分类: 开源框架 etcd 在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑 ...

  4. etcd集群部署安装

    环境信息 主机名称 IP地址 操作系统 Etcd-1 172.31.6.163 Amazon Linux2 Etcd-2 172.31.11.115 Amazon Linux2 Etcd-3 172. ...

  5. mysql集群重启报错lock_CentOS7.2 下 MySQL 之 PXC 集群部署【Docker+单机多节点】

    背景 [注意]: 鄙人认为本篇适合做入门测试/学习之用,选择的 "单机多节点配置",后面再整理 "多机配置"文章. 近期正突击学习数据库知识 想着对 PXC 集 ...

  6. Elasticsearch——Windows下ES集群部署 Linux下ES单节点、集群部署

    1.开篇 在之前的两篇文章中,说白了就是在windows下部署的ES单节点的环境. 这篇文章主要是说一下windows下部署ES集群.Linux下单节点部署. 单台 Elasticsearch 服务器 ...

  7. ES7.8集群部署及CA认证

    完整步骤: 第一步:开启安全模式 打开ES配置文件 vim config/elasticsearch.yml #添加设置 xpack.security.enabled:true #非集群模式下启用单节 ...

  8. redis哨兵集群部署 docker单机模拟-六节点

    目录 如果有不懂得,私信我就行,十分欢迎交流 一.准备工作 二.拉取redis镜像 三.部署多个容器 四.脚本讲解 1.脚本循环 2.配置文件 3.创建docker容器 五.从节点加入主节点 一.加入 ...

  9. 【运维】K8S集群部署系列之ETCD集群搭建(四)

    ETCD集群扩容和缩容 本文将介绍生产环境下如何对ETCD集群进行扩容和缩容. 文章目录 ETCD集群扩容和缩容 新节点环境准备(node3) 下载安装包并初始化环境 网络准备 生成`node3`对等 ...

最新文章

  1. Windows下curl使用
  2. python2 float类型_Python学习笔记2:基本数据类型
  3. 伪命题:我们来谈谈校招生起薪的问题,它对你来说重要吗?
  4. STL之string类型
  5. 前端工程打开速度优化的循序渐进总结
  6. HIT Software Construction Review Notes(2-1 Software Lifecycle and Configuration Management)
  7. SQL vs NoSQL:异同比较
  8. 面试必问------索引详解
  9. 微信公众号在开发者模式下自定义菜单
  10. Debug: defusedxml, CV_LOAD_IMAGE_UNCHANGED,CV_IMWRITE_JPEG_QUALITY,undistortPoints
  11. 什么是MTTF,MTBF,MTRF
  12. python爬虫 - scrapy的安装和使用
  13. 《Filter Pruning using Hierarchical Group Sparse》ICPR2020论文详解
  14. 传奇列表上传登录器公告小窗口怎么修改
  15. windows10安装redis数据库,并设置开机自启动
  16. 4个字母的排列组合c语言,1,2,3,4四个数字有多少种排列组合,是怎样的
  17. Java 字符串与集合练习——词频统计
  18. 将(123)数字转换成大写数字(壹,贰,弎)
  19. 2021Java面经:java封装的概念
  20. Yep MKdocs编辑器

热门文章

  1. ajax获取api中json数据显示到网页【带有“-”横杠注意】
  2. Android 客户端 okhttp3 与服务器之间的双向验证
  3. 怎么成为一个优秀.net软件工程师
  4. 腾讯试水6点下班,行业加班文化哪有那么容易破除?
  5. 互联网那些名词~~~
  6. Objects365数据简介及数据转换为XML格式
  7. GM8775C 型 DSI 转双通道 LVDS 发送器
  8. 数据可视化 信息可视化_数据可视化极性
  9. 色氨酸代谢与肠内外健康稳态
  10. vue中使用Luckysheet实现Excel的导入、在线编辑、导出等功能