etcd

webserver Etcd Cluster / CoreOS etcd / macOS etcd

99封情书 提交于 2019-11-28 19:27:21
s https://coreos.com/etcd/ https://coreos.com/etcd/docs/latest/ ETCD 单机启动 https://kaixiansheng.iteye.com/blog/2401500 etcd就两个可执行文件(截至到3.0.15前)。 下载地址:https://github.com/coreos/etcd/releases 注:etcd可以集群安装,在这里只想做一个单机测试,所以只是启动一个节点就可以。 1. 解压,并将文件放入系统路径中: tar zxvf etcd-v3.0.15-linux-amd64.tar.gz cp etcd /usr/bin/ cp etcdctl /usr/bin/ 2. 创建一个服务描述文件,放入systemd的服务目录下 cat /usr/lib/systemd/system/etcd.service [Unit] Description=Etcd Server After=network.target [Service] Type=simple WorkingDirectory=/var/lib/etcd/ EnvironmentFile=-/etc/etcd/etcd.conf ExecStart=/usr/bin/etcd [Install] WantedBy=multi-user

etcd集群的搭建

六月ゝ 毕业季﹏ 提交于 2019-11-28 19:26:11
由于最近在学习kubernetes,etcd作为kubernetes集群的主数据库,必须先启动。 etcds实例名称 IP地址 Hostname etcd 1 192.168.142.161 kubernetes-node1.example.com etcd 2 192.168.142.162 kubernetes-node2.example.com etcd 3 192.168.142.163 kubernetes-node3.example.com 从GitHub官网上下载etcd发布的二进制文件 ,etcd和etcdctl文件复制到/usr/bin目录。 设置systemd服务文件。 vim /usr/lib/systemd/system/etcd.service 内容如下: [Unit] Description=Etcd Server After=network.target [Service] Type=simple WorkingDirectory=/var/lib/etcd/ EnvironmentFile=-/etc/etcd/etcd.conf #配置文件路径 ExecStart=/usr/bin/etcd Type=notify [Install] WantedBy=multi-user.target 编写/etc/etcd/etcd.conf文件 vim

etcd集群

╄→гoц情女王★ 提交于 2019-11-28 19:25:27
使用外部etcd数据库集群,复用kubernetes节点 1.搭建etcd集群 下载安装证书生成工具 curl -s -L -o /bin/cfssl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 curl -s -L -o /bin/cfssljson https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 curl -s -L -o /bin/cfssl-certinfo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 chmod +x /bin/{cfssl,cfssljson,cfssl-certinfo} 配置ca配置文件 vim ca-config.json { "signing": { "default": { "expiry": "8760h" }, "profiles": { "kubernetes": { "expiry": "8760h", "usages": [ "signing", "key encipherment", "server auth", "client auth" ] } } } }  配置ca生成请求 vim ca-csr.json { "CN": "kubernetes", "key": {

Docker 搭建 etcd 集群

自作多情 提交于 2019-11-28 19:25:01
阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很强大),实现了 分布式键值存储 和 服务发现 ,etcd 和 ZooKeeper/Consul 非常相似,都提供了类似的功能,以及 REST API 的访问操作,具有以下特点: 简单:安装和使用简单,提供了 REST API 进行操作交互 安全:支持 HTTPS SSL 证书 快速:支持并发 10 k/s 的读写操作 可靠:采用 raft 算法,实现分布式系统数据的可用性和一致性 etcd 可以单个实例使用,也可以进行集群配置,因为很多项目都是以 etcd 作为服务发现,比如 CoreOS 和 Kubernetes,所以,下面我们使用 Docker 简单搭建一下 etcd 集群。 1. 主机安装 如果不使用 Docker 的话,etcd 在主机上安装,也非常简单。 Linux 安装命令: $ curl -L https://github.com/coreos/etcd/releases/download/v3.3.0-rc.0/etcd-v3.3.0-rc.0-linux-amd64.tar.gz -o etcd-v3.3.0-rc.0-linux-amd64.tar.gz &&

etcd、flannel的安装---单节点

穿精又带淫゛_ 提交于 2019-11-28 18:59:11
etcd的安装和配置 [root@localhost zh]# yum install etcd [root@localhost zh]# service etcd start //因为我是单节点,所以没有修改我的配置文件,下面默认的配置文件内容 [root@localhost zh]# vim /etc/etcd/etcd.conf #[Member] #ETCD_CORS="" ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #ETCD_WAL_DIR="" #ETCD_LISTEN_PEER_URLS="http://localhost:2380" ETCD_LISTEN_CLIENT_URLS="http://localhost:2379" #ETCD_MAX_SNAPSHOTS="5" #ETCD_MAX_WALS="5" ETCD_NAME="default" #ETCD_SNAPSHOT_COUNT="100000" #ETCD_HEARTBEAT_INTERVAL="100" #ETCD_ELECTION_TIMEOUT="1000" #ETCD_QUOTA_BACKEND_BYTES="0" #ETCD_MAX_REQUEST_BYTES="1572864" #ETCD_GRPC_KEEPALIVE_MIN_TIME="5s"

单节点etcd配置

时光怂恿深爱的人放手 提交于 2019-11-28 18:57:29
$ cat /etc/etcd/etcd.conf ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #监听URL,用于与其他节点通讯 ETCD_LISTEN_PEER_URLS="https://10.207.33.148:2380" #告知客户端的URL, 也就是服务的URL ETCD_LISTEN_CLIENT_URLS="https://10.207.33.148:2379,https://10.207.33.148:4001" #表示监听其他节点同步信号的地址 ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.207.33.148:2380" #–advertise-client-urls 告知客户端的URL, 也就是服务的URL,tcp2379端口用于监听客户端请求 ETCD_ADVERTISE_CLIENT_URLS="https://10.207.33.148:2379" #启动参数配置 ETCD_NAME="node1" ETCD_INITIAL_CLUSTER="node1=https://10.207.33.148:2380" ETCD_INITIAL_CLUSTER_STATE="new" #[security] ETCD_CERT_FILE="/etc/ssl/etcd

etcd单节点安装

*爱你&永不变心* 提交于 2019-11-28 18:57:11
本篇安装单个etcd,然后进行扩容etcd节点至2个,环境配置如果做了的话就跳过 实验架构 test1: 192.168.0.91 etcd test2: 192.168.0.92 无 test3: 192.168.0.93 无 1、环境配置 # 如下操作在所有节点操作 修改主机名 # 注意修改 各自节点对应的 主机名 sed -i '$a\hostname=test1' /etc/hostname sed -i '$a\hostname=test1' /etc/sysconfig/network && hostnamectl set-hostname test1 配置hosts解析 cat >>/etc/hosts<<EOF 192.168.0.91 test1 192.168.0.92 test2 192.168.0.93 test3 EOF 禁用selinux sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux sed -i 's/enforcing/disabled/g' /etc/selinux/config 关闭swap # 注释/etc/fstab文件里swap相关的行 sed -i 's/\/dev\/mapper\/centos-swap/#\/dev\/mapper\

高可用 kubernetes 集群部署实践

喜夏-厌秋 提交于 2019-11-28 18:56:01
前言 Kubernetes(k8s) 凭借着其优良的架构,灵活的扩展能力,丰富的应用编排模型,成为了容器编排领域的事实标准。越来越多的企业拥抱这一趋势,选择 k8s 作为容器化应用的基础设施,逐渐将自己的核心服务迁移到 k8s 之上。 可用性对基础设施而言至关重要。各大云计算厂商纷纷推出了高可用、可扩展的 k8s 托管服务,其中比较有代表性的有 Amazon EKS、Azure Kubernetes Service (AKS)、Google Kubernetes Engine、阿里云容器服务 Kubernetes 版等。 虽然公有云托管的 k8s 服务百花齐放,但很多企业仍有自建集群的需求。正是这样的原因,促进了一大批出色的 k8s 集群部署方案的诞生,他们的特点如下表所示。 上述方案中,RKE 在易用性和灵活性上占有优势。本文接下来将介绍如何通过 RKE 部署一套高可用 k8s 集群,文中使用的 RKE 版本为v0.2.2。 高可用 k8s 集群架构 首先需要了解高可用 k8s 集群的架构特点,下图是官方推荐的高可用集群架构图。 其核心思想是让 k8s master 节点中的各类组件具备高可用性,消除单点故障。 kube-apiserver - 对外暴露了 k8s API,是整个集群的访问入口。由于 apiserver 本身无状态,可以通过启动多个实例并结合负载均衡器实现高可用。

Golang Gateway API 搭建教程

久未见 提交于 2019-11-28 18:43:15
原文链接 随着微服务的兴起,行业里出现了非常多优秀的微服务网关框架,今天教大家搭建一套国人,用Golang写的微服务网关框架。 这里啰嗦一句,可能到今天还有人不理解什么是微服务,为什么要用微服务。目前网上相对比较模糊,没有精确的定义,但大家的意思都差不多,这里个人通俗描述,就是小项目发展到大项目过程中,出于已维护,与稳定性等考虑,将一个整体项目分为多个微小服务。 微服务网关的作用是在用户第一个网关服务器,你按照业务服务相关需求,给网关分流,相比云主机厂商提供的负载均衡器,强大在于你可以根据自己业务去分流,同时还以可以实现鉴权、校验、聚合、缓存等自定义服务,而云主机的负载均衡器只是一个简单按照流量给你负载均衡请求,不具有自定义编程性质。 接下来教如何安装,以及注意事项。 地址: https://github.com/fagongzi/gateway 功能: 流量控制 熔断 负载均衡 服务发现 插件机制 路由(分流,复制流量) API 聚合 API 参数校验 API 访问控制(黑白名单) API 默认返回值 API 定制返回值 API 结果Cache JWT Authorization API Metric导入Prometheus API 失败重试 后端server的健康检查 开放管理API(GRPC、Restful) 支持websocket 支持在线迁移数据 1.下载 https:/

简单聊聊服务发现(redis, zk,etcd, consul)(转载)

独自空忆成欢 提交于 2019-11-28 18:42:05
服务发现并没有怎样的高深莫测,它的原理再简单不过。只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀。 服务提供者是什么,简单点说就是一个HTTP服务器,提供了API服务,有一个IP端口作为服务地址。服务消费者是什么,它就是一个简单的进程,想要访问服务提供者提供的服务来干一些事情。一个HTTP服务器既可以是服务提供者对外提供服务,也可以是消费者需要别的服务提供者提供的服务,这就是服务依赖,没有你我就不是我自己。复杂的服务甚至有多个服务依赖。 服务发现有三个角色,服务提供者、服务消费者和服务中介。服务中介是联系服务提供者和服务消费者的桥梁。服务提供者将自己提供的服务地址注册到服务中介,服务消费者从服务中介那里查找自己想要的服务的地址,然后享受这个服务。服务中介提供多个服务,每个服务对应多个服务提供者。 服务中介就是一个字典,字典里有很多key/value键值对,key是服务名称,value是服务提供者的地址列表。服务注册就是调用字典的Put方法塞东西,服务查找就是调用字典的Get方法拿东西。 当服务提供者节点挂掉时,要求服务能够及时取消注册,比便及时通知消费者重新获取服务地址。 当服务提供者新加入时,要求服务中介能及时告知服务消费者,你要不要尝试一下新的服务。 Redis作为服务中介 Redis里面有丰富的数据结构,拿来存储服务字典再合适不过了