Rancher2.1平台搭建及使⽤
⼀、概述
1.1、什么是Rancher
1.2、Rancher架构
1.2.1、Docker简述
1.2.2、Kubernetes简述
1.2.3、Rancher架构
⼆、相关术语
2.1、全局层
2.2、集层
2.3、项⽬层
2.4、其他 (右上⾓登录菜单)
三、Rancher v2.1.0功能列表
3.1、K8S集管理
3.2、多租户功能
3.3、容器主机管理
3.4、容器调度与管理
3.5、容器应⽤管理
3.6、容器管理
3.7、容器⽹络管理
3.8、负载均衡服务
3.9、容器存储服务
3.10、系统监控及⽇志
3.11、应⽤商店管理
3.12、系统管理及安全
3.13、镜像库功能
3.14、系统集成⽀持
3.15、CI/C功能
四、快速⼊门
4.1、⼊门须知
4.2、配置Linux主机
4.2.1、系统需求:
4.2.2、硬件需求:
4.2.3、软件需求:
4.3、安装Rancher
4.4、登录Rancher
4.5、创建K8S集
4.6、部署⼯作负载
五、安装
5.1、基础环境配置
5.1.1、主机配置
5.1.1.1、配置要求
5.1.2、Docker安装与配置
5.2、⾃签名ssl证书
5.2.1、配置⾃定义CA认证
5.2.3、配置Rancher的⾃定义CA认证
5.3、安装Rancher并配置SSL证书
[参考⽂档]:
⼀、概述
1.1、什么是Rancher
Rancher是⼀套容器管理平台,它可以帮助组织在⽣产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满⾜IT需求并为DevOps团队提供⽀持。
Kubernetes不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化⼚商提供的标准基础架构。Rancher⽤户可以选择使⽤Rancher Kubernetes Engine(RKE)创建Kubernetes集,也可以使⽤GKE,AKS和EKS等云Kubernetes服务。 Rancher⽤户还可以导⼊和管理现有的Kubernetes集。
Rancher⽀持各类集中式⾝份验证系统来管理Kubernetes集。例如,⼤型企业的员⼯可以使⽤其公
司Active Directory凭证访问GKE中的Kubernetes集。IT管理员可以在⽤户,组,项⽬,集和云中设置访问控制和安全策略。 IT管理员可以在单个页⾯对所有Kubernetes集的健康状况和容量进⾏监控。
Rancher为DevOps⼯程师提供了⼀个直观的⽤户界⾯来管理他们的服务容器,⽤户不需要深⼊了解Kubernetes概念就可以开始使⽤Rancher。 Rancher包含应⽤商店,⽀持⼀键式部署Helm和Compose模板。Rancher通过各种云、本地⽣态系统产品认证,其中包括安全⼯具,监控系统,容器仓库以及存储和⽹络驱动程序。下图说明了Rancher在IT和DevOps组织中扮演的⾓⾊。每个团队都会在他们选择的公共云或私有云上部署应⽤程序。
1.2、Rancher架构
1.2.1、Docker简述
Docker是容器打包和runtime标准。开发⼈员从Dockerfiles构建容器镜像,并从Docker镜像仓库中分发容器镜像。Docker Hub是最受欢迎的公共镜像仓库,许多组织还设置私有Docker镜像仓库。Docker主要⽤于管理各个节点上的容器。
【注意】:虽然Rancher 1.6⽀持Docker Swarm集技术,但由于Rancher2.0基于Kubernetes调度引擎,
所以Rancher2.0不再⽀持Docker Swarm。
1.2.2、Kubernetes简述
Kubernetes已成为容器集管理标准,通过YAML⽂件来管理配置应⽤程序容器和其他资源。Kubernetes执⾏诸如调度,扩展,服务发现,健康检查,密⽂管理和配置管理等功能。
⼀个Kubernetes集由多个节点组成:
etcd database
通常在⼀个节点上运⾏⼀个etcd实例服务,但⽣产环境上,建议通过3个或5个(奇数)以上的节点来创建ETCD HA配置。
Master nodes
主节点是⽆状态的,⽤于运⾏API Server,调度服务和控制器服务。
Worker nodes
⼯作负载在⼯作节点上运⾏。
默认情况下Master节点也会有⼯作负载调度上去,可通过命令设置其不加⼊调度
1.2.3、Rancher架构
⼤多数Rancher2.0软件运⾏在Rancher Server节点上,Rancher Server包括⽤于管理整个Rancher部署的所有组件。
下图说明了Rancher2.0的运⾏架构。该图描绘了管理两个Kubernetes集的Rancher server安装:⼀个由RKE创建,另⼀个由GKE创建。
1.2.3.1、Rancher API服务器
Rancher API server建⽴在嵌⼊式Kubernetes API服务器和etcd数据库之上。它实现了以下功能:
docker重启容器命令Rancher API服务器
Rancher API server管理与外部⾝份验证提供程序(如Active Directory或GitHub)对应的⽤户⾝份
认证授权
Rancher API server管理访问控制和安全策略
项⽬
项⽬是集中的⼀组多个命名空间和访问控制策略的集合
节点
Rancher API server跟踪所有集中所有节点的标识。
1.2.3.2、集控制和Agent
集控制器和集代理实现管理Kubernetes集所需的业务逻辑:
集控制器实现Rancher安装所需的全局逻辑。它执⾏以下操作:
为集和项⽬配置访问控制策略
通过调⽤以下⽅式配置集:
所需的Docker machine驱动程序
像RKE和GKE这样的Kubernetes引擎
单独的集代理实例实现相应集所需的逻辑。它执⾏以下活动:
⼯作负载管理,例如每个集中的pod创建和部署
绑定并应⽤每个集全局策略中定义的⾓⾊
集与Rancher Server之间的通信:事件,统计信息,节点信息和运⾏状况
1.2.3.3、认证代理
该认证代理转发所有Kubernetes API调⽤。它集成了⾝份验证服务,如本地⾝份验证,Active Directory和GitHub。在每个Kubernetes API调⽤中,⾝份验证代理会对调⽤⽅进⾏⾝份验证,并在将调⽤转发给Kubernetes主服务器之前设置正确的Kubernetes模拟标头。Rancher使⽤服务帐户与Kubernetes集通信。
⼆、相关术语
【注意】:主要说明的内容和Rancher 2.1平台页⾯内容相关。
2.1、全局层
全局层主要对Rancher server⾃⾝的基础配置,⽐如Rancher Server URL、登录认证等。
1. 集
全局层的集菜单,⽤于列出集中所有的K8S集。
2. 主机驱动
⽤于与三⽅云平台API对接的中间件程序。
3. 应⽤商店-全局
全局层的应⽤商店,负责应⽤商店的开关与添加。4. ⽤户
添加或者删除⽤户,或者修改⽤户的权限。
5. 系统设置
全局下系统的基础配置,⽐如系统默认镜像仓库。6. 安全
⾓⾊
⼀组权限的集合
Pod安全策略
Pod安全设置
登录认证
⽤户的登录访问认证
2.2、集层
1. 集
集仪表盘,显⽰当前集的资源状态
2. 主机
当前集中添加的所有主机
3. 存储
存储类
持久卷
4. 项⽬与命名空间
此集拥有的项⽬和命名空间
5. 集成员
6. ⼯具
告警
通知
⽇志
CI/CD
2.3、项⽬层
1. ⼯作负载
⼯作负载服务
负载均衡
服务发现
数据卷
CI/CD
2. 应⽤商店-项⽬
3. 资源
告警
证书
配置映射
⽇志收集
镜像库
密⽂
4. 命名空间
5. 项⽬成员
2.4、其他 (右上⾓登录菜单)
1. API Keys
2. 主机模板
3. 喜好设定
三、Rancher v2.1.0功能列表
3.1、K8S集管理
功能
描述
多集管理容器平台能同时对多个Kubernetes集进⾏管理,包括创建集、删除集、集搜索、为集添加主机等。每个集有⾃⼰独⽴的管理视图,包括控制⾯板、主机视图、容器视图、应⽤视图,可图形化显⽰其所包含的节点状态和容器运⾏状态,并可以对节点和容器操作。每个集上运⾏的应⽤和其他集隔离。
集基础设施管理和部署容器云平台能够指定Kubernetes集的部署⾓⾊,包括etcd数据节点、API Server、Controller Manager控制节点、worker计算节点等。不同集能够指定不同的容器⽹络模式,灵活⽀持⽬前社区主流的容器⽹络解决⽅案,包括flannel、Calico、Canal等。平台能够提供⾃动化部署⼯具,快速灵活的部署kubernetes集。
集管理权限设定可设定每个集的⽤户⾓⾊和权限,除默认内置⾓⾊外,⽀持在图形界⾯进⾏细粒度的RBAC权限⾃定义和⾓⾊创建。管理员可以创建⾃定义⾓⾊,指定对平台内各种资源对象(包括但不限于Cluster、Pod、Deployment、ConfigMap等)的创建、删除、编辑、枚举等各种细粒度的操作权限。
导⼊外部Kubernetes集管理容器云平台必须能够导⼊外部Kubernetes集并进⾏管理的功能,以满⾜对各种Kubernetes集统⼀纳管的需求。导⼊的Kubernetes集能够通过容器云平台界⾯进⾏统⼀的⾓⾊管理,应⽤部署等各种操作。
Kubernetes多版本⽀持⽀持Kubernetes⽬前的主要稳定开源版本,包括1.9、1.10、1.11、1.12。⽤户在部署Kubernetes集时可以根据需要选择相应的版本进⾏部署。
集升级通过平台创建的Kubernetes集,集的系统软件,如Kubernetes版本、⽹络等系统服务软件,可通过图形界⾯在线升级或回退,不影响集环境中业务的使⽤。
Windows 集⽀持可管理 Windows Kubernetes 集主机。
3.2、多租户功能
功能
描述
基于独⽴集的多租户⽀持容器云平台⽀持基于独⽴集的多租户隔离,可以为不同租户创建并使⽤独⽴的Kubernetes集。各集可以按需配置独⽴的管理员、⽤户及⾃定义⾓⾊,彼此之间完全隔离。
基于共享集的多租户⽀持容器云平台应⽀持集内部的多租户隔离,集内租户⽀持设置管理员、⽤户及⾃定义RBAC⾓⾊,以满⾜权限管理需求。当基于单个集实现多租户隔离时,同⼀个集内部的租户应⽤彼此隔离,单个租户内部的⽤户仅能查看和管理⾃⼰租户内部的应⽤,且不同租户应⽤容器之间需要实现⽹络隔离。
租户权限管理⽀持租户内⽤户⾓⾊的管理和设置,⽀持RBAC⾃定义创建租户内⽤户⾓⾊和权限,以实现灵活的权限管理。
3.3、容器主机管理
功能
描述
纳管虚拟机⽀持以图形界⾯在线添加虚拟机主机,新的主机被添加成功后将会显⽰活动状态,并可在图形界查看主机的具体配置信息,包括但不限于主机名,IP地址,docker引擎版本号,操作系统版本,CPU/内存/磁盘配置信息等。
纳管物理机⽀持以图形界⾯在线添加物理机主机,新的主机被添加成功后将会显⽰活动状态,并可在图形界⾯看到主机的具体配置信息,包括但不限于主机名,IP地址,docker引擎版本号,操作系统版
本,CPU/内存/磁盘配置信息等。
内置Docker Machine驱动管理内置Docker Machine驱动,可以对各类Docker的machine drivers进⾏配置和管理,⽅便⽤户对接各类云平台、vSphere环境、OpenStack环境等。
主机分组管理⽀持对不同的主机进⾏分组管理,可以使⽤标签(或类似⽅式)标识,如按物理区域、安全区域、组织架构、项⽬、应⽤划分打标签逻辑分组,⽀持多标签。
查看主机性能状态信息系统提供便捷的图形化界⾯,以实现对容器主机相关性能和状态信息的监控和查看。可以查看的主机性能信息包括,CPU、内存、⽹络和磁盘,容器分配情况、端⼝使⽤情况、标签、存储等关键信息。
驱散容器功能在对主机进⾏维护时,例如升级内核,硬件维护等,这个功能⾸先会禁⽌新的容器调度到这个节点,然后会对该节点上的容器有规则的进⾏驱散。完成主机维护后,可以恢复节点功能。
容器主机故障⾃动检测和⾃动应⽤漂移当某个主机故障时,⽆法和管理节点时间正常通信时,则该主机将被表⽰为不可⽤状态,并在图形界⾯显⽰。该状态下管理节点将视图重连该主机,同时会将该主机上运⾏的容器⾃动漂移到其他正常主机节点,以保证该情况下相关容器的服务访问正常。
3.4、容器调度与管理
功能
描述
容器⽣命周期管理平台提供便捷操作容器服务图形化界⾯,可以编辑容器信息,可以启动、重启、停⽌、删除、克隆容器。
并可在图形界⾯上展⽰容器的信息和运⾏状态,包括健康状态,容器名、IP地址、所在主机、镜像和命令等
查看容器状态和性能管理平台可以通过图形界⾯查看容器关键性能和配置信息,可以查看标签、存储卷、端⼝映射、实时监控信等关键信
息,包括但不限于: CPU、内存、⽹络和磁盘、容器IP、Image、所使⽤主机等情况。
容器控制台图形化界⾯可以直接调出该容器控制台,管理界⾯可以操作容器的CLI,⽅便后台控制⼈员执⾏命令⾏操作容器。
查看容器⽇志管理平台图形化界⾯可以直接展⽰容器⽇志信息,并实时刷新。
指定容器运⾏的主机⽀持标签或其它⽅式唯⼀限定容器运⾏主机。系统提供图形化界⾯,设置容器编排调度规则。⽀持亲和性/反亲和性容器调度设置,系统提供图形化界⾯,设置容器编排调度规则,⽀持基于标签的亲和性/反亲和性调度,⽀持全部满⾜/部分等过滤条件。
3.5、容器应⽤管理
功能
描述
容器应⽤堆栈管理⽀持使⽤应⽤模板⼀键创建容器应⽤栈。可以从应⽤集合,服务集合的⾓度对容器进⾏集中的管理和配置。
应⽤管理视图⽀持以不同⽅式查看、展现应⽤容器。⾄少⽀持根据命令空间Namespace、应⽤分类、容器运⾏节点、列表等⽅式展⽰容器列表。
通过上传编排⽂件直接部署应⽤⽀持通过上yaml编排⽂件,⼀键部署和启动应⽤。极⼤提⾼部署效率,降低部署难度和时间。
查看、下载编排配置⽂件⽀持实时查看kubernetes编排⽂件配置内容。⽀持下载和保存kubernetes编排⽂件,⽅便配置编辑、保存、重新部署和故障恢复。
统⼀调⽤⾮容器化服务或系统管理平台可⽅便的实现容器访问外部的应⽤和服务,容器可以访问如不适合进⾏容器化的⼤型应⽤(如MySQL/Oracle数据库)。⽀持通过图形界⾯创建相应的服务发现记录,包括外部IP地址、外部主机名、DNS别名等多种⽅
3.6、容器管理
功能
描述
项⽬管理功能项⽬是⼀个或多个 namespace 集合,集管理员和项⽬管理员可以从项⽬层级设置配额。可以配置该项⽬的CPU,内存,存储,Pod数量等等的配额。同时,在每个项⽬⾥,管理员也可以对每个namespace的配额进⾏控制。
容器服务健康检查系统内置对容器服务的健康检查功能,⽀持在图形界⾯进⾏以下健康检查设置,包括:
• 可以设定基于HTTP的健康检查。
• 可以设定基于TCP的健康检查。
• 可以设定基于命令⾏命令的健康检查。
• 可以设定健康检查的颗粒度,如检查次数、间隔、超时时间等。
⽀持通过图形界⾯对容器设置不同的Liveness Check和Readniess check规则。
容器服务伸缩提供图形界⾯,可以便捷⼿动进⾏容器扩容和收缩。还提供容器基于CPU、内存等资源使⽤率状态数值触发的⾃动扩容缩容。
容器升级和回滚功能提供图形界⾯,可以便捷实现容器的升级和回滚操作。部署应⽤时可以设置应⽤的升级策略,包括新旧容器启停顺序、批量⼤⼩、最⼩就绪时间等等。
⽀持灰度发布可以实现灰度升级,升级过程中服务不中断。升级后,图形界⾯提供UI回滚到之前版本。当部署之前包括多个版本时,可提供多个版本进⾏回滚选择。
伴随容器服务可以为主容器提供伴随容器服务,在进⾏复杂应⽤部署时,可以提供⽀持。⽀持通过图形界⾯创建伴随容器。
1.可以为主容器创建伴随容器。
2.伴随容器可以和主容器同时启动和同时关闭。
3.伴随容器可以和主容器共享容器数据卷和容器⽹络。
容器可⽤性保障机制可以设定服务容器的需要保证的有效数量,当系统故障时,平台可保证有效的的容器数量。可以保证应⽤服务维持⼀定的容器数量,⽤来保证服务正常。服务故障时可以重新创建容器,保证服务正常。
3.7、容器⽹络管理
功能
描述
容器⽹络访问策略控制容器⽹络⽀持多租户隔离和策略控制,同集内部的不同租户可以实现⽹络的隔离和限制。
⽀持容器基本⽹络模式⽀持容器共享主机⽹络⽅式,可以在管理界⾯上设置容器⽹络为主机共享⽹路模式,容器共享主机⽹络namespace,使⽤主机⽹卡进⾏容器内外部通信。
⽀持⾼级⽹络模式⽀持多种⽹络模式,容器平台提供⽹络插件,实现对容器IP和容器⽹络的管理,⽀持容器⽹络IP的⾃定义和跨主机容器⽹络互访。⾄少同时⽀持Flannel/Calico、Canal主流⽹络技术。
3.8、负载均衡服务
功能
描述
内置负载均衡服务内置容器负载均衡服务。通过图形界⾯创建负载均衡,可以进⾏端⼝指定、服务指定、SSL证书、会话保持、⾃定义负载均衡配置、标签及调度等各项功能。
可定义负载均衡会话保持策略内置负载均衡服务可以配置可以配置并使⽤基于cookie的会话保持功能。
⽀持SSL终结功能内置负载均衡服务可以配置可以配置并使⽤基于HTTPS的SSL终结功能。
负载均衡后端⽀持提供图形界⾯,负载均衡后端同时⽀持Kubernetes Service对象和Pod直连,以⽀持话保持设置。
⽀持⾼级访问路由功能提供图形界⾯,可以配置负载均衡⾼级路由功能,实现根据URL头信息、Domain name、访问路径等不同实现七层信息的转发。
3.9、容器存储服务
功能
描述
存储类型⽀持容器云平台应⽀持Kubernetes社区版本内置⽀持的所有存储类型,包括FC、iSCSI、Ceph、Cinder、GlusterFS、AzureDisk、AWS EBS、ScaleIO等等。
⽅案提供⽅应该能够提供⾃主产权且开源的分布式块存储⽅案,以满⾜业务上对持久化存储的要求
Persistent Volume⽀持⽀持通过图形界⾯创建Persistent Volume,⽀持的类型包括上述所列Kubernetes标准版本内置的存储类型。⽤户可以通过图形界⾯⽅便的设置相关存储参数。PV创建后可以在应⽤部署时通过图形界⾯创建PVC使⽤。
Storage Class⽀持⽀持通过图形界⾯创建Storage Class以满⾜存储动态⾃动创建需求,⽀持的类型包括上述所列Kubernetes标准版本内置的存储类型。⽤户可以通过图形界⾯⽅便的设置相关存储参数。Storage Class创建后可以在应⽤部署时通过图形界⾯使⽤。
超融合存储⽀持提供超融合存储解决⽅案,⽀持基于容器集宿主机本地磁盘构建存储池并与容器集进⾏集成。容器可利⽤本集内部的
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论