K8S etcd集群部署

一、etcd简介

etcd是一个开源的(高可用)的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。
etcd是一个服务发现系统,具备以下的特点:
  简单:安装配置简单,而且提供了HTTP API进行交互,使用也很简单
  安全:支持SSL证书验证
  快速:根据官方提供的benchmark数据,单实例支持每秒2k+读操作
  可靠:采用raft算法,实现分布式系统数据的可用性和一致性

 二、etcd在k8s中的作用

Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息。
整个kubernetes系统中一共有两个服务需要用到etcd用来协同和存储配置,分别是:
  1、网络插件flannel、对于其它网络插件也需要用到etcd存储网络的配置信息
  2、kubernetes本身,包括各种对象的状态和元信息配置

三、etcd安装

etcd在生产环境中一般推荐集群方式部署。

集群的节点个数和容错:官方推荐的集群个数为奇数个,如图当节点为3个和为4个时的容错都是1, 节点5个和6个时,容错为2...

 集群的节点越多,容错性会越强,但是数据的同步份数也会越多,写性能会变差一些。合理的集群大小,就是平衡容错性和可写性。

因为etcd是go语言编写的,安装只需要下载对应的二进制文件,并放到合适的路径就行。

准备三台服务器  

服务器信息
10.192.27.100
etcd1
10.192.27.115
etcd2
10.192.27.115
etcd3
防火墙设置
#停止firewall服务 systemctl stop firewalld.service
#禁止firewall开机启动 systemctl disable firewalld.service

关闭selinux
#修改配置文件 vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
#使配置立即生效 setenforce 0 

猜你喜欢

转载自www.cnblogs.com/linux985/p/11812512.html