本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和发布最前沿的科技信息.公众号的核心理念是:分享,我们认为只有分享才能使我们的团体更强大.如果你想第一时间获取最新技术文章,欢迎关注我们! 公众号作者 Mike,一个月薪 3000 的杂工.从事 IT 相关工作 15+ 年,热衷于互联网技术领域,认同开源文化,对运维相关技术有自己独特的见解.很愿意将自…
一.前置知识点 1.1 生产环境可部署Kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式: kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群. 官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/ 二进制包 从github下载发行版的二进制包,手动部署每个组件,组成Kuberne…
七.高可用架构(扩容多Master架构) Kubernetes作为容器集群系统,通过健康检查+重启策略实现了Pod故障自我修复能力,通过调度算法实现将Pod分布式部署,并保持预期副本数,根据Node失效状态自动在其他Node拉起Pod,实现了应用层的高可用性. 针对Kubernetes集群,高可用性还应包含以下两个层面的考虑:Etcd数据库的高可用性和Kubernetes Master组件的高可用性. 而Etcd我们已经采用3个节点组建集群实现高可用,本节将对Master节点高可用进行说明和实施…
参考并感谢 官方文档 https://hub.docker.com/_/mysql y0ngb1n https://www.jianshu.com/p/0439206e1f28 vito0319 https://blog.csdn.net/warrior_0319/article/details/80805030 下载mysql镜像(不带tag标签则表示下载latest版本) docker pull mysql/mysql-server 配置my.cnf 文件 my.cnf文件参考nginx的临…
三台master,四台node,系统版本为CentOS7 IP ROLE 172.60.0.226 master01 172.60.0.86 master02 172.60.0.106 master03 172.60.0.227 node01 172.60.0.228 node02 172.60.0.44 node03 172.60.0.46 node04 这里安装的kubenetes版本为1.5.1,docker版本为1.12.3 三个master节点通过keepalived实现高可用.结构如…
文章转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247487811&idx=1&sn=67b39b7345903bc61a4b85692cc1f7c5&chksm=fdb91e5ecace974844b827d997568c2db01f7b869626f8ce24dde09cb2884e1734765bf18169&scene=178&cur_album_id=131928702620…
使用 k8s 官方提供的部署工具 kubeadm 自动安装,需要在 master 和 node 节点上安装 docker 等组件,然后初始化,把管理端的控制服务和 node 上的服务都以 pod 的方式运行. kubernetes部署过程: 本次部署的集群是v1.17.4 分为以下几个步骤 1.基础环境准备 2.在master 安装指定版本的 kubeadm .kubelet.kubectl.docker 3.在所有 node 节点安装指定版本的 kubeadm .kubelet.docker,…
一.项目介绍 项目致力于让有意向使用原生kubernetes集群的企业或个人,可以方便的.系统的使用二进制的方式手工搭建kubernetes高可用集群.并且让相关的人员可以更好的理解kubernetes集群的运作机制. 软件版本 os centos7.7(ubuntu也适用,需要替换部分命令) kubernetes 1.16.2 etcd 3.4.3 docker 18.06 calico 3.10.1-2 coredns 配置策略 kube-apiserver: 使用节点本地 nginx 4…
Breeze部署kubernetes1.13.2高可用集群 2019年07月23日 10:51:41 willblog 阅读数 673 标签: kubernetes 更多 个人分类: kubernetes https://blog.csdn.net/networken/article/details/86550735 所知道的太少了.. 不过简单试了下 不是特别好用 国内公司做的系统.. 也可能跟我的虚拟机兼容性有关系.. breeze简介 项目地址:https://github.com/wis…
Kubernetes高可用集群部署 部署架构: Master 组件: kube-apiserver Kubernetes API,集群的统一入口,各组件协调者,以HTTP API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储. kube-controller-manager 处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的. kube-scheduler 根据调度算法为新创建的Pod选择…
一.   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集…
ProxySQL在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数据并不能共通,在主实例上配置后,仍需要在备用节点上进行配置,对管理来说非常不方便.但是ProxySQl 从1.4.2版本后,ProxySQL支持原生的Cluster集群搭建,实例之间可以互通一些配置数据,大大简化了管理与维护操作. ProxySQL是一个非中心化代理,在拓扑中,建议将它部署在靠近应用程序服务器的位置处.ProxySQL节点可以很方便地扩展到上百个节点,因为它支持runtime修…
前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署的,这个集群差不多搞了一周时间,关于k8s的知识点,我也是刚入门,这方面的知识建议参考博客园大神edisonchou的系列文章<.NET Core on K8S学习实践系列文章索引(Draft版)>,为什么我要写该系列的文章,是因为我之前 工作的几家公司应用都已经容器化了,.net framework 应用也在慢慢迁移到.net core 上,.net core 从1.0就开始使用了,作…
实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署的,这个集群差不多搞了一周时间,关于k8s的知识点,我也是刚入门,这方面的知识建议参考博客园大神edisonchou的系列文章<.NET Core on K8S学习实践系列文章索引(Draft版)>,为什么我要写该系列的文章,是因为我之前 工作的几家公司应用都已经容器化了,.net framewo…
第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节点所在的服务器一旦拓机了,整个openstack就废掉了   所有我们基本上需要部署2个以上的控制节点,这里我们的方案是在前端使用keepalive + haproxy,这样openstack计算节点访问数据库和控制节点都是通过VIP反向代理到后端的. 数据库我们使用了MariaDB Galera高…
摘要:官方只提到了一句"使用负载均衡器将 apiserver 暴露给工作节点",而这恰恰是部署过程中需要解决的重点问题. 本文分享自华为云社区<Kubernetes 高可用集群落地二三事>,作者:zuozewei. 一.高可用拓扑 可以设置 HA 集群: 使用堆叠(stacked)控制平面节点,其中 etcd 节点与控制平面节点共存: 使用外部 etcd 节点,其中 etcd 在与控制平面不同的节点上运行: 在设置 HA 集群之前,应该仔细考虑每种拓扑的优缺点. 1.堆叠(…
文章转载自:https://blog.51cto.com/u_6215974/4937192 ProxySQL 在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数据并不能共通,在主实例上配置后,仍需要在备用节点上进行配置,对管理来说非常不方便.但是ProxySQl 从1.4.2版本后,ProxySQL支持原生的Cluster集群搭建,实例之间可以互通一些配置数据,大大简化了管理与维护操作. ProxySQL是一个非中心化代理,在拓扑中,建议将它部署在靠近应用…
一.Breeze简介 Breeze 项目是深圳睿云智合所开源的Kubernetes 图形化部署工具,大大简化了Kubernetes 部署的步骤,其最大亮点在于支持全离线环境的部署,且不需要FQ获取 Google 的相应资源包,尤其适合某些不便访问互联网的服务器场景.详细资料请阅读官方文档(项目地址https://github.com/wise2c-devops/breeze ) 二.环境准备 1.系统环境 #主机名称需要符合DNS命名规则,另外Harbor为必须组件,详细信息请参考官方文档 2.…
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代版本, Workloads API成为稳定版本,这消除了很多潜在用户对于该功能稳定性的担忧.还有一个重大更新,就是测试支持了Windows了,这打开了在kubernetes中运行Windows工作负载的大门. CoreDNS alpha可以使用标准工具来安装CoreDNS kube-proxy的IP…
一.部署环境 1.1 主机列表 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 lvs-keepalived01 7.6.1810 172.27.34.28 / / v1.3.5 4C4G lvs-keepalived lvs-keepalived01 7.6.1810 172.27.34.29 / / v1.3.5 4C4G lvs-keepalived master01 7.6.1810 17…
一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6.1810 172.27.34.3 18.09.9 v0.11.0 v1.3.5 4C4G control plane master02 7.6.1810 172.27.34.4 18.09.9 v0.11.0 v1.3.5 4C4G control plane master03 7.6.1810 1…
RocketMQ的高可用集群部署 标签(空格分隔): 消息队列 部署 1. RocketMQ 集群物理部署结构 Rocket 物理部署结构 Name Server: 单点,供Producer和Consumer获取Broker地址, 类似于注册中心. Producer: 产生并发送消息. Consumer: 接收并消费消息. Broker: 消息暂存,消息转发. 1.1 Name Server Name Server做的是Rocket的寻址服务, 用于将Broker的路由信息做聚合. 客户端依靠N…
RabbitMQ的高可用集群部署 标签(空格分隔): 消息队列 部署 1. RabbitMQ部署的三种模式 1.1 单一模式 单机情况下不做集群, 仅仅运行一个RabbitMQ. # docker-compose.yml version: '3.1' services: rabbitmq: restart: always image: rabbitmq:management container_name: rabbitmq ports: - 5672:5672 - 15672:15672 env…
1.redis主从高可用集群结构 2.k8s部署有状态的服务选择 对于K8S集群有状态的服务,我们可以选择deployment和statefulset statefulset service&deployment 对于有状态的服务例如:redis和mysql,我们使用statefulset为首选 3.设计原理 statefulset 的设计原理: 拓扑状态 应用的多个实例之间不是完全对等的关系,这个应用实例的启动必须按照某些顺序启动,比如应用的主节点 A 要先于从节点 B 启动.而如果你把 A…
MySQL MHA 高可用集群部署及故障切换 1.概念 2.搭建MySQL + MHA 1.概念: a)MHA概念 : MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件. MHA 的出现就是解决MySQL 单点的问题. MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作. MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用. b)MHA 的组成 : MHA Node(数据节点) MH…
k8s kubeadm部署高可用集群 kubeadm是官方推出的部署工具,旨在降低kubernetes使用门槛与提高集群部署的便捷性. 同时越来越多的官方文档,围绕kubernetes容器化部署为环境, 所以容器化部署kubernetes已成为趋势. 本文主要内容: 基于kubeadm部署方式,实现kubernetes的高可用. master部署 三台master节点上建立etcd集群 使用vip 进行kubeadm初始化master 1. 环境准备 节点 地址 master1,etcd1 10…
之前的文章已对RocketMQ做了详细介绍,这里就不再赘述了,下面是本人在测试和生产环境下RocketMQ3.4.6高可用集群的部署手册,在此分享下: 1) 基础环境 ip地址 主机名 角色 192.168.10.200 mq-master01 broker-a 192.168.10.201 mq-master02 broker-b 192.168.10.202 mq-slave01 broker-a-s 192.168.10.239 mq-slave02 broker-b-s 192.168.…
一.概要 本文记录hbase高可用集群部署过程,在部署hbase之前需要事先部署好hadoop集群,因为hbase的数据需要存放在hdfs上,hadoop集群的部署后续会有一篇文章记录,本文假设hadoop集群已经部署好,分布式hbase集群需要依赖zk,并且zk可以是hbase自己托管的也可以是我们自己单独搭建的,这里我们使用自己单独搭建的zk集群,我们的hadoop集群是用的cdh的发行版,所以hbase也会使用cdh的源. 二.环境 1.软件版本 centos6 zookeeper-3.4…
Breeze项目是深圳睿云智合所开源的Kubernetes图形化部署工具,大大简化了Kubernetes部署的步骤,其最大亮点在于支持全离线环境的部署,且不需要FQ获取Google的相应资源包,尤其适合某些不便访问互联网的服务器场景. (项目地址 https://github.com/wise2c-devops/breeze ) 转载于https://mp.weixin.qq.com/s?__biz=MzI5ODQ2MzI3NQ==&mid=2247485466&idx=1&sn=…
之前写过一篇手动搭建etcd 3.1集群的文章<etcd 3.1 高可用集群搭建>,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境, 先从部署etcd 3.2集群开始. 需要部署etcd的主机信息如下: node1 192.168.61.11 node2 192.168.61.12 node3 192.168.61.13 配置管理项目目录结构 ├── inventories │   ├── staging │   │   ├── group_vars │   │   │  …