kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点配置复用 ,我在这里没有做认证,如果有需要也可以做。

下载二进制文件

https://github.com/coreos/etcd/releases 页面下载最新版本的二进制文件

# wget https://github.com/etcd-io/etcd/releases/download/v3.2.24/etcd-v3.2.24-linux-amd64.tar.gz

# tar –xvf etcd-v3.2.24-linux-amd64.tar.gz

# mv etcd-v3.2.24-linux-amd64/* /usr/local/bin/

**********************************************************

这里也可以用yum方式安装

# yum install etcd –y
 
yum 安装的 Etcd 默认配置文件在 /etc/etcd/etcd.conf具体配置内容,以下*.*.*.*根据自己实际ip地址。
 
# 编辑配置文件 vim /etc/etcd/etcd.conf 
# 样例配置如下 
# 节点名称 ETCD_NAME=etcd0 
# 数据存放位置 ETCD_DATA_DIR="/var/lib/etcd/etcd0" 
# 监听其他 Etcd 实例的地址 ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380" 
# 监听客户端地址 ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001" 
# 通知其他 Etcd 实例地址 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://*.*.*.*:2380" 
# 初始化集群内节点地址 ETCD_INITIAL_CLUSTER="etcd0=http://*.*.*.*:2380,etcd1=http://*.*.*.*:2380,etcd2=http://*.*.*.*:2380" 
# 初始化集群状态,new 表示新建 ETCD_INITIAL_CLUSTER_STATE="new" 
# 初始化集群 token ETCD_INITIAL_CLUSTER_TOKEN="mritd-etcd-cluster" 
# 通知 客户端地址 ETCD_ADVERTISE_CLIENT_URLS="http://*.*.*.*:2379,http://*.*.*.*:4001"
 
************************************************************
 
在/usr/lib/systemd/system/目录下创建文件etcd.service,内容如下
 

[Unit]

Description=Etcd Server

After=network.target

After=network-online.target

Wants=network-online.target

Documentation=https://github.com/coreos

[Service]

Type=notify

WorkingDirectory=/var/lib/etcd/

EnvironmentFile=-/etc/etcd/etcd.conf

