前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >etcd原理以及基本技术概述铺垫

etcd原理以及基本技术概述铺垫

作者头像
Devops海洋的渔夫
发布2019-06-02 14:06:02
9140
发布2019-06-02 14:06:02
举报
文章被收录于专栏:Devops专栏Devops专栏

前言

在部署kubernetes和calico网络的过程中,都需要有一个etcd数据库进行数据记录。这是部署的前置组件。

可以说部署etcd就是踏入使用kubernetes的第一步,那么下面就来了解一下什么是etcd?


etcd的介绍

etcd的官网

作为要了解etcd这个数据库,那么第一步就是要知道从哪里去访问官网,再下一步就是如何从官网中获取自己需要的文档资料

etcd官网的相关信息

etcd的特征

etcd官网特征描述


etcd的技术概述

etcd是基于什么语言编写,通过什么算法保证数据集群同步的呢?

代码语言:javascript
复制
etcd是用Go编写的,它具有出色的跨平台支持,小型二进制文件和背后的优秀社区。etcd机器之间的通信通过Raft一致性算法处理。

etcd的主从集群是怎么形式的呢,例如一主多从,还是多主多从呢?

代码语言:javascript
复制
在etcd的集群中会选举出一位leader,其他etcd服务节点就会成为follower,在此过程其他follower会同步leader的数据。
由于etcd集群必须能够选举出leader才能正常工作,所以部署的服务器数量必须是奇数,例如:
1,3,5,7,9 的etcd节点数量。

如果etcd的节点数量为偶数会怎么样?

代码语言:javascript
复制
如果etcd的节点数量为偶数,例如:2,4,6,8 那么每一个节点都会收到同样的选举票数,就好像我们在班里选举班长一样,同样票数两个人是没法出leader的,谁也不服谁。
那么这时候的结果当然就是etcd的集群无法工作了

那么如果etcd的节点数量为奇数,需要部署多少个节点最合适呢?

代码语言:javascript
复制
在考虑etcd读写效率以及稳定性的情况下,基本可以选型如下:
只有单台或者两台服务器做kubernetes的服务集群,只需要部署一台etcd节点即可;
只有三台或者四台服务器做kubernetes的服务集群,只需要部署三台etcd节点即可;
只有五台或者六台服务器做kubernetes的服务集群,只需要部署五台etcd节点即可;

那么按照上面的公式推导,不就是etcd的节点越多越好?

代码语言:javascript
复制
其实不是越多越好,基本三台和五台服务器作为etcd的节点已经比较稳定的了。

那么如果任性就是要服务器很多呢?会出现什么样的情况?

代码语言:javascript
复制
如果服务器的台数越多,就可能会出现网络抖动,延时、不稳定的情况,具体视机房网络情况;
如果服务器的台数越多,你就需要管理以及维护观察更多的服务器,在修复故障的时候需要注意更多的服务器数量;
另外,因为etcd的集群所有的follower都需要从leader同步完数据之后,leader才能继续写入新的数据,所以如果etcd的节点数量过多,则会导致同步的时间变长、导致leader的写入效率降低

综上所述,部署etcd集群采用1,3,5,7的台数部署是比较合理的了

下一篇章,我就开始演示单台etcd的部署以及ca证书的创建,在之后演示三台的etcd集群部署。

leader会将数据同步给每个follower

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 可以说部署etcd就是踏入使用kubernetes的第一步,那么下面就来了解一下什么是etcd?
  • etcd的介绍
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档