kubernetes 源码安装1.18.3 (2)部署etcd集群
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集群相关推荐
- 修改marathon源码后,如何编译,部署到集群中?
首先,marathon源码是由scala语言编写,由sbt进行项目构建的:与spark不同,spark是由maven进行项目构建: 方案一:使用intellij idea导入marathon源码[目前 ...
- Kubernetes(k8s)部署etcd集群
Kubernetes(k8s)部署etcd集群 目录 Kubernetes(k8s)部署etcd集群 一.实验环境 二.ETCD集群部署 2.1 master 节点部署 2.1.1 定义两个脚本文件 ...
- OpenFire源码学习之二十九:openfire集群配置
集群 Openfire的给集群提供了多种方案.一种是基于Hazelcast插件,还有基于Oracle的coherence插件. Oracle的coherence插件中文开发文档:http://down ...
- 源码分析Dubbo Invoker概述----服务发现、集群、负载均衡、路由体系
Invoker,负载网络调用组件,底层依懒与网络通信,Invoker主要负责服务调用,自然与路由(比如集群)等功能息息相关,本节先从整体上把控一下Dubbo服务调用体系,服务发现.集群.负载均衡.路由 ...
- NIFI源码学习-(五、3)NIFI集群的FlowFile负载均衡实现-FlowFile传递
上节说到,当负载均衡队列建立的时候,会在注册中心,进行登记.建立多个队列之后,注册中心会维护这样一个数据结构,并把相应的状态置为true: 这个注册中心是如何被使用的,我们在FlowControlle ...
- etcd集群部署安装
环境信息 主机名称 IP地址 操作系统 Etcd-1 172.31.6.163 Amazon Linux2 Etcd-2 172.31.11.115 Amazon Linux2 Etcd-3 172. ...
- mysql 5.7.18源码包下载_MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程
<MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程>要点: 本文介绍了MYSQL数据库CentOS6.9+Mysql5.7.18源码安装详细教程,希望对您有用.如 ...
- mysql-5.7.18-linux_MySQL5.7.18 for Linux7.2 源码安装详解
源码安装MySQL比较麻烦,需要安装依赖包,然后进行编译,时间较长,建议安装二进制的MySQL,时间比较快: 用到的软件包: mysql-5.7.18.tar.gz boost_1_59_0.tar. ...
- mysql 5.7.18 源码安装笔记
之所以贴出这样一篇笔记呢?主要是因为很久之前,源码安装MySQL的时候,碰到了太多太多的坎坷. 如果你有兴趣进行源码安装,那么请不要以这篇文章为标准,因为每个人的及其环境等其他因素还是差距比较大的. ...
- 【Guacamole中文文档】二、用户指南—— 2.Guacamole源码安装
Guacamole源码安装 Guacamole分为两部分:guacamole-server,提供Guacamole代理和相关库:以及guacamole-client,提供通过servlet容器(通常是 ...
最新文章
- C和C++安全编码笔记:整数安全
- 【C#学习笔记】退出程序
- Oracle-trigger触发器解读
- oracle system用户创建job 其他用户,oracle创建表空间、用户和表以及sys和system的区别...
- linux中memcpy实现分析,ARM64 的 memcpy 优化与实现
- 用ssh反向连接访问内网主机 ( 实例使用autossh隧道实现mysql的同步 )
- text对应java类型_【JavaWeb】79:JavaScript和Java的关系?
- 2017.6.4 problem b 失败总结
- 2020胡润慈善榜揭晓:许家印以28亿元捐赠额成为中国首善
- 用ASP.NET MVC自己管理自己的View:ASP.NET MVC File Management 【转】
- 利用openssl创建私有CA的步骤和过程
- 360全景拼接 opencv_广州海珠区专业改全景,丰田塞纳改3D全景,360全景行车记录仪的功能...
- mysql like 函数替换_MySql 替换like 查询
- 利用 FFT 模拟菲涅尔衍射积分
- PROFINET通信技术总结
- Alpha 事后诸葛亮(团队)
- 烧毁DC/DC电路问题
- Java实现 简体中文 与 阿拉伯数字 互转
- Jib构建镜像问题从定位到深入分析
- 阿里云域名转京东云服务器配置图