前言 为了配置kubernetes中的ingress的高可用,对于kubernetes集群以外只暴露一个访问入口,需要使用keepalived排除单点问题.需要使用daemonset方式将ingress-controller部署在边缘节点上. 边缘节点 首先解释下什么叫边缘节点(Edge Node),所谓的边缘节点即集群内部用来向集群外暴露服务能力的节点,集群外部的服务通过该节点来调用集群内部的服务,边缘节点是集群内外交流的一个Endpoint. 边缘节点要考虑两个问题 边缘节点的高可用,不能有…
ProxySQL在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数据并不能共通,在主实例上配置后,仍需要在备用节点上进行配置,对管理来说非常不方便.但是ProxySQl 从1.4.2版本后,ProxySQL支持原生的Cluster集群搭建,实例之间可以互通一些配置数据,大大简化了管理与维护操作. ProxySQL是一个非中心化代理,在拓扑中,建议将它部署在靠近应用程序服务器的位置处.ProxySQL节点可以很方便地扩展到上百个节点,因为它支持runtime修…
Hbase高可用+完全分布式完整部署教程 本篇博客承接上一篇sqoop的部署教程,将会详细介绍完全分布式并且是高可用模式下的Hbase的部署流程,废话不多说,我们直接开始! 1. 安装准备 部署Hbase时,我们使用的版本为1.2.8 2. 正式安装 1. 将hbase-1.2.8-bin.tar.gz文件使用远程传输软件放到s101的/home/centos/downloads下 2. 将hbase-1.2.8-bin.tar.gz解压缩至/soft下 tar -xzvf /home/cent…
MHA(Master High Availability)是一套相对成熟的MySQL高可用方案,能做到在0~30s内自动完成数据库的故障切换操作,在master服务器不宕机的情况下,基本能保证数据的一致性. 它由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点).其中,MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave上.MHA Node则运行在每个mysql节点上,MHA Manager会定时探测集群中…
一.   MySQL InnoDB Cluster 介绍MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, Galera Cluster, InnoDB Cluster, 腾讯的PhxSQL, MySQL Fabric., aliSQL.MySQL官方在2017年4月推出了一套完整的.高可用的Mysql解决方案 - MySQL InnoDB Cluster, 即一组MySQL服务器可以配置为一个MySQL集…
MMM介绍MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,可以说是mysql主主复制管理器.虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现…
一.MHA介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是日本的一位 MySQL专家采用Perl语言编写的一个脚本管理工具,该工具仅适用于MySQLReplication(二层)环境,目的在于维持Master主库的高可用性.是一套优秀的作为MySQL高可用性 环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能做到在0~30秒…
本篇文章记录通过Ansible自动化部署nginx的负载均衡高可用,前端代理使用nginx+keepalived,端web server使用3台nginx用于负载效果的体现,结构图如下: 部署前准备工作 主机规划 Ansible : 192.168.214.144 Keepalived-node-1 : 192.168.214.148 Keepalived-node-2 : 192.168.214.143 web1 : 192.168.214.133 web2 : 192.168.214.135…
高可用架构 k8s集群的高可用实际是k8s各核心组件的高可用,这里使用主备模式,架构如下: 主备模式高可用架构说明: 核心组件 高可用模式 高可用实现方式 apiserver 主备 keepalived controller-manager 主备 leader election scheduler 主备 leader election etcd 集群 kubeadm apiserver 通过keepalived实现高可用,当某个节点故障时触发keepalived vip 转移: controll…
第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节点所在的服务器一旦拓机了,整个openstack就废掉了   所有我们基本上需要部署2个以上的控制节点,这里我们的方案是在前端使用keepalive + haproxy,这样openstack计算节点访问数据库和控制节点都是通过VIP反向代理到后端的. 数据库我们使用了MariaDB Galera高…
时间过的很快,写springcloud(十):服务网关zuul初级篇还在半年前,现在已经是2018年了,我们继续探讨Zuul更高级的使用方式. 上篇文章主要介绍了Zuul网关使用模式,以及自动转发机制,但其实Zuul还有更多的应用场景,比如:鉴权.流量转发.请求统计等等,这些功能都可以使用Zuul来实现. Zuul的核心 Filter是Zuul的核心,用来实现对外服务的控制.Filter的生命周期有4个,分别是"PRE"."ROUTING"."POST&q…
我们平时接触的产品都是7*24小时不间断服务,产品中的api接口肯定也是高可用的,下面我向大家分享一下互联网公司api接口高可用的网络部署方案.  我们一般通过http://le.quwenzhe.com/api/apps/search域名发起对接口的请求,请求发起后,集团DNS会把域名解析为ip,然后通过集团的nginx代理到产品私有的nginx代理服务器. 产品私有nginx代理服务器一般会有n台,都是通过集团nginx代理服务器转发请求,这里我们拿产品私有nginx的一台为例进行说明. 产…
    1 概述 在Hadoop 2.0.0之前,一个Hadoop集群只有一个NameNode,那么NameNode就会存在单点故障的问题,幸运的是Hadoop 2.0.0之后解决了这个问题,即支持NameNode的HA高可用,NameNode的高可用是通过集群中冗余两个NameNode,并且这两个NameNode分别部署到不同的服务器中,其中一个NameNode处于Active状态,另外一个处于Standby状态,如果主NameNode出现故障,那么集群会立即切换到另外一个NameNode来保…
