python-etcd】的更多相关文章

两台机器: 一台机器安装gitlab: http://www.cnblogs.com/cjsblogs/p/8716932.html 另一台机器安装etcd+docker+jenkins jenkins-docker: https://www.cnblogs.com/cjsblogs/p/8717602.html 防火墙端口启动; firewall-cmd --zone=public --add-port=2379/tcp --permanent firewall-cmd --zone=publ…
一.概述 线上有一套k8s集群,部署了很多应用.现在需要对一些基础服务做一些常规检测,比如: 系统时间,要求:k8s的每一个节点的时间,差值上下不超过2秒 k8s版本,要求:k8s的每一个节点的版本必须一致 redis集群,要求:1. 查看cluster nodes状态 2. AOF状态 etcd,要求:访问etcd的api,能获取到版本信息, 说明etcd服务正常 mysql,要求:获取mysql运行统计时间,能获取说明mysql服务正常 ceph,要求:使用ceph osd tree命令查看…
来源:naughty 链接:my.oschina.net/taogang/blog/410864 笔者之前的博文提到过,随着大数据时代的到来,分布式是解决大数据问题的一个主要手段,随着越来越多的分布式的服务,如何在分布式的系统中对这些服务做协调变成了一个很棘手的问题.今天我们就来看看如何使用Python,利用开源对分布式服务做协调. 在对分布式的应用做协调的时候,主要会碰到以下的应用场景: 业务发现(service discovery) 找到分布式系统中存在那些可用的服务和节点 名字服务 (na…
import sys import etcd client = etcd.Client( host='127.0.0.1', port=2379, allow_reconnect=True) client.delete('/nodes/', recursive=True, dir=True) client.write('/nodes/n1', 1) print 'node n1 value is %s' % client.read('/nodes/n1').value try: client.w…
etcd api接口 基本操作api: https://github.com/coreos/etcd/blob/6acb3d67fbe131b3b2d5d010e00ec80182be4628/Documentation/v2/api.md 集群配置api: https://github.com/coreos/etcd/blob/6acb3d67fbe131b3b2d5d010e00ec80182be4628/Documentation/v2/members_api.md 鉴权认证api: ht…
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架.使用 Django,我们在几分钟之内就可以创建高品质.易维护.数据库驱动的应用程序. Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美... info:更多OpenERP信息url:https://www.oschina.net/p/o…
基于docker+etcd+confd + haproxy构建高可用.自发现的web服务 2016-05-16 15:12 595人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 各个工具介绍 (1)docker:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化,docker是集群世界中的“进程”.通过docker我们可以非常方便的管理服务以及服务之间的依赖…
环境 CentOS 6/7 x64 Python:2 .7.6 Etcd: 3.2.18 Confd:0 .16.0 Nginx: 1.12.1 效果演示 一,拓扑图: 二.涉及软件 ETD: .分布式KV存储系统,一般用于共享配置和服务注册与发现是ETOS存储格式类似于文件系统,以根“/”开始下面一级级目录,最后一个是重点,一个关键对应一个值. ETCD 集群:使用筏协议保证每个节点数据一致,由多个节点对外提供服务这里只用单台. confd:管理本地应用配置文件,使用etcd或consul存储…
saltstack自动化运维系列11基于etcd的saltstack的自动化扩容 自动化运维-基于etcd加saltstack的自动化扩容# tar -xf etcd-v2.2.1-linux-amd64.tar.gz # cd etcd-v2.2.1-linux-amd64# cp etcd etcdctl /usr/local/bin/查看版本# etcd --version # mkdir -p /data/etcd后台运行进程# nohup etcd --name auto_scale…
一 环境准备 1.1 基础环境 ntp配置:略 #建议配置ntp服务,保证时间一致性 etcd版本:v3.3.9 防火墙及SELinux:关闭防火墙和SELinux 名称 地址 主机名 备注 etcd1 172.24.8.71 etcd1.example.com 用于保存相关IP信息 docker01 172.24.8.72 docker01.example.com   docker02 172.24.8.73 docker02.example.com   # hostnamectl set-h…
一.需求 我们使用Nginx做七层负载均衡,后端是Tomcat.项目采用灰度发布方式,每次项目升级,都要手动先从Nginx下摘掉一组,然后再升级这组,当项目快速迭代时,手动做这些操作显然会增加部署时间,于是就想通过脚本实现自动化管理Nginx配置文件. 当时考虑自己写Shell脚本对Nginx配置文件操作,需要用到sed流编辑器,sed本身没有条件判断语句,并不能灵活判断配置文件中要添加/删除位置,因此会增加配置错误风险. 在查资料无意间发现confd能自动管理配置文件,通过模板渲染生成配置文件…
1. etcd安装 rpm -ivh etcd-3.2.15-1.el7.x86_64.rpm systemctl daemon-reload systemctl enable etcd systemctl start etcd export ETCDCTL_API=3 systemctl status etcd hosts如下 192.168.0.100 etcd01 192.168.0.101 etcd02 192.168.0.102 etcd03 2. etcd配置 etcd02配置如下,…
一.基础介绍 ========================================================================================== 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansi…
Etcd CoreOS公司开源的高可用分布式键值数据库Etcd,该项目已经被广泛应用到分布式系统的一致性实现和服务发现中,基于Go语言实现. Etcd就是专门为集群环境设计,可以很好地实现数据一致性,提供集群节点状态管理和服务自动发现等(类似ZooKeeper). Etcd在进行设计的时候重点考虑了下面四个要素: 简单:支持REST风格的HTTP+JSON API: 安全:支持HTTPS方式的访问: 快速:支持并发每秒一千次的写操作: 可靠:支持分布式结构,基于Raft 通常情况下,用户使用Et…
作者:Eagle 某船舶行业科技公司,运维工程师,51Reboot学员.通过在51Reboot学习,由运维工程师转至运维开发工程师.完成公司自动化平台的构建,对运维开发有了自己的理解,空闲时间写了这么一个小的项目来和大家分享一下. 环境 CentOS 6/7 x64 Python:  2.7.6 Etcd: 3.2.18 Confd:  0.16.0 Nginx: 1.12.1 效果演示 一拓扑图: 二涉及软件 etd:分布式KV存储系统,一般用于共享配置和服务注册与发现.是ETOS存储格式类似…
各个工具介绍 (1)Docker:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化,docker是集群世界中的“进程”.通过docker我们可以非常方便的管理服务以及服务之间的依赖. (2)etcd:是一个高可用的集中配置管理和协作平台,功能和zookeeper很相似,两者的优劣势比较可以参考网上相关文档.分布式系统相关的配置信息可以集中的存储在etcd中统一管理. (3)confd:一个轻量…
1. Etcd Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息.在后面具体的安装环境中,我们安装的etcd的版本是v3.1.5,整个kubernetes系统中一共有两个服务需要用到etcd用来协同和存储配置,分别是: 网络插件flannel.对于其它网络插件也需要用到etcd存储网络的配置信息 kubernetes本身,包括各种对象的状态和元信息配置 注意:flannel操作etcd使用的是v2的API,而kubernetes操作etcd使用…
部署web服务集群时,我们希望能动态调整集群大小.当一个新的节点启动时,可以将自己的信息注册给master, 让master把它加入到集群里, 关闭之后也可以把自己从集群中删除.我这里使用的是flask + etcd + confd +nginx来实现.如,新增一个flask节点时,将当前的启动的ip和端口,写到etcd中,设置超时时间如20秒,每隔一段时间如15秒刷新下etcd中的可以.confd从etcd中获取信息,生成nginx的配置文件,重载nginx来扩展或删除新的节点. 1.flas…
安装kube-dns后,我想看看他是怎么个配置,于是我就找到了这个 参考: https://github.com/beyondblog/k8s-web-terminal cat >> /etc/docker/daemon.json <<EOF { "registry-mirrors": ["https://registry.docker-cn.com"], "hosts": [ "tcp://0.0.0.0:23…
场景 Linux 用户,经常需要在终端查看一些数据,从文件里看 或者网络协议获取数据并查看. 比如,查看文件里的json数据:比如,查看etcd里存下的数据. 如果直接看cat 或者 curl 得到的数据,如果格式乱掉了 会很痛苦的,而python 的 json.tool 可以在终端里 把得到的数据格式化. 形如: cat json.file | python -m json.tool #### 用法及示例 # 终端操作 , vim json.file # 写入 如下内容: { "code&qu…
etcd是近几年比较火热的一个开源的.分布式的键值对数据存储系统,提供共享配置.服务的注册和发现,本文主要介绍etcd的安装和使用. etcd etcd介绍 etcd是使用Go语言开发的一个开源的.高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现. 类似项目有zookeeper和consul. etcd具有以下特点: 完全复制:集群中的每个节点都可以使用完整的存档 高可用性:Etcd可用于避免硬件的单点故障或网络问题 一致性:每次读取都会返回跨多主机的最新写入 简单:…
os: centos 7.4etcd:3.2 主从IP信息192.168.56.101 node1 master192.168.56.102 node2 slave192.168.56.103 node3 slave yum下载.安装# yum install etcd # yum list installed |grep -i etcdetcd.x86_64 3.2.18-1.el7 @extras 建议使用yum来安装,简单,直接. etcd 配置使用 wget 方式 和 yum 方式,会在…
背景 本文并不介绍服务发现的基本原理.除了一致性算法之外,其他并没有太多高深的算法,网上的资料很容易让大家明白上面是服务发现.想直接查看结论的同学,请直接跳到文末.目前,市面上有非常多的服务发现工具,<Open-Source Service Discovery>一文中列举了如下开源的服务发现工具. Name Type AP or CP Language Dependencies Integration Zookeeper General CP Java JVM Client Binding D…
实验环境:centos7.4纯净版 postgres版本: 9.6.15 etcd版本:3.3.11 patroni版本:1.6.0 patroni介绍可参考:https://github.com/zalando/patroni ip规划 192.168.216.130 node1 master 192.168.216.132 node2 slave 192.168.216.134 node3 slave etcd集群部署请看上一篇文章:https://www.cnblogs.com/caidi…
A litmus test for whether an app has all config correctly factored out of the code is whether the codebase could be made open source at any moment, without compromising any credentials. 配置是软件开发中一个古老而有用的概念,我们需要通过配置来控制代码运行的方式,比如缓存时间,数据库地址等等. 长久以来我们使用配置…
基本库: sys 程序和Python解析器的交互 os 启动新进程:操作文件和目录 re 正则表达式,字符串匹配 string 基本字符串操作 inspect 提供自省和反射功能 importlib 支持动态导入 bitstring二进制数据处理 zipfile 压缩解压文件 tarfile 压缩解压文件 random 随机数,概率 uuid 生成唯一码 defaultdict 带默认值的字典 fcntl 操作文件描述符 signal 信号处理 threading 线程库,构建并发应用 psut…
背景 本文并不介绍服务发现的基本原理.除了一致性算法之外,其他并没有太多高深的算法,网上的资料很容易让大家明白上面是服务发现. 想直接查看结论的同学,请直接跳到文末. 目前,市面上有非常多的服务发现工具,<Open-Source Service Discovery>(http://jasonwilder.com/blog/2014/02/04/service-discovery-in-the-cloud/)一文中列举了如下开源的服务发现工具. Name Type AP or CP Langua…
一.所有安装包.脚本.脚本说明.下载链接:https://pan.baidu.com/s/1kHaesJJuMQ5cG-O_nvljtg 提取码:kkv6 二.脚本安装说明 1.脚本说明: 本实验为三台master组成高可用,另外一台单独安装node组件,一共四个节点: 脚本里面的几个apiserver地址是写死的,所以部署时候用的ip不一样的话,需要替换: flanneld.coredns 文件里面ip是写死的,所以部署时候用的ip不一样的话,需要替换 /root/ssl/目录下有几个shel…
一.脚本说明: 本实验中master.node.etcd都是单体. 安装顺序为:先安装test1节点主要组件,然后开始安装test2节点,最后回头把test1节点加入集群中,这样做目的是理解以后扩容都需要进行哪些操作 实验架构: test1: 192.168.0.91 etcd.kubectl工具.kube-apiserver.kube-controller-manager.kube-scheduler.kubelet组件.cni.kube-proxy test2: 192.168.0.92 d…
1.用Python Shell设置或获取环境变量的方法: 设置系统环境变量 os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型 os.putenv('环境变量名称', '环境变量值') 获取系统环境变量 os.environ['环境变量名称'] os.getenv('环境变量名称') 实例一. In [52]: output=subprocess.check_output(["head -c 16 /dev/urandom | od -An -…