前一篇文章介绍了如何yum安装简单的kubernetes集群,其中etcd是单点部署。本篇我们来搭建etcd集群,方便日后搭建kubernetes HA集群架构。

1,环境配置说明

  etcd1  192.168.20.71

  etcd2  192.168.20.72

  etcd3  192.168.20.73

2,etcd版本

[root@master1 ~]# etcdctl --version
etcdctl version: 3.2.22
API version: 2

3,开始安装

  etcd每台安装步骤都一样,所以etcd2、etcd3都以etcd1步骤一样

  安装只需一条命令即可:

  yum -y install etcd

4,查看并修改etcd配置文件

 1 #修配etcd配置文件
 2 [root@master1 ~]# ls /etc/etcd/
 3 etcd.conf  etcd.conf.back
 4 [root@master1 ~]# grep -v '^#' /etc/etcd/etcd.conf
 5 ETCD_NAME=etcd1
 6
 7 ETCD_DATA_DIR="/var/lib/etcd/etcd1"
 8
 9 ETCD_LISTEN_PEER_URLS="http://192.168.20.71:2380"
10
11 ETCD_LISTEN_CLIENT_URLS="http://127.0.0.1:2379,http://192.168.20.71:2379"
12
13 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.20.71:2380"
14
15 ETCD_INITIAL_CLUSTER="etcd1=http://192.168.20.71:2380,etcd2=http://192.168.20.72:2380,etcd3=http://192.168.20.73:2380"
16
17 ETCD_INITIAL_CLUSTER_STATE="new"
18
19 ETCD_INITIAL_CLUSTER_TOKEN="etcd-test"
20
21 ETCD_ADVERTISE_CLIENT_URLS="http://192.168.20.71:2379"

5,启动etcd服务

 1 #etcd启动配置文件为:
 2 [root@master1 ~]# cat /usr/lib/systemd/system/etcd.service
 3 [Unit]
 4 Description=Etcd Server
 5 After=network.target
 6 After=network-online.target
 7 Wants=network-online.target
 8
 9 [Service]
10 Type=notify
11 WorkingDirectory=/var/lib/etcd/
12 EnvironmentFile=-/etc/etcd/etcd.conf
13 User=etcd
14 # set GOMAXPROCS to number of processors
15 ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" \
16                     --listen-peer-urls=\"${ETCD_LISTEN_PEER_URLS}\" \
17                     --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\" \
18                     --advertise-client-urls=\"${ETCD_ADVERTISE_CLIENT_URLS}\" \
19                     --initial-cluster-token=\"${ETCD_INITIAL_CLUSTER_TOKEN}\" \
20                     --initial-cluster=\"${ETCD_INITIAL_CLUSTER}\" \
21                     --initial-cluster-state=\"${ETCD_INITIAL_CLUSTER_STATE}\""
22 Restart=on-failure
23 LimitNOFILE=65536
24
25 [Install]
26 WantedBy=multi-user.target
27
28 #启动etcd服务
29 systemctl start etcd
30 #查看启动状态
31 systemctl status etcd

6,etcd2、etcd3配置文件

 1 #etcd2配置文件
 2 [root@master2 ~]# cat /etc/etcd/etcd.conf
 3 ETCD_NAME=etcd2
 4
 5 ETCD_DATA_DIR="/var/lib/etcd/etcd2"
 6
 7 ETCD_LISTEN_PEER_URLS="http://192.168.20.72:2380"
 8
 9 ETCD_LISTEN_CLIENT_URLS="http://127.0.0.1:2379,http://192.168.20.72:2379"
