etcd集群部署与遇到的坑(转)】的更多相关文章

原文 https://www.cnblogs.com/breg/p/5728237.html etcd集群部署与遇到的坑 在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑.今天记录一下,为了以后更好操作. ETCD参数说明 —data-dir 指定节点的数据存储目录,这些数据包括节点ID,集群ID,集群初始化配置,Snapshot文件,若未指定—wal-dir,还会存储WAL文件: —wal-dir 指定节点的was文件的存储目录,若指定了该参数,wal文件会和其他数据文件分开…
在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑.今天记录一下,为了以后更好操作. ETCD参数说明 —data-dir 指定节点的数据存储目录,这些数据包括节点ID,集群ID,集群初始化配置,Snapshot文件,若未指定—wal-dir,还会存储WAL文件: —wal-dir 指定节点的was文件的存储目录,若指定了该参数,wal文件会和其他数据文件分开存储. —name 节点名称 —initial-advertise-peer-urls 告知集群其他节点url. — li…
一 etcd集群概述 1.1 概述 静态启动etcd集群要求每个成员都知道集群中的另一个成员.Etcd运行在集群的每个coreos节点上,可以保证coreos集群的稳定,可靠的运行.当集群网络出现动荡,或者当前master节点出现异常时,etcd可以进行master节点的选举工作,同时恢复集群中损失的数据. 1.2 集群容错能力 集群大小 最大容错 1 0 2 1 4 1 5 2 6 2 7 3 8 3 9 4 1.3 集群基础 每个 etcd cluster 都由若干个 member 组成的,…
一 环境准备 ntp配置:略 #建议配置ntp服务,保证时间一致性 etcd版本:v3.3.9 防火墙及SELinux:关闭防火墙和SELinux 名称 地址 主机名 备注 etcd1 172.24.8.71 etcd1.example.com   etcd2 172.24.8.72 etcd2.example.com   etcd3 172.24.8.73 etcd3.example.com   # hostnamectl set-hostname etcd1.example.com # ho…
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一个服务器的selinux 设置为 disabled 设置方式: vi  /etc/selinux/config 将 SELINUX=disabled,然后保存,然后 执行命令: setenforce 0,使之生效. 2.同步每一台服务器的时间(此步骤很重要,会影响后面的软件环境运行) 3.每一台服务…
一 etcd发现简介 1.1 需求背景 在实际环境中,集群成员的ip可能不会提前知道.如使用dhcp自动获取的情况,在这些情况下,使用自动发现来引导etcdetcd集群,而不是指定静态配置,这个过程被称为“发现”. etcd Discovery 使用已有的 etcd cluster 来注册和启动 DNS发现 使用 DNS 启动. 1.2 实现机制 Discovery service protocol帮助新的etcd成员使用共享URL在集群引导阶段发现所有其他成员. 该协议使用新的发现令牌来引导一…
kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点复用 kubernetes 集群机器k8s-master.k8s-node-1.k8s-node-2. 1.准备etcd软件包并分发etcd文件: [root@k8s-master ~]# cd /usr/local/src [root@k8s-master src]#wget https://github.com/coreos/etcd/releases/download/v3…
环境说明 三台主机: k8s-master  10.0.3.225 k8s-node1    10.0.3.226 k8s-node2    10.0.3.227 配置主机名解析 [root@k8s-master kubernetes]# vim /etc/hosts 10.0.3.225 k8s-master 10.0.3.226 k8s-node1 10.0.3.227 k8s-node2 关闭防火墙和SElinux [root@k8s-master kubernetes]# systemc…
etcd是用于共享配置和服务发现的分布式KV存储系统,随着CoreOS和Kubernetes等项目在开源社区日益火热,它们都用到了etcd组件作为一个高可用.强一致性的服务发现存储仓库.操作系统版本:CentOS 7.2集群机器:192.168.116.151.192.168.116.152.192.168.116.153对应的主机名:etcd-host0.etcd-host1.etcd-host2 一.创建CA证书和密钥为了保证通信安全,客户端(如 etcdctl) 与 etcd 集群.etc…
etcd web管理 https://nikfoundas.github.io/etcd-viewer/ # git clone https://github.com/nikfoundas/etcd-viewer.git # mvn clean install # mvn jetty:run # docker build -t some-repo/etcd-viewer . # docker run -d -p 8080:8080 nikfoundas/etcd-viewer node1 #!/…
https://blog.csdn.net/fy_long/article/details/86542872 1)程序准备tar xvf etcd-v3.3.11-linux-amd64.tar.gz mkdir -p etcd/{bin,cfg,ssl}mv etcd-v3.3.11-linux-amd64/{etcd,etcdctl} etcd/bin2)拷贝CA证书cp ca*pem server*pem etcd/sslscp ca*pem server*pem app@192.168.…
0 专辑概述 etcd 是云原生架构中重要的基础组件,由 CNCF 孵化托管.etcd 在微服务和 Kubernates 集群中不仅可以作为服务注册与发现,还可以作为 key-value 存储的中间件. <彻底搞懂 etcd 系列文章>将会从 etcd 的基本功能实践.API 接口.实现原理.源码分析,以及实现中的踩坑经验等几方面具体展开介绍 etcd.预计会有 20 篇左右的文章,笔者将会每周持续更新,欢迎关注. 1 etcd 集群部署 在生产环境中,为了整个集群的高可用,etcd 正常都会…
ETCD集群部署 所有持久化的状态信息以KV的形式存储在ETCD中.类似zookeeper,提供分布式协调服务.之所以说kubenetes各个组件是无状态的,就是因为其中把数据都存放在ETCD中.由于ETCD支持集群,这里在三台主机上都部署上ETCD. (1)准备etcd软件包 wget https://github.com/coreos/etcd/releases/download/v3.2.18/etcd-v3.2.18-linux-amd64.tar.gz [root@linux-node…
基于Docker部署ETCD集群 关于ETCD要不要使用TLS? 首先TLS的目的是为了鉴权为了防止别人任意的连接上你的etcd集群.其实意思就是说如果你要放到公网上的ETCD集群,并开放端口,我建议你一定要用TLS.如果你的ETCD集群跑在一个内网环境比如(VPC环境),而且你也不会开放ETCD端口,你的ETCD跑在防火墙之后,一个安全的局域网中,那么你用不用TLS,都行. 优化参数 --auto-compaction-retention 由于ETCD数据存储多版本数据,随着写入的主键增加历史…
一.部署环境介绍 1.服务器规划 系统 IP地址 主机名 CPU 内存 CentOS  7.5 192.168.56.11 k8s-node1 2C 2G CentOS  7.5 192.168.56.12 k8s-node2 2C 2G CentOS  7.5 192.168.56.13 k8s-node3 2C 2G 2.Kubernetes 1.10.1包下载 官方地址:https://github.com/kubernetes/kubernetes/releases 网盘地址:https…
介绍 etcd 是一个分布式一致性k-v存储系统,可用于服务注册发现与共享配置,具有以下优点. 简单 : 相比于晦涩难懂的paxos算法,etcd基于相对简单且易实现的raft算法实现一致性,并通过gRPC提供接口调用 安全:支持TLS通信,并可以针对不同的用户进行对key的读写控制 高性能:10,000 /秒的写性能 本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 注: K8s的集群相关数据是存放在Etcd中的,所有我们得先部署 架构…
参考链接:https://github.com/opsnull/follow-me-install-kubernetes-cluster kubernetes 概述 1.kubernetes 是什么 Google2014年推出的容器集群管理系统 k8s用于容器化应用程序的部署.扩展和管理 k8s提供了容器编排.资源调度.弹性伸缩.部署管理.服务发现等一系列功能 k8s的目标是让部署容器化应用简单高效 总结:可以理解成一个容器平台.微服务平台(非常适合微服务架构).便携式云平台 2.keberne…
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net core社区的帮助.感谢. 二.系列部署目录 0.部署环境规划 1.自签TLS证书及Etcd集群部署 2.flanneld网络介绍及部署 3.部署master/node节点组件及WebUI 4.服务发现DNS部署.nfs数据卷 5.k8s集群监控(heapster+InfluxDB+Grafana…
k8s集群部署 1. 角色分配 角色 IP 安装组件 k8s-master 10.0.0.170 kube-apiserver,kube-controller-manager,kube-scheduler,etcd k8s-node0 10.0.0.113 kubelet,kube-proxy,docker,flannel,etcd k8s-node1 10.0.0.56 kubelet,kube-proxy,docker,flannel,etcd 2. 环境预备 #系统更新 sudo yum…
etcd是什么? etcd是一个高可用的分布式键值数据库,可用于服务发现,etcd采用 raft 一致性算法,基于 Go 语言实现.其特点有简单易用,所谓简单易用是指安装配置简单,提供http/https接口:安全,安全是指etcd支持ssl证书认证,支持集群各节点间使用对等证书认证:客户端和服务端的双向证书认证:可靠,可靠是指etcd使用raft协议实现分布式系统数据的可用性和一致性:etcd主要有两个版本v2和v3:v2和v3的api是互不兼容的,所以我们在同一服务器上安装多个版本的etcd…
这里使用三个节点,系统版本为CentOS7 # vim deploy-etcd.sh #!/bin/bash set -x set -e #更改这里的IP, 只支持部署3个节点etcd集群 declare -A NODE_MAP=( ["etcd0"]="172.60.0.226" ["etcd1"]="172.60.0.86" ["etcd2"]="172.60.0.106" ) et…
  IP Hostname   192.168.1.23 k8s-etcd-01 etcd集群节点,默认关于ETCD所有操作均在此节点上操作 192.168.1.24 k8s-etcd-02 etcd集群节点 192.168.1.25 k8s-etcd-03 etcd集群节点 192.168.1.27 k8s-master-01 Work Master集群节点,默认关于k8s所有操作均在此节点上操作 192.168.1.28 k8s-master-02 Work Master集群节点 192.1…
1. 集群架构 由于我们只有两个机房,所以选择的是以上图中所示的数据同步方案, 通过做镜像的方式保证两个集群的数据实时同步. 整体架构如上图所示, 整个全局元数据中心包括两套集群,廊坊集群和马驹桥集群: 同时服务的只会有一个集群, 两个集群通过mirror-maker实时同步元数据,保证元数据无差别. 正常访问流程如下: 用户=> OPS域名 => 域名解析到廊坊  => 通过负载均衡路由廊坊机房的4001端口 => 访问数据返回 以上描述了一次正常的请求: 整体架构比较简单,主要…
Kubenetes 集群部署规划: 192.168.137.81  Master 192.168.137.82  Node 192.168.137.83  Node 以下在 Master 节点操作. 1. 创建目录,用于存放 kuburnetes  相关的文件. mkdir -p /opt/k8s/{bin,cfg,ssl} 2. 获取下面的文件并解压,把解压后的 etcd 和 etcdctl 两个文件放到 /opt/k8s/bin 目录下 wget https://github.com/etc…
当前有很多服务集群部署,但是对于我们自己开发的服务系统怎么样能够解决部署问题,对大家很麻烦和笨重. 首先,我想说对于我们国内,小公司小系统比较多.大型系统毕竟少数,向阿里云看齐的不多.其实所谓的需要集群部署,可能一般需要部署3个节点就差不多了.这么小的集群,采用企业级的大家伙是完全没有必要的.而且维护成本高,隔离不出来都很麻烦.也就是我们用了牛刀. 当然对于学习来说,了解企业级的大家伙是很有必要的,它的高大尚给我们很多空间,能够学习,能够增加饭碗的可靠.对于真实的部署却很难用到,或者说发挥其性能…
kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点配置复用 ,我在这里没有做认证,如果有需要也可以做. 下载二进制文件 到 https://github.com/coreos/etcd/releases 页面下载最新版本的二进制文件 # wget https://github.com/etcd-io/etcd/releases/download/v3.2.24/etcd-v3.2.24-linux-amd64.tar.gz #…
Kubernetes集群中主要存在两种类型的节点:master.minion节点. Minion节点为运行 Docker容器的节点,负责和节点上运行的 Docker 进行交互,并且提供了代理功能.Master节点负责对外提供一系列管理集群的API接口,并且通过和 Minion 节点交互来实现对集群的操作管理. kubernetes必备组件 kube-apiserver:集群的统一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理…
角色 IP 组件 配置 master-1 192.168.10.11 kube-apiserver kube-controller-manager kube-scheduler etcd 2c 2g master-2 192.168.10.12 kube-apiserver kube-controller-manager kube-scheduler etcd 2c 2g node-1 192.168.10.13 kubelet kube-proxy docker flannel etcd 2c…
在「etcd使用入门」一文中对etcd的基本知识点和安装做了一个简要的介绍,这次我们来说说如何部署一个etcd集群. etcd构建自身高可用集群主要有三种形式: 静态发现: 预先已知etcd集群中有哪些节点,在启动时通过--initial-cluster参数直接指定好etcd的各个节点地址. etcd动态发现: 通过已有的etcd集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制.比如官方提供的:discovery.etcd.io DNS动态发现: 通过DNS查询方式获取…
etcd提供了多种部署集群的方式,在「通过静态发现方式部署etcd集群」 一文中我们介绍了如何通过静态发现方式部署集群. 不过很多时候,你只知道你要搭建一个多大(包含多少节点)的集群,但是并不能事先知道这几个节点的ip,从而无法使用--initial-cluster参数. 这个时候,你就需要使用discovery的方式来搭建etcd集群.discovery方式有两种:etcd discovery和DNS discovery. 这里我们先介绍下etcd discovery方式.这种启动方式依赖另外…