阿里云负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(ECS)的流量分发控制服务。

本文将详尽演示Rancher如何通过Aliyun-slb服务对接阿里云SLB。

概要

阿里云负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(Elastic Compute Service,简称 ECS)的流量分发控制服务。

负载均衡服务通过设置虚拟服务地址,将位于同一地域的多台ECS实例虚拟成一个高性能、高可用的应用服务池;再根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。负载均衡服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。

负载均衡服务会检查云服务器池中ECS实例的健康状态,自动隔离异常状态的ECS实例,从而解决了单台ECS实例的单点问题,提高了应用的整体服务能力。在标准的负载均衡功能之外,负载均衡服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务的防护能力。

此篇文章中,我将演示Rancher如何通过Aliyun-slb服务对接阿里云SLB 。Rancher的安装这里就不再叙述,具体安装方法可参照部署文档http://rancher.com/docs/ranch... 或观看在线培训。以下文章基于一套已经搭建好的Rancher系统。

Aliyun-SLB应用原理

首先,我们需要在阿里云SLB页面创建SLB实例,记录实例的ID号,然后进入实例创建一条监听策略,策略中配置了前端端口和后端服务器端口。

按阿里云SLB原始的工作方式,需要手动添加有对应端口的服务器到后端服务器池,这样通过前段端口发来的请求会自动转发到后端服务器。而通过Aliyun-SLB可以实现自动把对应后端服务器添加到后端服务器池中。

Aliyun-SLB 应用通过API与阿里云平台对接, Rancher中启动服务时添加一个标签来表示这个服务需要使用阿里云负载均衡,启动的应用需要映射宿主机端口。 Aliyun-SLB应用根据创建应用映射的宿主机端口去检测阿里云负载均衡有没有监听相应的端口。如果端口检测通过,那么Aliyun-SLB会把服务的相关参数传递给负载均衡;否则会提示刷新配置失败,负载均衡没有监听某某端口。

Aliyun-SLB 服务安装

添加Aliyun-SLB应用商店

通过Rancher_server-ip:8080登录WEB后,在系统管理|系统设置中添加一个自定义商店。

名称:SLB
地址:https://github.com/niusmallna...
版本:master

保存后,在应用商店|全部 中搜索slb可以看到相应的应用。

Aliyun-slb安装

点击详情后进入配置界面:

名称:保持默认;
描述:可选;

配置选择
SLB Access Key ID: AccessKey管理器中查看;
SLB Secret Access Key:AccessKey管理器中查看;
SLB Region:SLB所在区域。进入SLB首页后,选中你SLB服务所在的区域,查看浏览器的地址。比如,如果是华南区,查看浏览器地址

那么cn-shenzhen就是它的区域;

Aliyun VPC ID:VPC ID,进入VPC网络首页,找到你ECS绑定的VPC网络并点击进去,页面的中间有一个ID;

ECS Private IP Lookup :这个地方需要选择true,原因后面讲解;

最后点击启动,等待应用启动完成。

Aliyun SLB配置

登录阿里云控制台,进入负载均衡首页。右上角点击创建负载均衡,根据需要创建好负载均衡后,如图:

点击负载均衡名称进入负载均衡配置界面,点击左侧监听,接着点击右上角添加监听。

如下图,因为接下来要启动一个nginx服务来演示,所以这里前端通过http协议监听8888端口,后端(ECS服务器)容器映射到8888端口上;

宽带和调度算法保持默认;

虚拟服务器组:把多个运行相同服务的主机捆绑在一起,这个适用于手动配置SLB,Aliyun SLB动态配置不需要勾选;

高级配置保持默认;

监控检测中端口设置8888,其他默认;



其他的保持默认,返回负载均衡列表。

配置好的负载均衡如下图:

因为Aliyun SLB应用动态注册可用的服务信息到负载均衡实例上,后端服务器这里就不需要设置。

现在,我们回到前面讲到的ECS Private IP Lookup 开关,如果设置没有打开,ECS服务器的IP地址无法传递给负载均衡实例,最后会导致负载均衡实例无法动态获取到后端服务器。

示例服务配置

接下来创建一个nginx应用栈并创建一个nginx服务。创建服务的时候有几个地方要设置:

1、端口映射

服务映射到宿主机的端口必须与负载均衡里面配置的端口相同;

2、服务容器标签

创建容器的时候需要指定一个标签:io.rancher.service.external_lb.endpoint=xxxx, 后面的XXXX为创建的负载均衡实例ID,这个ID在负载均衡首页可以看到。


nginx服务跑起来之后,我们看Aliyun SLB服务的日志:

我起了两个nginx实例分别运行在两台主机上。

现在可以正常访问了。进入负载均衡首页查看,已经获取到后端服务器了。

负载均衡测试

首先修改nginx默认页面的内容并刷新,因为默认为轮询,所以每刷新一次页面就会变化:



9月27日,北京海航万豪酒店,容器技术大会Container Day 2017即将举行。

CloudStack之父、海航科技技术总监、华为PaaS部门部长、恒丰银行科技部总经理、阿里云PaaS工程总监、民生保险CIO······均已加入豪华讲师套餐!