10
11 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.20.72:2380"
12
13 ETCD_INITIAL_CLUSTER="etcd1=http://192.168.20.71:2380,etcd2=http://192.168.20.72:2380,etcd3=http://192.168.20.73:2380"
14
15 ETCD_INITIAL_CLUSTER_STATE="new"
16
17 ETCD_INITIAL_CLUSTER_TOKEN="etcd-test"
18
19 ETCD_ADVERTISE_CLIENT_URLS="http://192.168.20.72:2379"
20
21
22 #etcd3 配置文件
23 [root@master ~]# cat /etc/etcd/etcd.conf
24 ETCD_NAME=etcd3
25
26 ETCD_DATA_DIR="/var/lib/etcd/etcd3"
27
28 ETCD_LISTEN_PEER_URLS="http://192.168.20.73:2380"
29
30 ETCD_LISTEN_CLIENT_URLS="http://127.0.0.1:2379,http://192.168.20.73:2379"
31
32 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.20.73:2380"
33
34 ETCD_INITIAL_CLUSTER="etcd1=http://192.168.20.71:2380,etcd2=http://192.168.20.72:2380,etcd3=http://192.168.20.73:2380"
35
36 ETCD_INITIAL_CLUSTER_STATE="new"
37
38 ETCD_INITIAL_CLUSTER_TOKEN="etcd-test"
39
40 ETCD_ADVERTISE_CLIENT_URLS="http://192.168.20.73:2379"
41
42 #分别启动etcd2、etcd3服务
43 #查看cluster状态
44 [root@master1 ~]# etcdctl cluster-health
45 member 85b5f1a0537e385d is healthy: got healthy result from http://192.168.20.71:2379
46 member 9f304c9e0feb949d is healthy: got healthy result from http://192.168.20.72:2379
47 member ec71f609370df393 is healthy: got healthy result from http://192.168.20.73:2379
48 cluster is healthy
49
50 #列出etcd服务状态
51 [root@master1 ~]# etcdctl member list
52 85b5f1a0537e385d: name=etcd1 peerURLs=http://192.168.20.71:2380 clientURLs=http://192.168.20.71:2379 isLeader=false
53 9f304c9e0feb949d: name=etcd2 peerURLs=http://192.168.20.72:2380 clientURLs=http://192.168.20.72:2379 isLeader=false
54 ec71f609370df393: name=etcd3 peerURLs=http://192.168.20.73:2380 clientURLs=http://192.168.20.73:2379 isLeader=true
55
56 #从列出信息可以看出,目前是etcd3为主节点。
57 #查看etcd服务启动日志,可通过 tail -f /var/log/message 动态查看

7,至此,etcd集群已配置完成。接下来可以对kubernetes集群apiserver配置文件进行修改,使其指向etcd集群

 1 #修改master节点,apiserver配置文件
 2 [root@master ~]# cat /etc/kubernetes/apiserver
 3 ###
 4 ## kubernetes system config
 5 KUBE_API_ADDRESS="--address=0.0.0.0"
 6 KUBE_API_PORT="--port=8080"
 7 KUBELET_PORT="--kubelet-port=10250"
 8 KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.20.71:2379,http://192.168.20.72:2379,http://192.168.20.73:2379"
 9 KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
10 KUBE_API_ARGS="--service_account_key_file=/etc/kubernetes/serviceaccount.key"
11 KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"
12 KUBE_API_ARGS=""
13
14 #k8s集群做任何调整后,都需要重启服务
15 #重启master各组件,可连起来写
16 systemctl restart kube-apiserver kube-controller-manager kube-scheduler
17 #重启node1、node2各组件
18 systemctl restart kubelet kube-proxy
19
20 #再次在master节点查看etcd、node集群状态
21 #测试,可关闭一台etcd服务,创建一个pod,无异常
22 #通过测试可以得出,etcd集群至少需要2个etcd节点才可以正常工作。

8,如何创建pod,参加下一篇文章。

转载于:https://www.cnblogs.com/fuhai0815/p/9699656.html

