ETCD部署(二)DNS发现
摘要:ETCD真的折腾了很久 正文 大多数人都知道的两种部署方式: 一、静态部署(比较常用而且稳定,不过需要写的参数有点多) 二、动态发现(这个相对参数少一些,看着挺高大上,用过之后就知道了都一样。其中一种适用于Kubernetes集群部署,就是DNS那种) 动态发现其实细分能分为三种实际就是两种,因为动
阅读全文
posted @
2021-05-24 23:49
K&
阅读(156)
推荐(0) 编辑
ETCD DNS发现部署ETCD集群之DNS SRV注意事项(用DNS部署必看)
摘要:DNS SRV的注意事项 从v3.1.0(v3.2.9除外)开始,发现SRV将使用--discovery-srv标志进行身份验证。通过要求证书在其“使用者备用名称”(SAN/HOST)字段中具有匹配的根域名,可以避免中间人证书攻击。例如,etcd --discovery-srv=etcd.local
阅读全文
posted @
2021-05-24 23:46
K&
阅读(219)
推荐(0) 编辑
ETCD集群瘫痪保障数据恢复集群(3.4有用以上只到强制恢复单节点数据即可,其他按照常规操作就可以恢复集群)
摘要:模拟故障 Node IP State etcd-1 172.21.130.169 True etcd-2 172.21.130.168 Flase etcd-3 172.28.17.85 Flase 主动停止其他两个节点 [root@master2 ~]# systemctl stop etcd [
阅读全文
posted @
2021-05-21 17:15
K&
阅读(1182)
推荐(0) 编辑
ETCD小故障处理积累集合
摘要:丢失数据文件故障处理: etcdctl ${ep} endpoint health status {"level":"warn","ts":"2021-05-20T13:58:58.712+0800","caller":"clientv3/retry_interceptor.go:62","msg"
阅读全文
posted @
2021-05-20 14:27
K&
阅读(8375)
推荐(0) 编辑
ETCD更新集群成员信息
摘要:这个操作常用于自动发现建立集群,然后在起来之后需要修改数据信息使用 [root@master1 ~]# etcdctl member list --endpoints="https://172.21.130.169:2379,https://172.21.130.168:2379,https://1
阅读全文
posted @
2021-05-18 17:03
K&
阅读(197)
推荐(0) 编辑
ETCD添加删除集群成员过程
摘要:ETCD添加删除集群成员过程 ETCD_INITIAL_CLUSTER_STATE="new/existing" 有两个值new和existing。如果填为existing,则该member启动时会尝试与其他member交互。 集群初次建立时,要填为new,通过测试发现最后一个节点填existing
阅读全文
posted @
2021-05-18 16:25
K&
阅读(2496)
推荐(0) 编辑
ETCD部署(一)静态部署
摘要:ETCD(基于TLS部署)外部集群 wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 wget https://pkg.cfssl.org/R
阅读全文
posted @
2021-05-17 18:38
K&
阅读(463)
推荐(0) 编辑
ETCD总结
摘要:硬件选择 CPU 通常2到4核就可以平稳运行,如果上千个客户端请求成千上万就8到16核 内存 etcd的内存占用相对较小,但是其性能仍然取决于是否有足够的内存。etcd服务器将积极地缓存键值数据,并花费其其余大部分内存跟踪监视程序。通常8G如果观察者上千(就是watch API跟踪key变化)负载重
阅读全文
posted @
2021-05-13 15:24
K&
阅读(339)
推荐(0) 编辑
ETCD实现
摘要:逻辑时钟概念 Logic Clock Lamport Timestamp 简单说就是为了记录事件发生的因果导向,物理时钟在分布式系统因为机器的时间精度总会有偏差不可能完全精确所以诞生一种记录事件发生顺序的逻辑,这个不是时间而是一种函数用数字表示顺序 每一台机器内部都有一个时间戳(Timestamp)
阅读全文
posted @
2021-05-12 22:53
K&
阅读(236)
推荐(0) 编辑
ETCD维护
摘要:概述 etcd 集群需要定期维护来保持可靠。基于etcd 应用的需要,这个维护通常可以自动执行,不需要停机或者显着的降低性能。 所有 etcd 的维护是指管理被 etcd 键空间消耗的存储资源。通过存储空间的配额来控制键空间大小;如果 etcd 成员运行空间不足,将触发集群级警告,这将使得系统进入有
阅读全文
posted @
2021-05-11 18:17
K&
阅读(881)
推荐(0) 编辑
ETCD监控
摘要:监控etcd 每个etcd服务器都/metrics在其客户端端口路径下导出指标。 可以通过以下方式获取指标curl: 本文为了安全用了证书所以 curl https://172.21.130.169:2379/metrics --cacert /var/local/etcd/ssl/ca.pem -
阅读全文
posted @
2021-05-11 18:14
K&
阅读(855)
推荐(0) 编辑
ETCD灾难恢复
摘要:灾难恢复 etcd 被设计为能承受机器失败。etcd 集群自动从临时失败(例如,机器重启)中恢复,而且对于一个有 N 个成员的集群能容许 (N-1)/2 的持续失败。当一个成员持续失败时,不管是因为硬件失败或者磁盘损坏,它丢失到集群的访问。如果集群持续丢失超过 (N-1)/2 的成员,则它只能悲惨的
阅读全文
posted @
2021-05-11 18:11
K&
阅读(401)
推荐(0) 编辑
ETCD异常状态
摘要:异常状态 在机器的大量部署中失败是很常见的。当硬件或者软件故障时单台机器失败。当电力故障或者网络问题时多台机器一起失败。多种失败也可能一起发生;几乎不可能列举出所有可能的失败场景。 在这节中,我们分类失败的种类并讨论 etcd 是如何设计来容忍这些失败的。大部分用户,不是所有,可以映射一个特别的失败
阅读全文
posted @
2021-05-11 18:08
K&
阅读(839)
推荐(0) 编辑
ETCD常见问题
摘要:常见问题解答(FAQ) etcd,一般客户是否必须向etcd负责人发送请求? raft是基于领导者的;领导者处理所有需要集群共识的客户请求。但是,客户端不需要知道哪个节点是领导者。发送给关注者的任何需要共识的请求都将自动转发给领导者。不需要共识(例如,序列化读取)的请求可以由任何集群成员处理。(简单
阅读全文
posted @
2021-05-11 18:06
K&
阅读(713)
推荐(0) 编辑
ETCD基于角色的访问控制
摘要:基于角色的访问控制 概述 身份验证是在etcd 2.1中添加的。etcd v3 API略微修改了身份验证功能的API和用户界面,以更好地适应新的数据模型。本指南旨在帮助用户在etcd v3中设置基本身份验证和基于角色的访问控制。 特殊用户和角色 有一个特殊用户,root和一个特殊角色root。 用户
阅读全文
posted @
2021-05-11 18:04
K&
阅读(121)
推荐(0) 编辑
ETCD安全模式
摘要:安全模式 etcd 支持自动 TLS 以及通过客户端证书的身份验证, 包括客户端到服务器以及对等(服务器到服务器/集群)的通信。 要开始运行,首先要为成员设置 CA 证书和已签名的密钥对。建议为集群中的每个成员创建并签署一个新的密钥对。 为方便起见,cfssl工具为证书生成提供了简单的界面,我们使用
阅读全文
posted @
2021-05-11 17:58
K&
阅读(73)
推荐(0) 编辑
ETCD调优
摘要:调优 etcd中的默认设置对于在平均网络等待时间很短的本地网络上的安装应该可以很好地工作。但是,当在多个数据中心或具有高延迟的网络上使用etcd时,心跳间隔和选举超时设置可能需要调整。 网络不是延迟的唯一来源。引导者和跟随者上的慢速磁盘可能会影响每个请求和响应。这些超时中的每一个代表从另一台机器请求
阅读全文
posted @
2021-05-11 17:47
K&
阅读(572)
推荐(0) 编辑
ETCD硬件推荐
摘要:官方资料 https://etcd.io/docs/v3.5/op-guide/hardware/ 硬件建议 待定 etcd通常在用于开发或测试目的的资源有限的情况下运行良好;通常在笔记本电脑或廉价的云计算机上使用etcd进行开发。但是,在生产环境中运行etcd集群时,一些硬件准则对于正确管理很有用
阅读全文
posted @
2021-05-11 17:42
K&
阅读(855)
推荐(0) 编辑
ETCD配置
摘要:配置标记 etcd 可以通过命令行标记和环境变量来配置。命令行上设置的选项优先于环境变量。与其他软件一样命令行优先级普遍高与其他设置方式 对于标记 --my-flag 环境变量的格式是 ETCD_MY_FLAG。 适用于所有标记(可以对照理解例如--name那么环境变量就是ETCD_NAME)。 正
阅读全文
posted @
2021-05-11 17:41
K&
阅读(849)
推荐(0) 编辑
ETCD运维相关
摘要:搭建 etcd 集群 概述 启动 etcd 集群要求每个成员知道集群中的其他成员。在一些场景中,集群成员的 IP 地址可能无法提前知道。在这种情况下,etcd 集群可以在发现服务的帮助下启动。 一旦 etcd 集群启动并运行,可以通过 运行时重配置 来添加或者移除成员。 这份指南将覆盖下列用于启动
阅读全文
posted @
2021-05-11 17:24
K&
阅读(722)
推荐(0) 编辑
ETCD软件概述
摘要:为什么叫etcd “etcd”这个名字源于两个想法,即 unix “/etc” 文件夹和分布式系统”d”istibuted。 “/etc” 文件夹为单个系统存储配置数据的地方,而 etcd 存储大规模分布式系统的配置信息。因此,”d”istibuted 的 “/etc” ,是为 “etcd”。 et
阅读全文
posted @
2021-05-11 16:37
K&
阅读(346)
推荐(0) 编辑
Kubernetes之网络简介
摘要:Kubernetes集群里网络,其实有两个作用。 第一、网络配置(让你能互相访问) 第二、网络策略(同一/两个不同命名空间之间通信,或者同一/不同命名空间内pod间通信)通过iptables实现 CNI(Container Network Interface): Flannel:只支持网络配置(纯粹
阅读全文
posted @
2021-05-09 16:08
K&
阅读(110)
推荐(0) 编辑
Kubernetes高可用部署之Kubeadm(一)
摘要:本文简介 外面所说的Kubernetes都没有点出高可用什么,扫荡官网最后也只得来一个为防止master单点故障需要高可用部署。而真正的主要部分却被一语带过,只点出需要负载均衡把Api-Server暴露给工作节点。但是,并没有说名过程怎么处理,而这挖了一个坑让你填。 这部分的负载均衡可不是Servi
阅读全文
posted @
2021-05-09 15:54
K&
阅读(775)
推荐(0) 编辑
Kubernetes之使用小问题处理
摘要:一、证书超时问题 kubeadm部署集群证书是有期限的,可以用这个命令查看。解决办法后续补上 kubeadm alpha certs check-expiration 二、Kubernetes cp 失败原因: 其实容器外的文件到容器内有两种方式 1、挂载 2、CP !!!Important Not
阅读全文
posted @
2021-05-09 10:50
K&
阅读(983)
推荐(0) 编辑
Kubernetes高可用集群搭建方式
摘要:第一种 对叠拓扑也是Kubeadm中的默认拓扑 堆叠(Stacked) HA 集群是一种这样的拓扑,其中 etcd 分布式数据存储集群堆叠在 kubeadm 管理的控制平面节点上,作为控制平面的一个组件运行。 每个控制平面节点运行 kube-apiserver,kube-scheduler 和 ku
阅读全文
posted @
2021-05-08 16:23
K&
阅读(139)
推荐(0) 编辑
HELM语法
摘要:模板函数 {{ quote .values.drink }} == {{ .values.drink | quote }} quote字符加双引号 upper大写 repeat [number]重复几次 default 变量不存在用默认值替换 title 首字母大写 b64enc 转化为base64
阅读全文
posted @
2021-05-02 18:05
K&
阅读(2607)
推荐(0) 编辑
HELM基础简介
摘要:什么是Helm 简单来说就是Kubernetes的包管理工具,类似于Centos的yum或Ubuntu的apt。不过他管理的是Kubernetes的yaml文件 组件(2.0与3.0) 在2.0的时候区分为客户端与服务端 客户端: 本地chart的编写 仓库的管理 与服务端Tiller交互 发送ch
阅读全文
posted @
2021-05-02 14:53
K&
阅读(1590)
推荐(1) 编辑