hbase版本 2.0.4  与hadoop兼容表http://hbase.apache.org/book.html#hadoop  我的 hadoop版本是3.1   1.单机版hbase 1.1解压安装包 tar xf hbase-2.0.4-bin.tar.gz -C /opt/    1.2配置环境变量 编辑/etc/profile export HBASE_HOME=/opt/hbase- export PATH=$PATH:$HBASE_HOME/bin   生效环境变量 sourc…
部署master节点 kubernetes master 节点包含的组件: kube-apiserver kube-scheduler kube-controller-manager 本文档介绍部署一个三节点高可用 master 集群的步骤,分别命名为k8s-host1.k8s-host2.k8s-host3: k8s-host1:172.16.120.154 k8s-host2:172.16.120.155 k8s-host3:172.16.120.156 安装docker 在每台主机安装do…
上篇文章主要介绍了Zuul网关使用模式,以及自动转发机制,但其实Zuul还有更多的应用场景,比如:鉴权.流量转发.请求统计等等,这些功能都可以使用Zuul来实现. Zuul的核心 Filter是Zuul的核心,用来实现对外服务的控制.Filter的生命周期有4个,分别是“PRE”.“ROUTING”.“POST”.“ERROR”,整个生命周期可以用下图来表示. Zuul大部分功能都是通过过滤器来实现的,这些过滤器类型对应于请求的典型生命周期. PRE: 这种过滤器在请求被路由之前调用.我们可利用…
Zuul的核心 Filter是Zuul的核心,用来实现对外服务的控制.Filter的生命周期有4个,分别是“PRE”.“ROUTING”.“POST”.“ERROR”,整个生命周期可以用下图来表示. Zuul大部分功能都是通过过滤器来实现的,这些过滤器类型对应于请求的典型生命周期. PRE: 这种过滤器在请求被路由之前调用.我们可利用这种过滤器实现身份验证.在集群中选择请求的微服务.记录调试信息等. ROUTING:这种过滤器将请求路由到微服务.这种过滤器用于构建发送给微服务的请求,并使用Apa…
关键词环境部署: ############## 测试环境机器架构 #########[1]策划[1.1]linux服务器A组 8台 192.168.1.200~192.168.1.207,主机名db,db1~db7[1.2]负载均衡服务器 2台 192.168.1.211~192.168.1.212,主机名,fz1,fz2[1.3]中间件 192.168.1.221~192.168.1.222,主机名,xm1,xm2 [1.4]mysql服务器B组 8台 #拷贝的[1.1]中的虚拟机文件,所以是…
Saltstack HA部署 Salt官网是有HA/Rebalance/failover解决方案的, 但版本必须是2014.7, 目前该版本还没有release, 从官网下载的源码包安装使用测试起来一直有问题, 因此采用DNS方案实现HA/Rebalance/failover架构. Master01是leader节点, Master02和Master03是follower节点; leader上的配置, state文件, return等文件变动都会完全同步到其他follower节点上; Maste…
背后深层次的逻辑: MHA Node则运行在每个mysql节点上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它自动将最新数据的slave提升为master,然后将其它所有的slave指向新的master. 在MHA自动故障切换过程中,MHA试图保存master的二进制日志,从而最大程度地保证数据不丢失,当这并不总是可行的,譬如,主服务器硬件故障或无法通过ssh访问,MHA就没法保存二进制日志,这样就只进行了故障转移但丢失了最新数据.可结合MySQL 5.…
  Preface       Yesterday I implemented a three-nodes PXC,but there were some errors when proceeding it.So I decide to research what's wrong with it.The operations and evidences shows below.   Procedure   Fisrt of all,I find out that yesterday's erro…
  Preface       Today,I'm gonna implement a PXC,Let's see the procedure.   Framework   Hostname IP Port OS Version MySQL Version Xtrabackup version zlm2 192.168.1.101 3308 CentOS 7.0 PXC 5.7.22 2.4.12 Linux (x86_64) zlm3 192.168.1.102 3308 CentOS 7.0…
