1. 拉取etcd二进制包

#下载地址
https://github.com/etcd-io/etcd/releases/download/v3.4.9/etcd-v3.4.9-linux-amd64.tar.gz#安装部署
mkdir /opt/etcd/{bin,cfg,ssl} -p#将刚才生成的证书添加到ssl目录下
cp ~/TLS/etcd/ca*pem ~/TLS/etcd/server*pem /opt/etcd/ssl/#解压安装
tar zxvf etcd-v3.4.9-linux-amd64.tar.gz
mv etcd-v3.4.9-linux-amd64/{etcd,etcdctl} /opt/etcd/bin/

2. 添加etcd主配置文件

#注意修改etcdip地址
cat > /opt/etcd/cfg/etcd.conf << EOF
#[Member]
ETCD_NAME="etcd-1"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://192.168.1.20:2380"
ETCD_LISTEN_CLIENT_URLS="https://192.168.1.20:2379"#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.1.20:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://192.168.1.20:2379"ETCD_INITIAL_CLUSTER="etcd-1=https://192.168.1.20:2380,etcd-2=https://192.168.1.21:2380,etcd-3=https://192.168.1.22:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
EOF

参数说明

ETCD_NAME                  #节点名称,集群中唯一
ETCD_DATA_DIR:                  #数据目录
ETCD_LISTEN_PEER_URLS           #集群通信监听地址
ETCD_LISTEN_CLIENT_URLS         #客户端访问监听地址
ETCD_INITIAL_ADVERTISE_PEER_URLS#集群通告地址
ETCD_ADVERTISE_CLIENT_URLS    #客户端通告地址
ETCD_INITIAL_CLUSTER          #集群节点地址
ETCD_INITIAL_CLUSTER_TOKEN   #集群 Token
ETCD_INITIAL_CLUSTER_STATE    #加入集群的当前状态,new 是新集群,existing 表示加入已有集群

3. 添加到systemd管理

cat > /usr/lib/systemd/system/etcd.service << EOF
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target[Service]
Type=notify
EnvironmentFile=/opt/etcd/cfg/etcd.conf
ExecStart=/opt/etcd/bin/etcd \
--cert-file=/opt/etcd/ssl/server.pem \
--key-file=/opt/etcd/ssl/server-key.pem \
--peer-cert-file=/opt/etcd/ssl/server.pem \
--peer-key-file=/opt/etcd/ssl/server-key.pem \
--trusted-ca-file=/opt/etcd/ssl/ca.pem \
--peer-trusted-ca-file=/opt/etcd/ssl/ca.pem \
--logger=zap
Restart=on-failure
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
EOF

4.推送etcd到其他节点(21/22)

#拷贝etcd目录
scp -r /opt/etcd/ root@192.168.1.21:/opt/
#拷贝服务文件
scp /usr/lib/systemd/system/etcd.service root@192.168.1.21:/usr/lib/systemd/system/#拷贝etcd目录
scp -r /opt/etcd/ root@192.168.1.22:/opt/
#拷贝服务文件
scp /usr/lib/systemd/system/etcd.service root@192.168.1.22:/usr/lib/systemd/system/

5. 修改node节点etcd

192.168.1.21节点

vi /opt/etcd/cfg/etcd.confETCD_NAME="etcd-2"    #这里对应下面etcd-initial-cluster的名称ETCD_LISTEN_PEER_URLS="https://192.168.1.21:2380"
ETCD_LISTEN_CLIENT_URLS="https://192.168.1.21:2379"#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.1.21:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://192.168.1.21:2379"
#上面4个都改为当前主机的ip地址ETCD_INITIAL_CLUSTER="etcd-1=https://192.168.1.20:2380,etcd-2=https://192.168.1.21:2380,etcd-3=https://192.168.1.22:2380"

192.168.1.22节点

vi /opt/etcd/cfg/etcd.confETCD_NAME="etcd-3"    #这里对应下面etcd-initial-cluster的名称ETCD_LISTEN_PEER_URLS="https://192.168.1.22:2380"
ETCD_LISTEN_CLIENT_URLS="https://192.168.1.22:2379"#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.1.22:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://192.168.1.22:2379"
#上面4个都改为当前主机的ip地址ETCD_INITIAL_CLUSTER="etcd-1=https://192.168.1.20:2380,etcd-2=https://192.168.1.21:2380,etcd-3=https://192.168.1.22:2380"

6. 启动etcd

#第一个启动会卡住,等待其他节点的etcd启动组成集群,最好3个一起启动
systemctl daemon-reload
systemctl start etcd
systemctl enable etcd

7. 查看etcd集群状态

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --cacert=/opt/etcd/ssl/ca.pem --cert=/opt/etcd/ssl/server.pem  --key=/opt/etcd/ssl/server-key.pem --endpoints="https://192.168.1.20:2379,https://192.168.1.21:2379,https://192.168.1.22:2379" endpoint health

返回

