高性能 Kubernetes 元数据存储 KubeBrain 的设计思路和落地效果-许辰etcd | apiserwEF 中心化架构 随着规模增大存储系统成为瓶颈 所有组件通过 apisever 交互 etcd 存在性能问题 Summt etcd 人存在的问题 本 | KubeBrain 1 大脑 2谐音科比 Kobe Bryant 按照对象拆分 etcd 大纲 。 肖景介绍 “设计思路 性能优化 , 落地效果 ,未来演进 K8s 元信息存储的需求 (1) ~读 “单 Key 读,提供线性一致性 “ Range 扫描读,支持快照读,支持分页 Info K8s 元信息存储的需求 3) 所以 etcd 为目前 K8s 唯一支持的存储 Archsi人re 栈0 码力 | 60 页 | 8.02 MB | 2 年前3
第1930期:Kubernetes基础介绍如故障检测、自动扩展、滚动更新等。 Scheduler调度器(kube-scheduler):负责资源调度(Pod调度)的进程,相当于“调度室”。按照预定的调度策略将Pod调度到相应的机器上 etcd:集群的数据存储,他存储着集群中所有的资源对象。数据存储采用的是键值对存储。保存了整个集群的状态。 ## K8s基本概念和术语介绍(Node) 工作节点(Node/Worker): Node是 1.6 Pod 的组成与容器的关系 ## K8s基本概念和术语介绍(Pod) ## Pod : pod分两种:普通pod和静态pod(static pod) 普通pod:一旦被创建,会被放到etcd中存储,随后被k8s master调度到某个具体的node上并进行绑定,随后该pod被对应的node上的kubelet进程实例化成一组相关的docker容器并启动起来。默认情况下,当pod中的某个 容器停止时,K8s会自动检测到这个问题并重新启动这个pod(重启pod里面的所有容器),如果pod所在的node宕机,则会将这个node上的所有pod重新调度到其他节点上。 静态pod:不存储在etcd中,而是存放在某个具体的node上的一个具体文件中,并只在此node上启动运行。 每个pod可以设置限额,目前可以设置CPU和内存,cpu的单位为core的数量, 是一个绝对值而不是相对值。k0 码力 | 49 页 | 4.11 MB | 2 年前3
1.2 Go 在分布式系统开发中的应用zookeeper etcd how to use etcd like zookeeper :) ## zookeeper vs etcd 起因以及一些差异 not gonna cover every details ## zookeeper vs etcd 起因: reborndb是一个分布式redis集群框架 支持透明切换引擎 为了同时支持zookeeper和etcd ## zookeeper zookeeper vs etcd ## zookeeper: session etcd: stateless ## zookeeper vs etcd 文件和目录的差异 zookeeper: 目录可以带value etcd: 目录就是纯粹的目录 ## zookeeper vs etcd 临时节点 zookeeper: 直接创建 etcd: 自己去更新ttl, 用goroutine不断 去更新 产生新的事件 ## zookeeper vs etcd zookeeper: getwatch etcd: watch after index ? how to choose index? what if index is far from current raft index? out of date ## zookeeper vs etcd ## RebornDB的getwatch实现0 码力 | 20 页 | 131.34 KB | 2 年前3
CurveFS ChunkID持久化curvefs chunkid 持久化 ## 背景 1. 将原有的获取chunkid的方法从space迁入mds中,并持久化写入etcd中; 2. 只考虑单mds工作的情况; 3. chunkid全局递增。 ## 实现 1. proto/space.proto 中的 message AllocateS3ChunkRequest、message AllocateS3ChunkResponse chunkid Bundle (etcd 中记录的已使用 chunkID 增加一个 chunkID Bundle 的大小); 1. 申请失败 2. storeKey 不存在,从现在已使用的 ChunkID 继续申请新的 Bundle 1. 首次连接 etcd 2. etcd 环境切换 3. storeKey 被删除 4. 其他 3. storeKey 在 etcd 上的 Value 不可解码 不可解码 2. 返回一个新的chunkid ## 方案 class ChunkIDGenerator { client_; // etcd chunkIdStoreKey; // chunkid 存储在etcd上的 key nextId; // 下一个可分配的 chunkID lastId: // 当前chunkID bundle 内最后一个可分配的chunkID bundleSize;//0 码力 | 3 页 | 79.38 KB | 1 年前3
Curve元数据节点高可用Curve元数据节点高可用 • 1. 需求 • 2. 技术选型 • 3. etcd clientv3的concurrency介绍 • 3.1 etcd clientV3的concurrency模块构成 • 3.2 Campaign的流程 • 3.2.1 代码流程说明 • 3.2.2 举例说明Campagin流程 • 3.3 Observe的流程 4. MDS使用election模块的功能进行选主 Curve中MDS的选举过程 • 4.2 图示说明选举流程 4.2.1 正常流程 4.2.2 异常情况1:MDS1退出,可以正常处理 4.2.3 异常情况2:Etcd集群的leader发生重新选举,MDS1未受影响,可以正常处理 4.2.4 异常情况3:Etcd的leader发生重新选举,MDS1受到影响退出,不一定可以正常处理。 • 4.2.4.1 LeaseTime < ElectionTime 2.4.3 MDS1、MDS2、MDS3的租约全部过期 • 4.2.4.4 总结 4.2.5 异常情况四:Etcd集群与MDS1(当前leader)出现网络分区 4.2.5.1 事件一先发生 4.2.5.2 事件二先发生 4.2.6 异常情况4:Etcd集群的follower节点异常 4.2.7 各情况汇总 ### 1. 需求 mds是元数据节点,负责空间分配,集群0 码力 | 30 页 | 2.42 MB | 1 年前3
CIS 1.6 Benchmark - Self-Assessment Guide - Rancher v2.5.4Controls ### 1.1 Etcd Node Configuration Files 1.1.11 Ensure that the etcd data directory permissions are set to 700 or more restrictive (Automated) 10 1.1.12 Ensure that the etcd data directory ownership ownership is set to etcd:etcd (Automated) 10 1.1.19 Ensure that the Kubernetes PKI directory and file ownership is set to root:root (Automated) 11 1.1.20 Ensure that the Kubernetes PKI certificate (Automated) 19 1.1.7 Ensure that the etcd pod specification file permissions are set to 644 or more restrictive (Automated) 18 1.1.8 Ensure that the etcd pod specification file ownership is set to0 码力 | 132 页 | 1.12 MB | 2 年前3
CIS Benchmark Rancher Self-Assessment Guide - v2.4Files 6 1.2 API Server 14 1.3 Controller Manager 29 1.4 Scheduler 33 2 Etcd Node Configuration 34 2 Etcd Node Configuration Files 34 3 Control Plane Configuration 37 3.2 Logging 37 that the etcd pod specification file permissions are set to 644 or more restrictive (Scored) Result: Not Applicable Remediation: RKE doesn’t require or maintain a configuration file for etcd. All configuration 8 Ensure that the etcd pod specification file ownership is set to root:root (Scored) Result: Not Applicable Remediation: RKE doesn’t require or maintain a configuration file for etcd. All configuration0 码力 | 54 页 | 447.77 KB | 2 年前3
CIS 1.5 Benchmark - Self-Assessment Guide - Rancher v2.5Files 6 1.2 API Server 14 1.3 Controller Manager 29 1.4 Scheduler 33 2 Etcd Node Configuration 34 2 Etcd Node Configuration Files 34 3 Control Plane Configuration 37 3.2 Logging 37 that the etcd pod specification file permissions are set to 644 or more restrictive (Scored) Result: Not Applicable Remediation: RKE doesn’t require or maintain a configuration file for etcd. All configuration 8 Ensure that the etcd pod specification file ownership is set to root:root (Scored) Result: Not Applicable Remediation: RKE doesn’t require or maintain a configuration file for etcd. All configuration0 码力 | 54 页 | 447.97 KB | 2 年前3
Rancher CIS Kubernetes v.1.4.0 Benchmark Self
Assessment4.11 - Ensure that the etcd data directory permissions are set to 700 or more-restrictive (Scored) • 1.4.12 - Ensure that the etcd data directory ownership is set to etcd:etcd (Scored) • 2.1.8 - Ensure Ensure that the --etcd-certfile and --etcd-keyfile arguments are set as appropriate (Scored) Audit (---etcd-certfile) docker inspect kube-apiserver | jq -e '.[0].Args[] | match("--etcd-certfile=.*)' Value: --etcd-certfile=/etc/kubernetes/ssl/kube-node.pem Audit (---etcd-keyfile) docker inspect kube-apiserver | jq -e '.[0].Args[] | match("--etcd-keyfile=.*)'.str Returned Value: --etcd-key0 码力 | 47 页 | 302.56 KB | 2 年前3
Hardening Guide - Rancher v2.3.3+1.4.11 Ensure that the etcd data directory permissions are set to 700 or more restrictive ..... 4 1.4.12 - Ensure that the etcd data directory ownership is set to etcd:etcd ..... 4 2.1 - Rancher HA settings. 1.4.11 Ensure that the etcd data directory permissions are set to 700 or more restrictive ## Profile Applicability • Level 1 ## Description Ensure that the etcd data directory has permissions permissions of 700 or more restrictive. ## Rationale etcd is a highly-available key-value store used by Kubernetes deployments for persistent storage of all of its REST API objects. This data directory should0 码力 | 44 页 | 279.78 KB | 2 年前3
共 362 条
- 1
- 2
- 3
- 4
- 5
- 6
- 37
相关搜索词
KubeBrainetcd分片消息顺序水平扩展Kubernetes容器编排Master节点API Server分布式组件消息队列缓存ZookeeperEtcdCurveFS ChunkID持久化ChunkIDGenerator单mdsChunkID Bundle高可用选举机制异常情况lease过期CIS 1.6 BenchmarkRancher v2.5.4安全配置权限管理RancherCIS BenchmarkRBACPod Security PolicyRKEDockerRancher CIS KubernetesKubernetes安全基准审计命令Docker容器Kubernetes集群CIS基准审计日志身份验证