yum安装etcd集群相关推荐

  1. yum安装k8s集群(单master两个node、阿里云镜像源)

    yum安装k8s集群(单master节点方式) 一.环境准备 1.系统要求 按量付费阿里云主机三台 要求:centos7.6~7.8:以下为 https://kuboard.cn/install/in ...

  2. CentOS 7.5 使用 yum 安装 Kubernetes 集群(二)

    一.安装方式介绍 1.yum 安装 目前CentOS官方已经把Kubernetes源放入到自己的默认 extras 仓库里面,使用 yum 安装,好处是简单,坏处也很明显,需要官方更新 yum 源才能 ...

  3. k8s之二进制安装etcd集群

    前言 kubeadm安装的集群,默认etcd是一个单机的容器化的etcd,并且k8s和etcd通信没有经过ssl加密和认证,这点是需要改造的. 所以首先我们需要先部署一个三节点的etcd集群,二进制部 ...

  4. 使用docker方式安装etcd集群,带TLS证书

    网上文档也多,安装的时候,还是踩了几个坑. 现在作一个安装记录吧. 1,先作自签名的证书ca-csr.json(为了和k8s共用根证书,可能将信息调为k8s). {"CN": &q ...

  5. ETCD教程(一) 通过docker安装etcd集群

    相关阅读: etcd教程(零)---etcd使用过程中遇到的问题 - etcd教程(二)---clientv3简单使用 - etcd教程(三)---etcd之v3API简单分析 - 本文主要记录了如何 ...

  6. etcd集群搭建(高可用)

    一.etcd介绍: ETCD 是一个高可用的分布式键值数据库,可用于服务发现.ETCD 采用 raft 一致性算法,基于 Go 语言实现.etcd作为一个高可用键值存储系统,天生就是为集群化而设计的. ...

  7. 用Kubernetes搭建Etcd集群和WebUI

    今天用这篇文章带大家在自己的电脑上搭建一个Kubernetes Etcd集群,Kubernetes本身的功能就依赖Etcd实现,不过并不会开放给我们的程序使用,所以需要自己单独搭建. Etcd现在是分 ...

  8. k8s 安装_二进制安装k8s集群总结

    在之前文章里我们以学习为目的介绍了k8s集群的手动二进制安装,包括: ssl证书制作. docker的安装. 网络通讯组件flannel的安装. K8s基础组件的安装(etcd,master组件api ...

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

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

最新文章

  1. 零基础入门学习Python,我与python的第一次亲密接触后的感受!
  2. openstack 同一网络 多个subnet
  3. Satwe楼板能用弹性模计算吗_现浇楼板淋水后却出现裂缝,还好老师傅有经验,多是这3点造成的...
  4. 华为底部虚拟导航栏挡住布局
  5. 简化Java中的异常处理
  6. Spring Boot学习总结(6)——SpringBoot解决ajax跨域请求问题的配置
  7. win10计算机管理字体糊,win10字体发虚模糊正确解决方法(5个方法)
  8. 肝完Alibaba这份面试通关宝典,我成功拿下今年第15个Offer
  9. Java好还是网优好,java和seo哪个好
  10. html5分辨率异常自动检测
  11. Appdata中local是文件,系统盘下的文件目录
  12. MD5 SHA1 SHA256 SHA512 SHA1WithRSA RSA 的区别
  13. 扩展欧几里得算法 求解 丢番图方程
  14. 一元函数积分学之1__不定积分
  15. 人称小HomeKit的智汀,如何连接天猫精灵音箱?
  16. IPv6连接测试通过,但是无法ping成功问题解决(记录)
  17. 室内定位技术(三)——自有定位技术
  18. ETF操作实战记录:2022-2-21
  19. 同志们,免费版的Ant Design Pro Vue3 来啦
  20. 海绵蛋糕——来至于完美戚风的化身

热门文章

  1. 从U盘无人值守安装linux操作系统
  2. 在FC7上安装xmms
  3. Spring+SpringMVC+Mybatics配置文件解析
  4. Node.js可能是最适合写简易小爬虫的语言,速度极快、代码极少
  5. Python代码运行不够流畅?看大神如何多角度优化!
  6. 《数据科学:R语言实现》——2.7 爬取网络数据
  7. SQL Server中遍历表中记录的方法
  8. CentOS下添加新硬盘并分区格式化
  9. 2012-09-10 23:30 如何解决HtmlAgilityPack得到的InnerText中有残留的script、样式的问题...
  10. Zend Studio添加ThinkPHP代码提示方法