etcd集群的搭建
由于最近在学习kubernetes,etcd作为kubernetes集群的主数据库,必须先启动。
| etcds实例名称 | IP地址 | Hostname |
|---|---|---|
| etcd 1 | 192.168.142.161 | kubernetes-node1.example.com |
| etcd 2 | 192.168.142.162 | kubernetes-node2.example.com |
| etcd 3 | 192.168.142.163 | kubernetes-node3.example.com |
从GitHub官网上下载etcd发布的二进制文件,etcd和etcdctl文件复制到/usr/bin目录。
- 设置systemd服务文件。
vim /usr/lib/systemd/system/etcd.service
内容如下:
[Unit]
Description=Etcd Server
After=network.target
[Service]
Type=simple
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf #配置文件路径
ExecStart=/usr/bin/etcd
Type=notify
[Install]
WantedBy=multi-user.target
- 编写/etc/etcd/etcd.conf文件
vim /etc/etcd/etcd.conf
# [member]
ETCD_NAME=etcd1 #etcd实例名称
ETCD_DATA_DIR="/var/lib/etcd" #etcd数据保存目录
ETCD_LISTEN_CLIENT_URLS="http://192.168.142.161:2379,http://127.0.0.1:2379"
#供外部客户端使用的url
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.142.161:2379,http://127.0.0.1:2379"
#广播给外部客户端使用的url
#[cluster]
ETCD_LISTEN_PEER_URLS="http://192.168.142.161:2380" #集群内部通信使用的URL
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.142.161:2380"
#广播给集群内其他成员访问的URL
ETCD_INITIAL_CLUSTER="etcd1=http://192.168.142.161:2380,etcd2=http://192.168.142.162:2380,etcd3=http://192.168.142.163:2380"
#初始集群成员列表
ETCD_INITIAL_CLUSTER_STATE="new"
#初始集群状态,new为新建集群
ETCD_INITIAL_CLUSTER_TOKEN="k8s-etcd-cluster" #集群的名称
启动etcd1服务器上的etcd服务。
systemctl restart etcd
etcd2和etcd3为加入k8s-etcd-cluster集群的实例,需要将其ETCD_INITIAL_CLUSTER_STATE设置为"exist"。etcd2的完整配置如下:
# [member]
ETCD_NAME=etcd2
ETCD_DATA_DIR="/var/lib/etcd"
ETCD_LISTEN_CLIENT_URLS="http://192.168.142.162:2379,http://127.0.0.1:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.142.162:2379,http://127.0.0.1:2379"
#[cluster]
ETCD_LISTEN_PEER_URLS="http://192.168.142.162:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.142.162:2380"
ETCD_INITIAL_CLUSTER="etcd1=http://192.168.142.161:2380,etcd2=http://192.168.142.162:2380,etcd3=http://192.168.142.163:2380"
ETCD_INITIAL_CLUSTER_STATE="exist"
ETCD_INITIAL_CLUSTER_TOKEN="k8s-etcd-cluster"
启动etcd2和etcd3服务器上的etcd服务。
systemctl restart etcd
启动完成后,在任意节点执行etcdctl cluster-healthy命令来查看运行状态。
使用etcdctl member list 来查看集群中的成员列表。
另外一种安装方法
etcd集群搭建
下载二进制软件包
https://github.com/coreos/etcd/releases
解压
将两个执行文件复制到/usr/bin/
etcd和etcdctl文件复制到/usr/bin目录
配置etcd-1
vi /etc/etcd/etcd.yml
name: etcd-1
data-dir: /var/lib/etcd
listen-client-urls: http://163.44.167.92:2379,http://127.0.0.1:2379
advertise-client-urls: http://163.44.167.92:2379,http://127.0.0.1:2379
listen-peer-urls: http://163.44.167.92:2380
initial-advertise-peer-urls: http://163.44.167.92:2380
initial-cluster: etcd-1=http://163.44.167.92:2380,etcd-2=http://150.95.148.52:2380,etcd-3=http://133.130.122.48:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new
配置etcd-2
vi /etc/etcd/etcd.yml
name: etcd-2
data-dir: /var/lib/etcd
listen-client-urls: http://150.95.148.52:2379,http://127.0.0.1:2379
advertise-client-urls: http://150.95.148.52:2379,http://127.0.0.1:2379
listen-peer-urls: http://150.95.148.52:2380
initial-advertise-peer-urls: http://150.95.148.52:2380
initial-cluster: etcd-1=http://163.44.167.92:2380,etcd-2=http://150.95.148.52:2380,etcd-3=http://133.130.122.48:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new
配置etcd-3
name: etcd-3
data-dir: /var/lib/etcd
listen-client-urls: http://133.130.122.48:2379,http://127.0.0.1:2379
advertise-client-urls: http://133.130.122.48:2379,http://127.0.0.1:2379
listen-peer-urls: http://133.130.122.48:2380
initial-advertise-peer-urls: http://133.130.122.48:2380
initial-cluster: etcd-1=http://163.44.167.92:2380,etcd-2=http://150.95.148.52:2380,etcd-3=http://133.130.122.48:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new
最后启动
etcd --config-file=/etc/etcd/etcd.yml &
查看成员
etcdctl member list
每个节点上执行查看健康状态
etcdctl cluster-health
etcd集群的搭建的更多相关文章
- Centos7环境下etcd集群的搭建
Centos7环境下etcd集群的搭建 一.简介 "A highly-available key value store for shared configuration and servi ...
- k8s集群搭建之二:etcd集群的搭建
一 介绍 Etcd是一个高可用的 Key/Value 存储系统,主要用于分享配置和服务发现. 简单:支持 curl 方式的用户 API (HTTP+JSON) 安全:可选 SSL 客户端证书认证 快速 ...
- Docker 搭建 etcd 集群
阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...
- etcdv3 集群的搭建和使用
etcd是一个开源的分布式键值对数据库,他的每一个节点都有一份数据的copy,当有节点故障时保证了高可用性.etcd使用Raft算法来保证一致性. 第一次接触etcd是在学习k8s时.k8s用etcd ...
- 彻底搞懂 etcd 系列文章(三):etcd 集群运维部署
0 专辑概述 etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管.etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件 ...
- Centos7下Etcd集群搭建
一.简介 "A highly-available key value store for shared configuration and service discovery." ...
- Docker下ETCD集群搭建
搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好Docker. Master 10.100.97.46 Node 10.100.97.64 ETCD集群搭建有三种方式,分别是Sta ...
- [Kubernetes]CentOS7下Etcd集群搭建
Etcd简要介绍 Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息 Etcd构建自身高可用集群主要有三种形式: ①静态发现: 预先已知 Etcd 集 ...
- 【转】centos7 搭建etcd集群
转自http://www.cnblogs.com/zhenyuyaodidiao/p/6237019.html 一.简介 “A highly-available key value store for ...
随机推荐
- OpenCV 学习笔记 07 支持向量机SVM(flag)
1 SVM 基本概念 本章节主要从文字层面来概括性理解 SVM. 支持向量机(support vector machine,简SVM)是二类分类模型. 在机器学习中,它在分类与回归分析中分析数据的监督 ...
- 【JAVA面试】java面试题整理(4)
版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/83473779 ...
- VBA二次学习笔记(2)——两个Excel表内容比较
说明(2018-9-3 22:38:58): 1. 就是之前问同事要来的作业,有两个格式一样的Excel文件,一个是正确答案,一个是员工作答的.通过代码将两个文件进行比对,把不同之处列出来. 正文: ...
- iOS开发下载文件速度计算
当我们写下载界面的时候,需要向用户展示每秒下载多少KB,这个时候就需要计算速度.如下: 我用的是AFNetworking来做下载的,我们拿AFHTTPRequestOperation来举列,AFHTT ...
- 详解Zookeeper原理与应用场景
Zookeeper 分布式协调服务 应用之处:发布.订阅,命名服务,分布式协调和分布式锁 对比 Chubby: Chubby 被定义为 分布式的锁服务 为分布式系统提供 松耦合.粗粒度 的分布式锁功能 ...
- Deepin 系统下安装VMware并激活
1.打开深度商店:搜索VMware,并下载安装. 2.打开启动器:点击VMware-install. 3.填写管理员密码. 4.下一步,完成安装. 5.打开VMware Workstation,输入密 ...
- Python3集合
集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典. 创建格 ...
- Linux连接redis客户端出现Could not connect to Redis at 127.0.0.1:6379: Connection refused
打开两个窗口,一个执行 命令,另外一个窗口执行
- php -- 类对象调用静态方法
以前一直以为 静态方法的调用:类名::静态方法 非静态方法的调用:类对象->非静态方法 最近研究一个类,发现一个比较奇怪的问题,用“类对象->静态方法”这种方式居然成功的调用了静态方法.很 ...
- browser-sync events.js:85 throw er; // Unhandled 'error' event
browser-sync运行的时候提示如下错误,这个是因为browser-sync 配置的端口被占用的原因. events.js:85 throw er; // Unhandled 'error' e ...