Kubernetes Ingress Controller的使用及高可用落地 看懂本文要具备一下知识点: Service实现原理和会应用 知道反向代理原理,了解nginx和apache的vhost概念 了解service的几种类型(Nodeport.clusterip.LB) 四层和七层区别(不明白就这样去理解,七层最常见就是应用层的http,也就是url,四层是传输层,为tcp/udp端口) 域名解析,/etc/hosts等基础知识 Ingress Controller介绍 Ingress C…
0x00 概述 本次采用二进制文件方式部署,本文过程写成了更详细更多可选方案的ansible部署方案 https://github.com/zhangguanzhang/Kubernetes-ansible和之前的步骤差不多都是和kubeadm步骤一样,不过这次所有kubelet全部走bootstrap不会像之前master上的kubelet生成证书,另外证书换成openssl生成 不建议使用secureCRT这个ssh软件复制本篇博客内容的命令,因为它的部分版本对包含多条命令的处理结果并不完美…
对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server.当安装在Kubernetes集群中时,Rancher将与集群的 etcd 集成,并利用Kubernetes 调度实现高可用. 为确保高可用,本文所部署的 Kubernetes 集群将专用于运行 Rancher ,Rancher 运行起来后,可再创建或导入集群以运行具体的工作负载. 一.推荐架构 Rancher的DNS 应解析到 4层(TCP) 负载均衡上. 负载均衡应将端口 TCP/80 和…
kubeadm部署k8s 使用kubeadm进行k8s的部署主要分为以下几个步骤: 环境预装: 主要安装docker.kubeadm等相关工具. 集群部署: 集群部署分为single master(单master,只有一个master节点)和高可用HA集群部署两种模式.主要部署k8s的相关组件.本文将分别做介绍. 网络部署: 部署网络环境.本文以flannel为例进行部署. 环境预装 在所有节点上都先要做好环境的准备,这里以debian为例,整理了安装docker和kubeadm的相关命令.这个…
Breeze项目是深圳睿云智合所开源的Kubernetes图形化部署工具,大大简化了Kubernetes部署的步骤,其最大亮点在于支持全离线环境的部署,且不需要FQ获取Google的相应资源包,尤其适合某些不便访问互联网的服务器场景. (项目地址 https://github.com/wise2c-devops/breeze ) 转载于https://mp.weixin.qq.com/s?__biz=MzI5ODQ2MzI3NQ==&mid=2247485466&idx=1&sn=…
前言 本文Harbor高可用依照Harbor官网部署,主要思路如下,大家可以根据具体情况选择搭建. 部署Postgresql高可用集群.(本文选用Stolon进行管理,请查看文章<kubernetes下Stolon部署高可用Postgresql>) 部署redis高可用集群.(本文选用Helm对redis进行高可用部署,请查看文章<kubernetes部署高可用redis>,该文以整理好redis编排文件可直接使用) 部署Harbor高可用集群.(本文主要阐述Harbor的高可用部…
之前介绍Harbor私有仓库的安装和使用,这里重点说下Harbor高可用集群方案的部署,目前主要有两种主流的Harbor高可用集群方案:1)双主复制:2)多harbor实例共享后端存储. 一.Harbor双主复制高可用集群 1)主从同步harbor官方默认提供主从复制的方案来解决镜像同步问题,通过复制的方式,我们可以实时将测试环境harbor仓库的镜像同步到生产环境harbor,类似于如下流程: 在实际生产运维的中,往往需要把镜像发布到几十或上百台集群节点上.这时,单个Registry已经无法满…
之前介绍Harbor私有仓库的安装和使用,这里重点说下Harbor高可用集群方案的部署,目前主要有两种主流的Harbor高可用集群方案:1)双主复制:2)多harbor实例共享后端存储. 一.Harbor双主复制高可用集群 1)主从同步harbor官方默认提供主从复制的方案来解决镜像同步问题,通过复制的方式,我们可以实时将测试环境harbor仓库的镜像同步到生产环境harbor,类似于如下流程: 在实际生产运维的中,往往需要把镜像发布到几十或上百台集群节点上.这时,单个Registry已经无法满…