ExecStart=/usr/local/bin/etcd \
   --name ${ETCD_NAME} \
   --initial-advertise-peer-urls ${ETCD_INITIAL_ADVERTISE_PEER_URLS} \
   --listen-peer-urls ${ETCD_LISTEN_PEER_URLS} \
   --listen-client-urls ${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \
   --advertise-client-urls ${ETCD_ADVERTISE_CLIENT_URLS} \
   --initial-cluster-token ${ETCD_INITIAL_CLUSTER_TOKEN} \
   --initial-cluster etcd1=http://172.16.*.*:2380,etcd2=http://172.16.*.*:2380,etcd3=http://172.16.*.*:2380 \
   --initial-cluster-state new \
   --data-dir=${ETCD_DATA_DIR}

Restart=on-failure

RestartSec=5

LimitNOFILE=65536

[Install]

WantedBy=multi-user.target

环境变量配置文件/etc/etcd/etcd.conf

# [member]

ETCD_NAME=etcd1

ETCD_DATA_DIR="/var/lib/etcd"

ETCD_LISTEN_PEER_URLS=http://172.16.*.*:2380

ETCD_LISTEN_CLIENT_URLS=http://172.16.*.*:2379

#[cluster]

ETCD_INITIAL_ADVERTISE_PEER_URLS=http://172.16.*.*:2380

ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_ADVERTISE_CLIENT_URLS=http://172.16.*.*:2379

启动etcd集群(这里的启动先启动etcd2和etcd3,最后启动etcd1)

systemctl daemon-reload
systemctl enable etcd
systemctl start etcd
systemctl status etcd
 
验证etcd集群是否正常

etcdctl cluster-health

member 295f11ee2eb4860f is healthy: got healthy result from http://172.16.*.*:2379

member 52e09c7ccb0e79aa is healthy: got healthy result from http://172.16.*.*:2379

member 58804fbff8cfcce0 is healthy: got healthy result from http://172.16.*.*:2379

cluster is healthy

etcdctl member list

295f11ee2eb4860f: name=etcd3 peerURLs=http://172.16.*.*:2380 clientURLs=http://172.16.*.*:2379 isLeader=false

52e09c7ccb0e79aa: name=etcd1 peerURLs=http://172.16.*.*:2380 clientURLs=http://172.16.*.*:2379 isLeader=false

58804fbff8cfcce0: name=etcd2 peerURLs=http://172.16.*.*:2380 clientURLs=http://172.16.*.*:2379 isLeader=true

可以看到etcd集群正常在etcd2上运行,可以停止etcd2查看etcd是否跳到别的机器上,具体自己测试一下就不过多说明

二进制部署etcd集群的更多相关文章

  1. k8s1.13.0二进制部署-ETCD集群(一)

    Kubernetes集群中主要存在两种类型的节点:master.minion节点. Minion节点为运行 Docker容器的节点,负责和节点上运行的 Docker 进行交互,并且提供了代理功能.Ma ...

  2. 2、二进制安装K8s 之 部署ETCD集群

    二进制安装K8s 之 部署ETCD集群 一.下载安装cfssl,用于k8s证书签名 二进制包地址:https://pkg.cfssl.org/ 所需软件包: cfssl 1.6.0 cfssljson ...

  3. suse 12 二进制部署 Kubernetets 1.19.7 - 第02章 - 部署etcd集群

    文章目录 1.2.部署etcd集群 1.2.0.下载etcd二进制文件 1.2.1.创建etcd证书和私钥 1.2.2.生成etcd证书和私钥 1.2.3.配置etcd为systemctl管理 1.2 ...

  4. 二进制部署 Kubernetes 集群

    二进制部署 Kubernetes 集群   提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernet ...

  5. 二进制部署kubernetes集群(上篇)

    1.实验架构 1.1.硬件环境 准备5台2c/2g/50g虚拟机,使用10.4.7.0/24 网络 .//因后期要直接向k8s交付java服务,因此运算节点需要4c8g.不交付服务,全部2c2g足够. ...

  6. 部署etcd集群

    部署etcd集群 第一步:先拉取etcd二进制压缩包 wget https://github.com/coreos/etcd/releases/download/v3.3.2/etcd-v3.3.2- ...

  7. 二进制部署K8S-2集群部署

    二进制部署K8S-2集群部署 感谢老男孩教育王导的公开视频,文档整理自https://www.yuque.com/duduniao/k8s. 因为在后期运行容器需要有大量的物理硬件资源使用的环境是用的 ...

  8. 使用二进制文件部署Etcd集群

    Etcd 是一个分布式键值存储系统,Kubernetes使用Etcd进行数据存储,所以先准备一个Etcd数据库,为解决Etcd单点故障,应采用集群方式部署,这里使用3台组建集群,可容忍1台机器故障,当 ...

  9. 基于已有集群动态发现方式部署 Etcd 集群

    etcd提供了多种部署集群的方式,在「通过静态发现方式部署etcd集群」 一文中我们介绍了如何通过静态发现方式部署集群. 不过很多时候,你只知道你要搭建一个多大(包含多少节点)的集群,但是并不能事先知 ...

随机推荐

  1. css3 border-image及连续的图像边框

    border-image 它是下面几个值的简写: border-image-source // 使用绝对或相对地址url,引入图片 border-image-slice   //切割图片,取值支持:& ...

  2. php *-devel

    源码编译安装个php,缺少好多-devel的库. why devel? devel包至少包括头文件和链接库.如果你的要安装的源码依赖某个库,那肯定需要这两样东西. 让apache支持php 在编译ph ...

  3. 关于 “VMware Workstation 不可恢复错误- (vcpu-0)”

    重装系统后第一次在 VMware Workstation 上创建虚拟机,结果出现了 VMware Workstation 不可恢复错误: (vcpu-0) 错误. 于是我们遵循它给出的提示,查看一下日 ...

  4. 禁止IOS双击上滑

    var agent = navigator.userAgent.toLowerCase(); var iLastTouch = null; if (agent.indexOf("iphone ...

  5. HTML 5入门知识(四)

    表单的作用 表单不是表格,既不用来显示数据,也不用来布局网页.表单提供一个界面,一个入口,便于用户把数据提交给后台程序进行处理. 表单的数据传递方式method属性 表单的method属性用于指定在数 ...

  6. Fidder详解之get和post请求

    前言 本文会对Fidder这款工具的一些重要功能,进行详细讲解,带大家进入Fidder的世界,本文会让你明白,Fidder不仅是一个抓包分析工具,也是一个请求发送工具,更加可以当作为Mock Serv ...

  7. matlab练习程序(差异演化DE)

    这两天在看M.Tim Jones的<人工智能>,书中不只介绍原理,而且都有相应的c代码实现. 虽然代码不完全,不过缺少的部分完全可以自己补完. 差异演化和昨天实现的PSO很类似,都属于优化 ...

  8. 在 Windows Vista、Windows 7 和 Windows Server 2008 上设置 SharePoint 2010 开发环境

    适用范围: SharePoint Foundation 2010 | SharePoint Server 2010 本文内容 步骤 1:选择和预配置操作系统 步骤 2:安装 SharePoint 20 ...

  9. 【Leetcode】【Medium】Single Number II

    Given an array of integers, every element appears three times except for one. Find that single one. ...

  10. 【Leetcode】【Easy】Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...