11家已容器落地企业,15位真·云计算大咖,13场纯·技术演讲,结合实战场景,聚焦落地经验。免费参会+超高规格,详细议程及注册链接请戳

Rancher通过Aliyun-slb服务对接阿里云SLB教程相关推荐

  1. Rancher通过Aliyun-slb服务对接阿里云SLB教程 1

    概要 阿里云负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器(Elastic Compute Service,简称 ECS)的流量分发控制服务. 负载 ...

  2. go 服务接入短信验证码功能(对接阿里云平台)

    简介 短信验证码还是比较常用的功能,已经有了很成熟的方案,本篇介绍的是对接阿里云的短信服务,一条短信大概两分钱. 基本的流程是: 到对应的云平台申请权限,大致费用都差不多 照着官方文档进行对接,并集成 ...

  3. 阿里云SLB负载均衡理论与操作

    目录 一.负载均衡概念 二.SLB 1.CLB与ALB 2.负载均衡包含的模块 3.使用ECS的优势 3. 负载均衡的使用场景 4.SLB的优势 5.SLB提供的功能 6.SLB的应用场景 7.SLB ...

  4. 阿里云SLB负载均衡理论与详细操作

    目录 负载均衡概念 CLB与ALB 负载均衡包含的模块 使用ECS的优势 负载均衡的使用场景 SLB的优势 SLB提供的功能 SLB的应用场景 SLB架构详细讲解 SLB应用实战 添加SLB后端服务器 ...

  5. 对接阿里云短信服务(附视频教程)

    阿里云短信服务文档使用指引: https://help.aliyun.com/document_detail/59210.html B站视频教程链接: https://www.bilibili.com ...

  6. 手把手教你对接阿里云短信服务

    正好双十二,最近在做一个小项目需要用到短信业务,注册了新用户125买了5000条短信,有效期2年. 那么如何对接阿里云短信,需要做哪些操作? 可以参考https://help.aliyun.com/d ...

  7. java对接阿里云短信服务详解(验证码,推广短信,通知短信)

    前言 小前提: - java:springboot框架,maven版本管理. - 阿里云:有账号,已经进行实名认证. java对接阿里云短信服务详解(验证码,推广短信,通知短信) 前言 1. 登录阿里 ...

  8. 基于SAML 2.0对接阿里云的SSO(单点登录)

    背景 公司使用的阿里云作为公有云,每次员工入职或离职时同时需要维护两套账号(一套内部账号,一套阿里云RAM账号),为了让用户能够使用内部账号能访问阿里云,所以决定对接阿里云的SSO 主流程介绍 用户访 ...

  9. 调用阿里云SLB API设置SLB权重

    背景:服务部署在阿里云ECS上,使用了阿里云SLB做负载均衡.使用jenkins做金丝雀发时,希望可以自动修改SLB的权重,实现服务器的上下线. 安装阿里云Python SDK 完成以下操作安装Pyt ...

最新文章

  1. 服务器无响应 错误691,错误 691:由于域上的用户名和/密码无效而拒绝访问的原因及解决办法...
  2. 以无代码的方式将Form打印内容转成生成PDF文件
  3. ThinkPHP php 仿千图网源码_PHP微信表白墙源码 基于ThinkPHP框架开发
  4. Tomcat配置及原理文章
  5. jsp过滤器示例_Java 8过滤器,地图,收集和流示例
  6. 保驾护航金三银四,100%好评!
  7. python画roc曲线_使用Python画ROC曲线以及AUC值
  8. 输入5个学生的名字(英文),使用冒泡排序按从大到小排序。 提示:涉及到字符串数组,一个字符串是一个一维字符数组;一个 字符串数组就是一个二维字符数组。...
  9. easyui dialog 不执行页面js_Spring Security(六):前端菜单,角色权限页面的搭建
  10. echarts的legend显示不全_Echarts【1、数据过多导致显示不全分页,2、数据展示探讨分析】...
  11. linux编程基础黑马要点总结,黑马《linux基础编程》学习笔记(从6到10)
  12. html设置表格边框样式
  13. 算法精解(一):C语言描述(链表)
  14. 图形2.5 Bump Map的改进(凹凸映射)
  15. ACSII,GB2312,GBK,GB18030,Unicode,UTF8,UTF16,UTF32,BOM区别与转换——字符编码最全总结
  16. Python之Sqlitespy中选出两表中以id相同的元素
  17. .Bear勒索病毒如何删除它 .Bear后缀文件如何恢复(Dharma家族)
  18. 性能测试能力提升-基准、负载、压力、容量测试
  19. js中offset、client、scroll【总结】
  20. C语言——十进制转化为二进制

热门文章

  1. python培训班排行榜-西安排名前十的python开发培训学校排行榜
  2. python写程序求1-3+5-7+...-99+101的值-python基本练习
  3. 快速排序 python菜鸟教程-1.6 快速排序
  4. python opencv 保存摄像头视频,以及fourc编码的介绍
  5. 在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
  6. LeetCode Simplify Path(栈操作)
  7. day1学python Hello Python
  8. 《python3网络爬虫开发实战》第一章、开发环境配置-问题汇总
  9. 在myeclipse当中使用正则表达式去除单行注释
  10. 丰润达全面完成安防传输生态体系布局