keepalived

搭建高可用Kubernetes集群之Haproxy+Keepalived集群搭建篇(二)

一个人想着一个人 提交于 2020-08-11 04:49:29
https://www.jianshu.com/p/7a41f0294f32 人生如逆旅,我亦如行人 本篇教程将大家Haproxy+Keepalived集群,主机规划可以参考我的这一篇文章 搭建高可用Kubernetes集群之etcd集群搭建篇(一) Keepalived简介 说到Keepalived,首先介绍一下什么是VRRP(Virtual Router Redundancy Protocol)协议,即虚拟器路由冗余协议,是为了解决局域网内默认网关单点失效的问题。 VRRP 将局域网内的一组路由器组成一个虚拟路由器组,每个路由器都有自己的局域网地址, 根据设置的优先级最高决定那个是master路由器。然后网关地址赋给该主路由器, 该主路由器定时发送VRRP报文向虚拟路由器组公布健康状况, 备份的路由器根据柏爱文判断Master路由器是否工作正常,从而决定是否要接替它. VRRP说白了就是实现IP地址漂移的,是一种容错协议。在下图中,Router A(10.100.10.1)、Router B(10.100.10.2)和Router C(10.100.10.3) 组成一个虚拟路由器。各虚拟路由器都有自己的IP地址。局域网内的主机将虚拟路由器设置为缺省网关。 Router A、Router B和Router C中优先级最高的那台路由器作为Master路由器,比如A,承担网关的功能

自动化运维工具Ansible之LNMP实践环境部署

落花浮王杯 提交于 2020-08-11 04:41:29
Ansible-实战指南-LNMP环境部署,并使用zabbix监控 主机规划 系统初始化:必要的系统初始化 基础组件包括:zabbix监控,mariadb(用于存放zabbix监控信息) 业务组件包括:MySQL、memcached、nginx、PHP、haproxy、keepalived 添加用户账号 说明: 1、 运维人员使用的登录账号; 2、 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放; 3、 该用户也被 ansible 使用,因为几乎所有的生产环境都是禁止 root 远程登录的(因此该 yun 用户也进行了 sudo 提权)。 1 # 使用一个专门的用户,避免直接使用root用户 2 # 添加用户、指定家目录并指定用户密码 3 # sudo提权 4 # 让其它普通用户可以进入该目录查看信息 5 useradd -u 1050 -d /app yun && echo ' 123456 ' | /usr/bin/ passwd -- stdin yun 6 echo " yun ALL=(ALL) NOPASSWD: ALL " >> /etc/ sudoers 7 chmod 755 /app/ 备注:记得在管理机 172.16.1.180 上实现对其他机器的免密登录。 Ansible 配置清单Inventory 1 [yun@ansi

harbor基于keepalive高可用部署(二)

岁酱吖の 提交于 2020-08-10 21:06:53
6.Harbor配置 6.1.harbor01节点 1.修改harbor.cfg cat >/root/harbor/harbor.cfg <<-'EOF' _version = 1.5.0 hostname = reg.xgmin.com ui_url_protocol = https max_job_workers = 50 customize_crt = off ssl_cert = /data/cert/reg.xgmin.com.crt ssl_cert_key = /data/cert/reg.xgmin.com.key secretkey_path = /data admiral_url = NA log_rotate_count = 50 log_rotate_size = 200M http_proxy = https_proxy = no_proxy = 127.0.0.1,localhost,ui email_identity = email_server = smtp.mydomain.com email_server_port = 25 email_username = sample_admin@mydomain.com email_password = abc email_from = admin <sample_admin@mydomain.com>

使用keepalived搭建双机热备高可用一览

情到浓时终转凉″ 提交于 2020-08-10 06:01:37
很多时候大家为了部署高可用方案都是前端配一个 nginx,如果nginx挂掉怎么办,比如下面这张图: 你可以清楚的看到,如果 192.168.2.100 这台机器挂掉了,那么整个集群就下线了,这个问题该怎么解决呢???简单的想想确实不大好处理,因为你的前端请求总得要访问一个ip地址,对吧。。这个问题怎么破呢? 一:问题分析 如果你有一些网络底子的话,就会明白,你给一个不在本网段的机器发送请求的话,这个请求会先经过你的网关IP,然后通过网关IP传给对方的网关IP,然后网关IP会将请求转给它所在局域网的主机,当然我的网关IP和对方的网关IP之间可能有很多跳的路由地址,大概的流程就是下面这样: 如果你不信的话,可以用 tracert 看看你到 www.ctrip.com 的路由总过程。 从上图中可以看到,从我当前主机到 ctrip.com 一共有20跳,第一条是192.168.2.1,这个就是我的路由器IP,也就是我的网关IP。 二:虚拟路由冗余协议 好了,说了这么多有什么用呢?其实大家仔细观察这张图,你会想我能不能在网关IP上做一些手脚呢?可喜的是如今的路由器基本上都支持一个叫做VRRP(虚拟路由冗余协议),这一协议的作用你可以理解成把网关IP虚拟化成一个网关IP集群,就好像兽族剑圣的镜像技能,这里面有master,也有slave,然后局域网内的主机设置的都是虚拟的masterIP

Keepalive+Haproxy高可用集群安装与配置

末鹿安然 提交于 2020-08-10 04:04:01
环境准备 安装环境: Haproxy版本:Haproxy-1.8.20 keepalived版本:keepalived v1.3.5 Haproxy:172.24.77.241(master) Haproxy:172.24.77.242(backup) VIP地址:172.24.77.245 Haproxy安装:master和backup服务器安装Haproxy 安装依赖包 yum install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools vim iotop bc zip unzip zlib-devel lrzsz tree screen lsof tcpdump wget ntpdate -y 下载并解压安装包 cd /usr/local/src/ wget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-1.8.20.tar.gz/sha512

