`

利用Racher轻松构建PASS平台

 
阅读更多

一,Rancher是什么

1.1 Rancher背景

❶Rancher Labs成立于2014年。总部设立在美国加州的Cupertino。在美国的亚利桑那州的菲尼克斯和中国的深圳设立有研发中心。

❷核心团队自2008年就在一起工作,曾创立Cloud.com并推出了CloudStack,

经历了从VM到容器的整个虚拟化技术演进过程。

❸Rancher的两个产品,Rancher平台和Rancher操作系统,已经有了超过4000

万次的下载量,被大量的运用在了云计算的各个领域。

❹作为容器领域的先行者和重要参与者,Rancher Labs是OCI、CNCF的成员;也是Docker生态核心组织-Docker治理委员会(DGAB)的成员。

1.2 Rancher创始人

❶Rancher创始人是梁胜博士。

❷梁胜博士是美国Rancher Labs Inc.公司联合创始人及公司CEO。

❸在此之前,从2011年至2014年间,梁博士担任Citrix System Inc.公司云平台首席技术官,也是Citrix公司首位华人CTO。

❹在加入Citrix公司之前,梁胜创立了cloud.com公司并担任首席执行官,直至2011年7月被Citrix以2.3亿美金购入旗下。

❺之前他作为Sun Microsystems公司核心主任工程师,先后领导设计和开发了Java 2平台的JNI(Java Native Interface)和JVM(Java虚拟机)。

❻梁胜毕业于中国科技大学少年班,并拥有耶鲁大学计算机博士学位。

1.3 Rancher简介

1.4 容器生态圈

❶什么是容器?

与宿主机系统共享内核但与系统中的其他进程资源隔离的运行环境。

❷容器相关技术的历史(部分)

1982 chroot in Unix

2000 FreeBSD Jail

2001 Linux VServer

2004 Solaris Zone o 2005 OpenVZ

2008 LXC

2013 Docker

2014 Rocket(Rkt) o ......

❸容器生态圈知名产品体系

1.5 Rancher容器管理平台系统架构图

1.6 Rancher容器管理UI界面

二,Rancher如何搭建

提示:为了降低理解难度,以下过程全部采用图形化界面操作以及汉语进行演示,如果想有更进一步的认识或者你是一个极客,请手动敲命令进行操作

2.1 安装Docker环境

❶Windows用户或者Mac用户通过下载  DockerToolbox 来安装 docker, docker-machine 和其他辅助工具,可以到页面https://www.docker.com/products/docker-toolbox中下载

❷安装过程中会检测是否已经安装Virtual Box,如果未安装,则会提示安装Virtual Box

❷安装成功后,桌面会出现Docker Quickstart Terminal 和 Kitematic (Beta)图标

❸点击Kitematic(Docker图形化管理工具),第一次启动的时候自动创建 Virtual Box 的  default 虚拟机.可以打开Virtual Box进行查看,如下图:

❹Kitematic启动成功之后如下图,至此,Docker环境创建成功

2.2 安装Rancher

❶Rancher的各种容器管理理念均架构在由Rancher server和rancher agent构建的Infrastructure之上。Rancher server是Rancher的核心,提供核心容器管理服务以及API服务。

❷Rancher的一个设计理念是所有组件都Containerized(容器化)

❸搭建一个单节点的Rancher Server为例,首先安装一个Rancher server,直接在Kitematic搜索Rancher,如下图,点击CREATE:

❹然后选中Rancher server,点击Start,加载完毕后,点击EXEC,输入命令:PS AUX,可以看到内部,/usr/bin/s6-svscan是容器的第一个启动进程,/service这个 路径作为其命令行参数,又分别内部启动了mysql,graphite_exporter,cattle等服务,注:单节点rancher server的数据都保存在其内部的MySQL中,而多节点rancher server则采用一个外部的MySQL存储数据。

❺等待一定时间后,WEB PREVIEW出现了预览界面,点击小箭头,直接在浏览器打开。

❻打开Rancher server界面,如下,至此,Rancher server已经初步搭建成功!

2.3 管理Rancher,添加用户(Account)

❶第一次启动Rancher后,Rancher的UI是没有访问控制的,点击系统管理->访问控制,如下图,可以看到有7种方式,选择LOCAL,输入用户名和密码

❷然后点击退出登录,可以看到如下界面,访问控制已经添加上

2.4 管理Rancher,设置环境(Environment)

❶登录之后,点击左上角环境管理,Rancher 支持将资源分组归属到多个环境。 每个环境具有自己独立的基础架构资源及服务,并由一个或多个用户、团队或组织所管理。

例如,您可以创建独立的“开发”、“测试”及“生产”环境以确保环境之间的安全隔离,将“开发”环境的访问权限赋予全部人员,但限制“生产”环境的访问权限给一个小的团队。

如下图,建立Pass云测试和Pass云管理,两套环境,分别给测试和开发人员使用,可以修改它的Name、Container Orchestration引擎(cattle、k8s和swarm,默认cattle)以及Access Control,我们使用Cattle进行编排引擎。

下图可以体现出环境的隔离性:

环境管理,也可以基于环境模板,如下图,比如Cattle,上面已经安装好了ipsec,healthcheck等服务:

❷创建好环境后,环境下面还没有设置没有任何Resources(主机、存储 等)可供使用(比如创建Containers)。

选择基础架构,添加主机(hosts),如下图,可以自己定义物理机或者虚拟机,也可以选择亚马逊云等,如果没有发现你想使用的云,比如阿里云,可以选择管理docker-machine驱动进行添加:

 

2.5 管理Rancher,设置主机(Hosts)

❶以添加本地环境作为主机资源为例,将下图中的命令在命令行进行执行

❷执行成功后,可以看到基础设施里面多了一个主机,并且这个主机上,已经默认在跑了一些应用,比如healthcheck,至此一套基础的架构已经具备了

2.6 管理Rancher,设置应用(Stacks)

❶应用(stacks)就是由一组服务组成,比如上图的应用:ipsec由cni-driver-1和ipsec-1服务组成。

❷而服务是一组由相同docker镜像创建的容器,服务扩展了Docker的“link”概念以利用Rancher的轻量级分布式DNS服务用于服务发现。服务可以单独添加或通过应用商店部署。

❸服务也能够利用其他Rancher内置服务,如负载均衡、健康监控、升级支持以及高可用。

下面这幅图直观描述了用户, 环境与应用之间的关系:

❹在Pass云管理环境,创建一个example应用,如下图,点击创建:

❺创建成功后如下图:

2.7 管理Rancher,设置服务(Services)

❶如上图,点击添加服务,输入名称,选择镜像,镜像就可以理解成为用户提供服务的运行程序。这里选择healthcheck为例子。下面可以进行一些端口映射,服务连接,网络,安全,调度等配置

❷成功后,可以看到下图,可以对这个服务进行升级,停止,删除等操作

❸如果用户访问量过大,还可以进行针对这个服务,增加运行节点的数量或者说集群,如下图,可以增加节点数量,点击后,会自动寻找hosts列表,资源比较空闲的主机,或者其他策略。可以快速的将服务部署到任意多个主机节点上。

❹点击查看日志,可以看到服务运行的实时日志:

三,Rancher使用体验

3.1 Rancher自带了一套网络方案

❶rancher 自带了一套网络方案,可以实现跨机器的docker容器互联。

❷其原理大致是:在每个机器上通过docker启动一个路由容器,将docker容器启动时的ip定义为XX.XX网段,并在iptables中将XX.XX网段的请求转发到路由进程的监听端口,进行udp的封装和解封。

❸其原理是隧道技术,都是通过一个程序进行封包解包,并引导docker启动容器时指定相应的ip。

3.2 Rancher使用性

❶自带了一套UI,并集成了日志,shell等

❷支持服务发现,在rancher-agen容器中运行了dns服务

❸支持容器伸缩,一键扩容

❹支持多套环境管理(一套方案,支持开发、测试,生成等多个环境,环境彼此隔离,也即多租户隔离)

总体而言,比较稳定,易于使用

3.3 Rancher解决的典型场景

❶新一代的私有云、混合云

混合云下的容器服务:

应用在不同云间动态扩展和迁移:

容器改变了应用管理的模式:

❷企业应用商店和一键部署应用

❸构建轻量级Pass服务

1
0
分享到:
评论

相关推荐

    zookeeper、kafka集群部署

    zookeeper配置、集群部署 kafka配置、集群部署 Window平台下

    rancher/healthcheck_02

    Docker Web UI插件rancher安装依赖包,用split分解成两个包上传

    docker及微服务架构.txt

    主要是k8s+rancher相关的配置

    企业数字化转型暨数据仓库(数仓)建设方案.pptx

    企业数字化转型暨数据仓库(数仓)建设方案.pptx

    2024年中国LED切割灯行业研究报告.docx

    2024年中国LED切割灯行业研究报告

    目前世界上最好的机器学习&深度学习&神经网络&图神经网络&卷积网络&多层感知机画图工具&基于PPT

    在当今快速发展的人工智能领域中,一款集成了机器学习、深度学习、神经网络、图神经网络、卷积网络及多层感知机可视化功能的画图工具脱颖而出,成为全球范围内最受欢迎和认可的工具之一。这款工具不仅仅是一个简单的绘图软件,它的设计初衷是为了让复杂的网络结构和算法直观化,从而帮助研究者、学者及开发人员更容易地理解和分享他们的工作。 最令人印象深刻的特色之一是它基于PPT的编辑能力,这允许用户在熟悉的PPT编辑环境中创建、编辑和展示复杂的网络结构。用户可以利用拖拉组件、调整尺寸、修改颜色和形状等功能,无缝地将科研成果或项目展示集成到演示文稿中,极大地提高了工作的效率和表现力。 该工具不仅支持广泛的网络结构和模型,还包含丰富的库和模块,让用户能够轻松自定义和扩展自己的模型。它的用户界面友好、直观,无论是机器学习的新手还是资深研究员,都能快速上手,将精力更多地集中在创新和研究上,而不是图形的绘制和编辑上。 此外,它强大的共享和合作功能,使得团队成员可以实时共享他们的成果,促进了知识的交流和项目的进展。这款工具不仅改善了人工智能领域内部的工作方式,也为更广泛的受众提供了学习和理解复杂算法的窗口。 总

    2024年中国B型超声诊断设备行业研究报告.docx

    2024年中国B型超声诊断设备行业研究报告

    node-v11.0.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v10.8.0-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    web javaScript 获取终端ip 获取本地ip 获取本机ip地址,403报错解决方案

    内容概要:通过带着读者手写简化版 ajax请求框架,了解网络请求核心原理。在手写ajax的过程中会摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:XMLHttpRequest、jsonp请求、作用域、资源处理等内容实现。 适用人群:具备一定编程基础,工作1-3年的大前端开发、网络安全的研发人员 适用场景:金融支付、设备识别、IP 限制、网络监控、技术测试 能学到什么:手写ajax请求、兼容jsonp请求、动态添加meta标签、动态获取本地ip、处理403网络请求报错。 阅读建议:可以在以下框架中使用:react、react-native、vue、javaScript、web、jquery框架。在webapp工程,获取终端ip 获取本地ip 获取本机ip地址,403报错解决方案。

    node-v4.4.6-x64.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Stm32学习笔记,超详细.txt

    Stm32学习笔记,超详细

    halcon 3D图像重建

    halcon 3D图像重建。

    node-v8.16.2-linux-armv6l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    虚拟网卡库,Python或者C都可以调用

    虚拟网卡库,Python或者C都可以调用,虚拟网卡

    IEC 60364-7-721-2017 低压电气装置.第7-721部分:特殊装置或场所的要求.房车和机动房车中的电气装置.

    IEC 60364-7-721-2017 低压电气装置.第7-721部分:特殊装置或场所的要求.房车和机动房车中的电气装置.pdf

    BS 1363-1-2023 :13A插头、插座、适配器和连接装置第1部分:可重新布线和不可重新布线的13A保险丝插头规范

    BS 1363-1-2023 :13A插头、插座、适配器和连接装置第1部分:可重新布线和不可重新布线的13A保险丝插头规范.pdf

    平安业研一体 BizDevOps—降本增效与业务价值最大化实践-龚明杰.pdf

    平安业研一体 BizDevOps—降本增效与业务价值最大化实践-龚明杰

    2021年美赛A~F题36篇特等奖论文合集.pdf

    大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,历年美赛特等奖O奖论文

    node-v8.12.0-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics