首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏康怀帅的专栏

    CoreOS etcd3 集群实践

    本文内容基于 etcd3。 CoreOS 中的 etcd 是以 rkt 容器方式启动的。自带的 etcd2 命令已经过时,操作请使用 etcdctl。

    1.3K30发布于 2018-02-28
  • Apache ZooKeeper vs. etcd3

    etcd3 ab147-1vmabujczdkr4tgiezkkfag.png 我们将讨论最新版本的etcd(etcd v3),与之前的etcd v2相比,它有很大的变化。 API etcd3 提供了在分布式存储上执行的以下操作。这些操作大部分类似于 ZooKeeper 提供的操作,并没有因为底层数据结构的不同而有区别。 Put:将一个新的键值对存储。 etcd3 拥有一个滑动窗口来保留旧事件,以便断开连接不会导致所有事件丢失。 缺点 请注意,如果客户端超时或者客户端与 etcd 成员之间出现网络中断,客户端的运行状态可能不确定。 结论 我们讨论了 Apache ZooKeeper 和 etcd3 的主要特性和优缺点。 Introduction to etcd3 by CoreOS CTO Brandon Philips etcd3 API Apache Curator in 5 Minutes

    2.3K20发布于 2018-05-29
  • 来自专栏云计算与大数据

    openshift11 etcd3 数据查看

    https://medium.com/opsguru/securing-kubernetes-secrets-how-to-efficiently-secure-access-to-etcd-and-protect-your-secrets-b147791da768

    73210发布于 2020-04-07
  • 来自专栏腾讯云原生团队

    三年之久的 etcd3 数据不一致 bug 分析

    该问题从 2016 年引入,所有开启鉴权的 etcd3 集群都会受到影响,在特定场景下,会导致 etcd 集群多个节点之间的数据不一致,并且 etcd 对外表现还可以正常读写,日志无明显报错。 触发条件 使用的为 etcd3 集群,并且开启了鉴权。 etcd 集群中节点发生重启。

    4.4K84发布于 2020-05-06
  • 来自专栏实战docker

    jetcd实战之一:极速体验

    --election-timeout=1250' - '--initial-cluster=etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3 /store/etcd2/data:/etcd_data etcd3: image: "quay.io/coreos/etcd:v3.4.7" entrypoint: /usr/local =http://etcd3:2380' - '--listen-peer-urls=http://0.0.0.0:2380' - '--listen-client-urls=http ://0.0.0.0:2379' - '--advertise-client-urls=http://etcd3:2379' - '--initial-cluster-token /store/etcd3/data:/etcd_data 从上述脚本可见,宿主机的2379、2380、2381三个端口被用来映射三个etcd容器的2379端口; 执行命令docker-compose up

    82520编辑于 2021-12-07
  • 来自专栏公众号:程序员荒生

    还活在上个时代,Etcd 3.0 实现分布式锁竟如此简单!

    =http://etcd3:2380 - ETCD_INITIAL_CLUSTER_STATE=new volumes: - ${DOCKER_ROOT_DIR:-.} =http://etcd3:2380 - ETCD_INITIAL_CLUSTER_STATE=new volumes: - ${DOCKER_ROOT_DIR:-.} /volumes/etcd/data2:/bitnami/etcd etcd3: container_name: builder-etcd3 image: bitnami/etcd - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://etcd3:2380 - ETCD_LISTEN_PEER_URLS=http://0.0.0.0 =http://etcd3:2380 - ETCD_INITIAL_CLUSTER_STATE=new volumes: - ${DOCKER_ROOT_DIR:-.}

    1.8K40编辑于 2022-05-19
  • 来自专栏腾讯云容器运维

    使用python访问云原生etcd

    TES默认的版本都是3.x以上的,并且支持http和https的2种访问方式,因为是3.x以上版本,需要etcd3这个python模块,需要先下载这个模块 pip install etcd3 首先获取下 etcd的访问地址,如果是https的方式,需要获取证书 获取连接地址和ca证书和客户端证书以及客户端私钥,保存到本地文件 import etcd3 etcd = etcd3.client(host

    2.4K40编辑于 2022-04-14
  • 来自专栏Golang语言社区

    gRPC服务发现&负载均衡

    接下来以GO语言为例,简单介绍下基于Etcd3的关键代码实现: 1)命名解析实现:resolver.go package etcdv3 import ( "errors" "fmt" "strings" etcd3 "github.com/coreos/etcd/clientv3" "google.golang.org/grpc/naming" ) // resolver = nil { return nil, fmt.Errorf("grpclb: creat etcd3 client failed: %s", err.Error()) } = nil { return fmt.Errorf("grpclb: create etcd3 client failed: %v", err) } go func() 关闭Etcd3服务器,观察客户端与服务端通信是否正常? 关闭通信仍然正常,但新服务端不会注册进来,服务端掉线了也无法摘除掉。 重新启动Etcd3服务器,服务端上下线可自动恢复正常。

    3.2K20发布于 2018-07-26
  • 来自专栏python3

    python插件 docker buil

    本文主要以etcd3插件为示例。       要求:          python插件需要附属在自己的软件包程序中,以os.path.append的方式加载      实现步骤:      1、搜索找到etcd3的pthon插件          A)通过找pypi插件界面:https://pypi.org/project/etcd3/并下载最新软件包         B)  在pypi插件界面进入项目的homepage地址:https://github.com requirements.txt              关联插件:grpcio>=1.2.0  tenacity==4.10.0   protobuf==3.5.2.post1     2.1、搜索etcd3   File "/root/test/py_third/etcd3/etcdrpc/__init__.py", line 1, in <module>     from .rpc_pb2 import

    95620发布于 2020-01-10
  • 来自专栏实战docker

    jetcd实战之一:极速体验

    --election-timeout=1250' - '--initial-cluster=etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3 /store/etcd2/data:/etcd_data etcd3: image: "quay.io/coreos/etcd:v3.4.7" entrypoint: /usr/local =http://etcd3:2380' - '--listen-peer-urls=http://0.0.0.0:2380' - '--listen-client-urls=http ://0.0.0.0:2379' - '--advertise-client-urls=http://etcd3:2379' - '--initial-cluster-token /store/etcd3/data:/etcd_data 从上述脚本可见,宿主机的2379、2380、2381三个端口被用来映射三个etcd容器的2379端口; 执行命令docker-compose up

    1.5K00发布于 2021-09-23
  • 来自专栏木二天空

    003.etcd集群部署-静态发现

    关闭防火墙和SELinux 名称 地址 主机名 备注 etcd1 172.24.8.31 etcd1.example.com etcd2 172.24.8.32 etcd2.example.com etcd3 etcd-cluster-1 \ 7 --initial-cluster etcd1=http://172.24.8.31:2380,etcd2=http://172.24.8.32:2380,etcd3 etcd-cluster-1 \ 7 --initial-cluster etcd1=http://172.24.8.31:2380,etcd2=http://172.24.8.32:2380,etcd3 =http://172.24.8.33:2380 \ 8 --initial-cluster-state new 9 10 [root@etcd3 ~]# etcd --name etcd3 etcd-cluster-1 \ 16 --initial-cluster etcd1=http://172.24.8.31:2380,etcd2=http://172.24.8.32:2380,etcd3

    90420发布于 2019-07-26
  • 来自专栏公众号:程序员荒生

    入门篇:从 etcd 名字的由来,到安装部署和使用姿势

    =http://etcd3:2380 - ETCD_INITIAL_CLUSTER_STATE=new volumes: - ${DOCKER_ROOT_DIR:-.} =http://etcd3:2380 - ETCD_INITIAL_CLUSTER_STATE=new volumes: - ${DOCKER_ROOT_DIR:-.} /volumes/etcd/data2:/bitnami/etcd etcd3: container_name: builder-etcd3 image: bitnami/etcd - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://etcd3:2380 - ETCD_LISTEN_PEER_URLS=http://0.0.0.0 =http://etcd3:2380 - ETCD_INITIAL_CLUSTER_STATE=new volumes: - ${DOCKER_ROOT_DIR:-.}

    1.1K10编辑于 2022-07-14
  • 来自专栏全栈程序员必看

    springcloud seata_seata github

    = 100 queryLimit = 100 } } registry.conf registry { # file 、nacos 、eureka、redis、zk、consul、etcd3 "" password = "" } consul { cluster = "default" serverAddr = "127.0.0.1:8500" } etcd3 2181" sessionTimeout = 6000 connectTimeout = 2000 username = "" password = "" } etcd3 log { exceptionRate = 100 } } registry.conf registry { # file 、nacos 、eureka、redis、zk、consul、etcd3 "" password = "" } consul { cluster = "default" serverAddr = "127.0.0.1:8500" } etcd3

    44020编辑于 2022-09-24
  • 来自专栏后端开发随笔

    以二进制文件安装K8S之部署etcd高可用集群

    etcd-c1uster ETCD_INITIAL_CLUSTER="etcd1=https://192.168.3.135:2380,etcd2=https://192.168.3.136:2380,etcd3 etcd-c1uster ETCD_INITIAL_CLUSTER="etcd1=https://192.168.3.135:2380,etcd2=https://192.168.3.136:2380,etcd3 =https://192.168.3.137:2380" ETCD_INITIAL_CLUSTER_STATE=new # 节点3的配置 ETCD_NAME=etcd3 ETCD_DATA_DIR=/ etcd-c1uster ETCD_INITIAL_CLUSTER="etcd1=https://192.168.3.135:2380,etcd2=https://192.168.3.136:2380,etcd3 ETCD_NAME:etcd节点名称,每个节点都应不同,例如etcd1、etcd2、etcd3。 ETCD_DATA_DIR:etcd数据存储目录,例如/etc/etcd/data/etcd1。

    78610编辑于 2023-10-15
  • 来自专栏MoeLove

    K8S 生态周报| kube-scheduler 频繁抢占时内存泄漏问题得到修正

    (尚未合并) Share a single etcd3 client logger across all clients by negz · Pull Request #111477 · kubernetes 经过分析,发现这是由于未在实例化 etcd3 client 时候共享 logger,所以每个 etcd3 client 实例的时候,都会创建一个自己的 logger,从而导致占用了很多的资源。 在这个 PR 中是通过在创建 etcd3 client 的时候,传递已经创建好的 logger,让所有的 clients 共享,以此来减少资源的浪费。

    56730编辑于 2022-12-07
  • 来自专栏gang_luo

    SpringCloud Alibaba 实战教程11-seata容器化

    1、准备工作 创建如图文件夹 将registry.conf文佳放置在conf文件下 registry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa default" username = "nacos" password = "nacos" } } config { # file、nacos 、apollo、zk、consul、etcd3

    54410发布于 2021-02-04
  • 来自专栏神光的编程秘籍

    Node.js 微服务如何实现注册中心和配置中心

    我们在 node 里面链接下 etcd 服务: 使用 etcd 官方提供的 npm 包 etcd3: const { Etcd3 } = require('etcd3'); const client = new Etcd3({ hosts: 'http://localhost:2379', auth: { username: 'root', password 全部代码如下: const { Etcd3 } = require('etcd3'); const client = new Etcd3({ hosts: 'http://localhost:2379 在 node 里可以通过 etcd3 这个包来操作 etcd server。 稍微封装一下就可以实现配置管理和服务注册、发现的功能。

    92420编辑于 2023-08-29
  • 来自专栏TA码字

    K8s源码分析(12)-资源的数据访问层

    在数据访问层的设计上,也是秉承接口和实现的原则,定义接口功能,由相关的具体实现类(etcd3 实现)来实现功能。 cachedExistingObject runtime.Object) error Count(key string) (int64, error) } // k8s.io/apiserver/pkg/storage/etcd3 etcd3.store 结构体实现了上述定义的接口功能,在该结构体中的实现中封装了对象 clientv3.Client 用来完成对 etcd3 集群的访问和对象操作。 对于目前的 kubernetes 版本来说, 只支持 etcd3 的数据访问层。 对于 etcd2 或者其它类型存储的数据访问层是不支持的。

    86330编辑于 2021-12-07
  • 来自专栏实战docker

    java版gRPC实战之六:客户端动态获取服务端地址

    --election-timeout=1250' - '--initial-cluster=etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3 /store/etcd2/data:/etcd_data etcd3: image: "quay.io/coreos/etcd:v3.4.7" entrypoint: /usr/local =http://etcd3:2380' - '--listen-peer-urls=http://0.0.0.0:2380' - '--listen-client-urls=http ://0.0.0.0:2379' - '--advertise-client-urls=http://etcd3:2379' - '--initial-cluster-token /store/etcd3/data:/etcd_data 准备好上述文件后,执行docker-compose up -d即可创建集群; 将服务端应用的IP地址和端口写入etcd 我这边local-server

    1.1K20编辑于 2021-12-07
  • 来自专栏实战docker

    java版gRPC实战之六:客户端动态获取服务端地址

    --election-timeout=1250' - '--initial-cluster=etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3 /store/etcd2/data:/etcd_data etcd3: image: "quay.io/coreos/etcd:v3.4.7" entrypoint: /usr/local =http://etcd3:2380' - '--listen-peer-urls=http://0.0.0.0:2380' - '--listen-client-urls=http ://0.0.0.0:2379' - '--advertise-client-urls=http://etcd3:2379' - '--initial-cluster-token /store/etcd3/data:/etcd_data 准备好上述文件后,执行docker-compose up -d即可创建集群; 将服务端应用的IP地址和端口写入etcd 我这边local-server

    1.9K00发布于 2021-10-28
领券