LVS+Keepalive高可用集群安装与配置

旧城冷巷雨未停 提交于 2020-08-09 20:39:30
环境准备 安装环境: LVS版本:LVS-1.4.21 keepalived版本:keepalived v1.3.5 LVS:172.24.77.241(master) LVS:172.24.77.242(backup) VIP地址:172.24.77.246 LVS安装:master和backup服务器安装LVS 先检查/usr/src/kernels目录下是否有文件,没有则需要安装kernels ll /usr/src/kernels 安装Kernels yum -y install kernel-devel 安装软链接检查内核版本 ln -s /usr/src/kernels/3.10.0-957.27.2.el7.x86_64/ /usr/src/linux 检查内核模块,看一下ip_vs 是否被加载 lsmod |grep ip_vs !如果没有则运行以下命令 modprobe ip_vs 安装依赖插件 yum install libnl libpopt -y yum install popt-static -y 安装ipvsadm cd /usr/src wget -c http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz tar -xzvf ipvsadm-1.26.tar

LVS和keepalive

落花浮王杯 提交于 2020-08-08 21:59:04
LVS: node01: ifconfig eth0:8 192.168.150.100/24 node02~node03: 1)修改内核: arp通告级别 echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 2)设置隐藏的vip: ifconfig lo:3 192.168.150.100 netmask 255.255.255.255 RS中的服务: node02~node03: yum install httpd -y service httpd start vi /var/www/html/index.html from 192.168.150.1x LVS服务配置 node01: yum install ipvsadm ipvsadm -A -t 192.168.150.100:80 -s rr //添加lvs转发 ipvsadm -a -t 192.168.150.100:80 -r 192.168.150.12 -g -w 1 /

高可用集群架构 — N+1 模型

落爺英雄遲暮 提交于 2020-08-08 14:34:08
目录 文章目录 目录 前言 高可用集群架构 高可用集群模型模型 N+1 模型 N+1 模型关键技术 单进程多定时器的设计 冗余节点快速切换技术 服务器池多级检测机制 前言 本地是对论文《服务器池的高可用 N+1 冗余结构模型》的学习记录,详细请浏览论文。 高可用集群架构 一主多备架构:同一时间只有一个 Master 节点提供服务,多个 Slave 备份节点用于替换。 多活架构:同一时间有多个处于 ACTIVE 状态的节点提供服务,通常结合负载均衡策略使用。 高可用集群模型模型 N+1 模型:有 N 个在工作,1 个空闲作为冗余。 N/N 模型:N 个节点中同时运行 N 个服务。 N+1 模型 服务器机群的高可用性需要靠双前端负载分配器和后端服务器池来保障,经典案例为:HAProxy + Keepalived 架构。双前端结构消除了前端单一故障点隐患,后端服务器池屏蔽了服务器的故障所引起的服务中断的情况。双前端结构是高可用机群应用最广泛的模型,许多早期的服务器都采用这种方式保证服务器可靠运行。为追求更高的可靠性,还会扩展到 3 个或更多的节点,例如:3 节点仲裁架构。 高可用系统会将某故障服务器上的工作迁移到其他节点,以保证为客户继续提供服务。服务迁移的前提就是能够及时准确地发现失效节点,即心跳检测机制。常见的心跳检测方案有信任度模型、投票模型和邻居模型,目的在于提出对多于 2

虚拟IP原理及使用

吃可爱长大的小学妹 提交于 2020-08-08 06:41:31
一、前言 高可用性 HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA 系统是目前企业防止核心计算机系统因故障停机的最有效手段。 实现 HA 的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。 二、虚拟IP技术原理 1. 怎么实现故障检测? 心跳检测技术。采用定时发送一个数据包,如果机器一定时间没响应,就认为是发生故障,自动切换到热备的机器上去。 2. 怎么实现主备自动切换? 虚拟IP技术。虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机,所有项目中数据库链接一项配置的都是这个虚IP,当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。 其实现原理主要是靠 TCP/IP 的 ARP 协议。因为IP地址只是一个逻辑地址,在以太网中 MAC 地址才是真正用来进行数据传输的物理地址,每台主机中都有一个 ARP 高速缓存,存储同一个网络内的 IP 地址与 MAC 地址的对应关系,以太网中的主机发送数据时会先从这个缓存中查询目标 IP 对应的 MAC

实战 | Nginx+keepalived 实现高可用集群

て烟熏妆下的殇ゞ 提交于 2020-08-08 02:36:05
前言 今天通过两个实战案例,带大家理解 Nginx+keepalived 如何实现高可用集群,在学习新知识之前您可以选择性复习之前的知识点: 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 Nginx 配置文件详解 一文带你读懂Nginx反向代理 一文彻底读懂nginx中的location指令 Nginx负载均衡原理及配置实例 Nginx为什么快到根本停不下来? Keepalived入门学习 Keepalived高可用服务配置实例 Nginx+Keepalived 高可用集群(主从模式) 集群架构图 注意:Keepalived服务器同样是nginx负载均衡器。 1、准备四台机器 本实验系统均使用Centos 7.5,在 所有节点 进行以下操作: // 查看操作系统 [root@LB-01 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) //关闭并禁用防火墙 [root@LB-01 ~]# systemctl stop firewalld [root@LB-01 ~]# systemctl disable firewalld //关闭selinux [root@LB-01 ~]# sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc