K8S etcd集群部署

ⅰ亾dé卋堺 提交于 2019-12-04 00:03:29

一、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语言编写的,安装只需要下载对应的二进制文件,并放到合适的路径就行。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!