#返回如下信息表示集群正常
https://192.168.1.22:2379 is healthy: successfully committed proposal: took = 13.078301ms
https://192.168.1.20:2379 is healthy: successfully committed proposal: took = 12.365877ms
https://192.168.1.21:2379 is healthy: successfully committed proposal: took = 13.40646ms

kubernetes 源码安装1.18.3 (2)部署etcd集群相关推荐

  1. 修改marathon源码后,如何编译,部署到集群中?

    首先,marathon源码是由scala语言编写,由sbt进行项目构建的:与spark不同,spark是由maven进行项目构建: 方案一:使用intellij idea导入marathon源码[目前 ...

  2. Kubernetes(k8s)部署etcd集群

    Kubernetes(k8s)部署etcd集群 目录 Kubernetes(k8s)部署etcd集群 一.实验环境 二.ETCD集群部署 2.1 master 节点部署 2.1.1 定义两个脚本文件 ...

  3. OpenFire源码学习之二十九:openfire集群配置

    集群 Openfire的给集群提供了多种方案.一种是基于Hazelcast插件,还有基于Oracle的coherence插件. Oracle的coherence插件中文开发文档:http://down ...

  4. 源码分析Dubbo Invoker概述----服务发现、集群、负载均衡、路由体系

    Invoker,负载网络调用组件,底层依懒与网络通信,Invoker主要负责服务调用,自然与路由(比如集群)等功能息息相关,本节先从整体上把控一下Dubbo服务调用体系,服务发现.集群.负载均衡.路由 ...

  5. NIFI源码学习-(五、3)NIFI集群的FlowFile负载均衡实现-FlowFile传递

    上节说到,当负载均衡队列建立的时候,会在注册中心,进行登记.建立多个队列之后,注册中心会维护这样一个数据结构,并把相应的状态置为true: 这个注册中心是如何被使用的,我们在FlowControlle ...

  6. etcd集群部署安装

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

  7. mysql 5.7.18源码包下载_MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程

    <MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程>要点: 本文介绍了MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程,希望对您有用.如 ...

  8. mysql-5.7.18-linux_MySQL5.7.18 for Linux7.2 源码安装详解

    源码安装MySQL比较麻烦,需要安装依赖包,然后进行编译,时间较长,建议安装二进制的MySQL,时间比较快: 用到的软件包: mysql-5.7.18.tar.gz boost_1_59_0.tar. ...

  9. mysql 5.7.18 源码安装笔记

    之所以贴出这样一篇笔记呢?主要是因为很久之前,源码安装MySQL的时候,碰到了太多太多的坎坷. 如果你有兴趣进行源码安装,那么请不要以这篇文章为标准,因为每个人的及其环境等其他因素还是差距比较大的. ...

  10. 【Guacamole中文文档】二、用户指南—— 2.Guacamole源码安装

    Guacamole源码安装 Guacamole分为两部分:guacamole-server,提供Guacamole代理和相关库:以及guacamole-client,提供通过servlet容器(通常是 ...

最新文章

  1. C和C++安全编码笔记:整数安全
  2. 【C#学习笔记】退出程序
  3. Oracle-trigger触发器解读
  4. oracle system用户创建job 其他用户,oracle创建表空间、用户和表以及sys和system的区别...
  5. linux中memcpy实现分析,ARM64 的 memcpy 优化与实现
  6. 用ssh反向连接访问内网主机 ( 实例使用autossh隧道实现mysql的同步 )
  7. text对应java类型_【JavaWeb】79:JavaScript和Java的关系?
  8. 2017.6.4 problem b 失败总结
  9. 2020胡润慈善榜揭晓:许家印以28亿元捐赠额成为中国首善
  10. 用ASP.NET MVC自己管理自己的View:ASP.NET MVC File Management 【转】
  11. 利用openssl创建私有CA的步骤和过程
  12. 360全景拼接 opencv_广州海珠区专业改全景,丰田塞纳改3D全景,360全景行车记录仪的功能...
  13. mysql like 函数替换_MySql 替换like 查询
  14. 利用 FFT 模拟菲涅尔衍射积分
  15. PROFINET通信技术总结
  16. Alpha 事后诸葛亮(团队)
  17. 烧毁DC/DC电路问题
  18. Java实现 简体中文 与 阿拉伯数字 互转
  19. Jib构建镜像问题从定位到深入分析
  20. 阿里云域名转京东云服务器配置图

热门文章

  1. 数组基础与字符串(尚学堂视频学习总结_004)
  2. Apache Ignite(一):简介以及和Coherence、Gemfire、Redis等的比较
  3. springboot启动banner图片
  4. 俄勒冈之旅_欢迎美好的一天俄勒冈观众-消灭糖尿病2007
  5. 可能是讲分布式系统最到位的一篇文章
  6. kafka接口操作topic
  7. android学习和广告平台赚钱
  8. 计算机科学感言,计算机专业学生毕业感言
  9. 传智播客风清扬视频-------IO简述之字符流常用实现类
  10. ZooKeeper官方Java例子解读