首页 > 其他分享 >Kubernetes ETCD

Kubernetes ETCD

时间:2024-03-11 16:24:08浏览次数:20  
标签:服务 ETCD Kubernetes 集群 etcd 分布式系统 分布式

简述ETCD及其特点

etcd是一个分布式的、高可用的、一致的key-value存储数据库,基于Go语言实现,主要用于共享配置和服务发现。特点:

1)完全复制:集群中的每个节点都可以使用完整的存档;

2)高可用性:Etcd可用于避免硬件的单点故障或网络问题;

3)一致性:每次读取都会返回跨多主机的最新写入;

4)简单:包括一个定义良好、面向用户的API(gRPC);

5)安全:实现了带有可选的客户端证书身份验证的自动化TLS;

6)快速:每秒10000次写入的基准速度;

7)可靠:使用Raft算法实现了强一致、高可用的服务存储目录;

简述ETCD适应的场景

1)服务发现:服务发现要解决的也是分布式系统中最常见的问题之一,即在同一个分布式集群中的进程或服务,要如何才能找到对方并建立连接。本质上来说,服务发现就是想要了解集群中是否有进程在监听udp或tcp端口,并且通过名字就可以查找和连接。

2)消息发布与订阅:在分布式系统中,最实用对的一种组件间的通信方式:消息发布与订阅。构建一个配置共享中心,数据提供者在这个配置中心发布消息,而消息使用者订阅他们关心的主题,一旦主题有消息发布,就会实时通知订阅者。达成集中式管理与动态更新。应用中用到的一些配置信息放到etcd上进行集中管理。

3)负载均衡:分布式系统中,为了保证服务的高可用以及数据的一致性,通常都会把数据和服务部署多份,以此达到对等服务,即使其中的某一个服务失效了,也不影响使用。etcd本身分布式架构存储的信息访问支持负载均衡。

4)分布式通知与协调:通过注册与异步通知机制,实现分布式环境下不同系统之间的通知与协调,从而对数据变更做到实时处理。

5)分布式锁:因为etcd使用Raft算法保持了数据的强一致性,某次操作存储到集群中的值必然是全局一致的,所以很容易实现分布式锁。锁服务有两种使用方式,一是保持独占,二是控制时序。

6)分布式队列:分布式队列的常规用法与场景五中所描述的分布式锁的控制时序用法类似,即创建一个先进先出的队列,保证顺序。

7)集群监控与Leader精选:通过etcd来进行监控实现起来非常简单并且实时性强;

标签:服务,ETCD,Kubernetes,集群,etcd,分布式系统,分布式
From: https://www.cnblogs.com/peteremperor/p/18066403

相关文章

  • kubernetes快速入门之K3S
    kubernetes简介Kubernetes是一个开源的容器编排引擎和容器集群管理工具,用来对容器化应用进行自动化部署、扩缩和管理。Kubernetes这个名字源于希腊语,意为“舵手”或“飞行员”。k8s这个缩写是因为k和s之间有8个字符。Google在2014年开源了Kubernetes项目。优势......
  • Kubernetes Service
    标签及标签选择器是什么,如何使用标签是键值对类型,标签可以附加到任何资源对象上,主要用于管理对象,查询和筛选。标签常被用于标签选择器的匹配度检查,从而完成资源筛选;一个资源可以定义一个或多个标签在其上面。标签选择器,标签要与标签选择器结合在一起,标签选择器允许我们选择标记......
  • Kubernetes Replica Sets 和 Kubernetes Replica Controller的区别
    ReplicaSet(RS)是ReplicationController(RC)的升级版本。ReplicaSet和 ReplicationController之间的唯一区别是对选择器的支持。ReplicaSet支持labelsuserguide中描述的set-based选择器要求, 而ReplicationController仅支持equality-based的选择器要求。标签选择器用来选择包......
  • kubernetes支持swap了,但是cgroup v2
    kubernetes支持swap了,但是cgroupv2结论:Container-OptimizedOS(从M97开始)、Ubuntu(从21.10开始,推荐22.04+)、DebianGNU/Linux(从Debian11Bullseye开始)、Fedora(从31开始)、ArchLinux(从2021年4月开始)、RHEL和类似RHEL的发行版(从9开始)支持使用swap但是要配置......
  • K3s - 轻量级 Kubernetes
    一、k3s介绍1.1、什么是k3s中文网站:http://docs.rancher.cn/docs/k3s/quick-start/_index/k3s是经过CNCF认证的由Rancher公司开发维护的一个轻量级的Kubernetes发行版,内核机制还是和k8s一样,但是剔除了很多外部依赖以及K8s的alpha、beta特性,同时改变了部署方式和运行方......
  • Kubernetes 证书过期问题的处理方法
    问题现象出现KubernetesAPI无法调取的现象,使用kubectl命令获取资源均返回如下报错.Unabletoconnecttotheserver:x509:certificatehasexpiredorisnotyetvalid经网上搜索之后发现。应该是Kubernetes集群的证书过期了,使用命令排查证书的过期时间.#kubea......
  • etcd 数据库的备份和恢复
    在K8s中,很多etcd服务都是以容器的方式运行,比如使用rancher和kubeadm部署管理的容器等。由于kubeadm部署的etcd没有etcdctl命令,需要下载etcd二进制包。通过在宿主机上使用etcdctl操作容器中的etcd。1、etcdctl安装#wgethttps://github.com/etcd-io/etcd/releases/downl......
  • 极狐GitLab Runner Kubernetes(k8s)配置
    GitLab是一个全球知名的一体化DevOps平台,很多人都通过私有化部署GitLab来进行源代码托管。极狐GitLab是GitLab在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。资料Kubernetes高级配置添加额外主机别名Pod的DNS配置极狐GitLabRunner......
  • kubernetes可视化管理工具KubePi体验简介
    kubernetes可视化管理工具KubePi体验简介原创 zhuhb 运维笔谈 2024-03-0111:55 上海 听全文推荐一个飞致云开源的kubernetes可视化面板KubePi,Github地址https://github.com/1Panel-dev/KubePiKubePi可以导入多个Kubernetes集群,并且通过权限控制,将不同cluster......
  • 使用go写的etcd转发
    背景:因为公司中的机器比较老。我们的云上监控规定,使用的token的方式来监控,所以无法监控我们的etcd集群,我这里提供的一个etcd数据转发功能,能让监控到etcd集群packagemainimport( "crypto/tls" "crypto/x509" "fmt" "io" "net/http" "os" "sync" "......