keepalived

jinja2模板

半腔热情 提交于 2019-12-04 20:57:19
调用变量 判断语句 循环语句 toc 调用变量 Jinja2是 Python 下一个被广泛应用的模版引擎, Ansible 可以使用jinja2模板调用变量等。 jinja2 ## 写一个模板文件(使用facts变量) [root@Ansible project]# vim jinja.j2 {{ ansible_distribution }} ## 受控端系统 {{ ansible_eth0.ipv4.address }} ## 受控端eth0的IP {{ ansible_hostname }} ## 受控端主机名 {{ ansible_memtotal_mb // 4 }} ## 受控端总内存除以4取整 ## 模板文件放到受控端(根据变量转换成值) [root@Ansible project]# vim copy_file.yml - hosts: hosts tasks: - name: Copy File template: ##copy模块不支持转换模板文件 src: ./jinja.j2 dest: /tmp/test.txt - name: Cat File shell: cat /tmp/test.txt register: test_file - name: Print test_file debug: var: test_file.stdout_lines ##

keepalived高可用配置注意事项

我与影子孤独终老i 提交于 2019-12-04 20:56:27
1) 同一套keepalived集群中virtual_router_id 要保持一致 /var/log/messages日志keepalived启动正常日志: Nov 18 22:42:07 db01 Keepalived_vrrp[26691]: Opening file '/etc/keepalived/keepalived.conf'. Nov 18 22:42:07 db01 Keepalived_vrrp[26691]: VRRP_Instance(VI_2) removing protocol VIPs. Nov 18 22:42:07 db01 Keepalived_vrrp[26691]: Using LinkWatch kernel netlink reflector... Nov 18 22:42:07 db01 Keepalived_vrrp[26691]: VRRP sockpool: [ifindex(6), proto(112), unicast(0), fd(10,11)] Nov 18 22:42:08 db01 Keepalived_vrrp[26691]: VRRP_Instance(VI_2) Transition to MASTER STATE Nov 18 22:42:09 db01 Keepalived_vrrp[26691]: VRRP

Ubuntu编译安装HAprox+Keepalived+MySQL负载高可用架构(结合Docker容器配置)

匆匆过客 提交于 2019-12-04 18:41:33
系统环境: Ubuntu16.04(Docker容器) 架构环境: Keepalived/HAproxy MASTER: 172.17.0.4 Keepalived/HAproxy BACKUP: 172.17.0.6 MySQL MASTER: 172.17.0.2 MySQL SLAVE: 172.17.0.3 HAproxy版本:haproxy-2.0.8.tar.gz Keepalived版本:keepalived-2.0.19.tar.gz 一、安装 HAproxy(MASTER/BACKUP两台都要装) 1、前往官网 https://www.haproxy.org/ 下载 HAproxy 解压,进入 haproxy-2.0.8目录 vim INSTALL;查看安装说明 2、编译安装HAproxy ( 1)编译 报错 1:bash: make: command not found 我直接用 docker容易,make命令没安装,安装一下: apt-get -y install make 然后执行: make -j 2 TARGET=generic USE_GZIP=1 报错 2:/bin/sh: 1: gcc: not found 未安装 gcc,安装gcc: apt-get -y install gcc 然后再执行: make -j 2 TARGET=generic

使用keepalived实现双机热备

微笑、不失礼 提交于 2019-12-04 17:51:29
通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。 当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。 下面来以keepalived结合tomcat来实现一个web服务器的双机热备。 keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。 在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。 VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。 Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。 我们在本文中的测试环境如下 两台物理服务器和一个虚拟服务器(vip): master:redhat 2.6.18-53.el5 192.168.8.4 backup: redhat 2.6.18-53.el5 192.168.8.6 vip: 192.168.8.100 测试环境的网络topology图如下: 节点A 192.168.8.4 (主节点), 节点B 192.168.8.6(备用节点),虚拟IP

Ubuntu Server中安装keepalived

旧街凉风 提交于 2019-12-04 15:58:01
场景 Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。 Keepalived官网 https://keepalived.org/download.html 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 除了去官网下载tar包,还可以使用wget进行下载 keepalived下载 首先进入到 /usr/local/src目录 cd /usr/local/src wget http://www.keepalived.org/software/keepalived-1.2.18.tar.gz 安装相关依赖 apt-get update && apt-get upgrade apt-get install libpop-dev apt-get install daemon 安装keepalived 在上面使用 wget 或者手动从官方下载tar包并上传到 /usr/local/src下后

Ubuntu Server中怎样卸载keepalived

安稳与你 提交于 2019-12-04 15:53:56
场景 在Ubuntu Server中进行安装keepalived ,如果安装过程中出现纰漏,想要重新安装keepalived或者就是想直接卸载keepalived。 我们在安装keepalived时指定过安装路径为 /usr/local/src/keepalived ./configure --prefix=/usr/local/keepalived 实现 所以在卸载时也需要先进入到安装目录 cd /usr/local/src/keepalived make uninstall #执行卸载 删除相关文件 rm -f /usr/local/sbin/keepalived rm -f /usr/local/etc/rc.d/init.d/keepalived rm -f /usr/local/etc/sysconfig/keepalived rm -rf /usr/local/etc/keepalived rm -f /usr/local/bin/genhash 删除完成后查看相关的几个目录 /usr/local/src /usr/local /etc 查询这几个目录下是否含有keepalived相关的目录或者文件, 文件使用rm -f **删除 文件夹使用rm -rf **删除 来源: https://www.cnblogs.com/badaoliumangqizhi/p

CentOS 6.5高可用集群LVS+Keepalived

时间秒杀一切 提交于 2019-12-04 12:32:15
环境介绍 操作系统: CentOS 6.5_x64 mini 负载均衡模式:DR(直接路由) LVS与Keepalived简述: LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,很好的可伸缩性、可靠性和管理性。 LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。 Keepalived采用VRRP(virtual router redundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现linux服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案-----由多台路由器组成一个热备组。通过共用的虚拟IP地址对外提供服务;每个热备组内同一时刻只有一台主服务器提供服务,其他服务器处于冗余状态,若当前在线的服务器失败,其他服务器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务。 一、配置主从LVS服务器 安装依赖包: yum install -y gcc gcc-c++ makepcre pcre-devel openssl-devel kernel-devel

kubeadm安装k8s高可用集群

佐手、 提交于 2019-12-04 11:42:44
kubeadm安装k8s高可用集群 系统版本:CentOS7.5 Kubernetes版本:v1.15.0 docker版本:18.06 k8s-vip k8s-m1 k8s-m2 k8s-m3 192.168.1.200 192.168.1.201 192.168.1.202 192.168.1.203 配置主机名 cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.201 k8s-m1 192.168.1.202 k8s-m2 192.168.1.203 k8s-m3 hostnamectl set-hostname k8s-m1/2/3 ssh免秘钥登录 ssh-keygen ssh-copy-id root@192.168.1.201/202/203 初始化脚本 cat init_env.sh #!/bin/bash #关闭防火墙 SELINUX systemctl stop firewalld && systemctl disable firewalld setenforce 0

Kubernetes Ingress-Nginx实现高可用

我与影子孤独终老i 提交于 2019-12-04 09:12:52
假定我们在Kubernetes 指定两个worker节点中部署了ingress nginx来为后端的pod做proxy,这时候我们就需要通过keepalived实现高可用,提供对外的VIP 首先我们要先确保有两个worker节点部署了ingress nginx 在本实验中,环境如下: IP地址 主机名 描述 10.0.0.31 k8s-master01 10.0.0.34 k8s-node02 ingress nginx、keepalived 10.0.0.35 k8s-node03 ingress nginx、keepalived 1、查看ingress nginx状态 [root@k8s-master01 Ingress]# kubectl get pod -n ingress-nginx -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-ingress-controller-85bd8789cd-8c4xh 1/1 Running 0 62s 10.0.0.34 k8s-node02 <none> <none> nginx-ingress-controller-85bd8789cd-mhd8n 0/1 Pending 0 3s <none> <none>

微服务化的十个设计要点

喜欢而已 提交于 2019-12-04 06:43:38
原文: https://juejin.im/entry/5b35a770e51d4558cc35d95c 微服务有哪些要点呢?先看下图是 SpringCloud 的整个生态。 设计要点一:API 网关 在实施微服务的过程中,不免要面临服务的聚合与拆分,当后端服务的拆分相对比较频繁的时候,作为手机 App 来讲,往往需要一个统一的入口,将不同的请求路由到不同的服务,无论后面如何拆分与聚合,对于手机端来讲都是透明的。 有了 API 网关以后,简单的数据聚合可以在网关层完成,这样就不用在手机 App 端完成,从而手机 App 耗电量较小,用户体验较好。 有了统一的 API 网关,还可以进行统一的认证和鉴权,尽管服务之间的相互调用比较复杂,接口也会比较多,API 网关往往只暴露必须的对外接口,并且对接口进行统一的认证和鉴权,使得内部的服务相互访问的时候,不用再进行认证和鉴权,效率会比较高。 有了统一的 API 网关,可以在这一层设定一定的策略,进行 A/B 测试,蓝绿发布,预发环境导流等等。API 网关往往是无状态的,可以横向扩展,从而不会成为性能瓶颈。 设计要点二:无状态化,区分有状态的和无状态的应用 影响应用迁移和横向扩展的重要因素就是应用的状态,无状态服务,是要把这个状态往外移,将 Session 数据,文件数据,结构化数据保存在后端统一的存储中,从而应用仅仅包含商务逻辑。