k8s etcd 与持久化存储

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s etcd 与持久化存储相关的知识,希望对你有一定的参考价值。

参考技术A

1、是什么

2、etcd架构及工作原理

(1) 数据流程

一个用户的请求发送过来,会经过HTTP Server转发给store进行具体事务处理,如果涉及到节点的修改,则需要交给raft模块进行状态的变更,日志的记录,然后再同步给别的etcd节点确认数据提交,最后进行数据提交,再次同步

(2)工作原理

Etcd使用 Raft协议 来维护集群内各个节点状态的 一致性 。简单说,ETCD集群是一个分布式系统,由多个节点相互通信构成整体对外服务, 每个节点都存储了完整的数据 ,并且通过Raft协议保证每个节点维护的数据是一致的

(3) 主要组成部分

(4)etcd集群中的术语

3、k8s中的etcd

(1)etcd在k8s中的作用: etcd在kubernetes集群是用来存放数据并通知变动的

(2)为什么k8s选择etcd:

PV 目前支持的类型包括:gcePersistentDisk 、AWSElasticBlockStore 、AzureFile 、AzureDisk 、FC ( Fibre Channel ) 、Flocker、NFS 、iSCSI 、RBD (Rados Block Device )、CephFS 、Cinder、GlusterFS 、V sphere Volume 、Quobyte Volumes 、VMware Photon 、Portwonc
Volumes 、ScaleIO Volumes 和HostPath (仅供单机测试)。

如果某个Pod 想申请某种类型的PY ,则首先需要定义一个PersistentVolurneClaim ( PVC )对象,然后,在Pod 的Volume 定义中引用上述PVC 即可:

ETCD:文档

原文地址:Documentation

文档


etcd是一个分布式键值对存储,被设计为可靠的,快速的保存并提供对关键数据的访问。通过分布式锁,领导选举和写屏障使能分布式一致性。一个etcd集群旨在实现高可用和持久性数据存储与检索。

开始


使用etcd进行开发


一种简单的方式设置本地集群开始使用etcd作为分布式键值对存储

  • 设置本地集群 (done)
  • 与etcd进行交互 (done)
  • gRPC etcd核心etcd 并发API参考
  • HTTP JSON API 通过gRPC网关 (done)
  • gRPC命名和发现(done)
  • 客户端代理命名空间
  • 嵌入式etcd
  • 实验特性和APIs
  • 系统限制

操作etcd集群


对开发或者生产环境,管理员需要一个错误容忍etcd集群,从多机集群开始。

设置etcd

  • 配置标记
  • 多成员集群
  • gRPC代理
  • L4网关

系统配置

  • 支持的系统
  • 硬件配置建议
  • 性能基准测试
  • 调节

平台引导

  • 亚马逊Web服务
  • Linux容器,systemd
  • RessBSD
  • Docker容器
  • rkt容器

安全

  • TLS
  • 基于角色的访问控制

维护和故障排除

学习资料

以上是关于k8s etcd 与持久化存储的主要内容,如果未能解决你的问题,请参考以下文章

etcd API-V2

深入剖析k8s中的存储

k8s之存储

k8s学习-持久化存储(VolumeshostPathemptyDirPVPVC)详解与实战

k8s学习-持久化存储(VolumeshostPathemptyDirPVPVC)详解与实战

etcd配置支持SSL