概述


What’s 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组织中扮演的角色。每个团队都会在他们选择的公共云或私有云上部署应用程序。

What’s New?

早期的Rancher1.X版本是基于Docker以Cattle为调度引擎的容器管理平台。在Rancher1.X成功和经验的基础上,基于Kubernetes基础上重新设计Rancher2.0版本。 Rancher2.0保留了1.6版的友好功能,如UI和应用商店。但是,2.0包含许多新功能,例如:

  • 内置CI/CD;
  • 告警和日志收集;
  • 多集群管理;
  • Rancher Kubernetes Engine (RKE);
  • 与云Kubernetes服务(如GKE,EKS和AKS)集成;

1 - 架构设计


本节介绍Rancher如何与Docker和Kubernetes进行交互。

Docker

Docker是容器打包和runtime标准。开发人员从Dockerfiles构建容器镜像,并从Docker镜像仓库中分发容器镜像。Docker Hub是最受欢迎的公共镜像仓库,许多组织还设置私有Docker镜像仓库。Docker主要用于管理各个节点上的容器。

Note:虽然Rancher 1.6支持Docker Swarm集群技术,但由于Rancher2.0基于Kubernetes调度引擎,所以Rancher2.0不再支持Docker Swarm。

Kubernetes

Kubernetes已成为容器集群管理标准,通过YAML文件来管理配置应用程序容器和其他资源。Kubernetes执行诸如调度,扩展,服务发现,健康检查,密文管理和配置管理等功能。

一个Kubernetes集群由多个节点组成:

  • etcd database

通常在一个节点上运行一个etcd实例服务,但生产环境上,建议通过3个或5个(奇数)以上的节点来创建ETCD HA配置。

  • Master nodes

主节点是无状态的,用于运行API Server,调度服务和控制器服务。

  • Worker nodes

工作负载在工作节点上运行。

默认情况下Master节点也会有工作负载调度上去, 可通过命令设置其不加入调度了解详情

Rancher

大多数Rancher2.0软件运行在Rancher Server节点上,Rancher Server包括用于管理整个Rancher部署的所有组件。

下图说明了Rancher2.0的运行架构。该图描绘了管理两个Kubernetes集群的Rancher Server安装:一个由RKE创建,另一个由GKE创建。

在本节中,我们将介绍每个Rancher Server组件的功能:

Rancher API服务器

Rancher API server建立在嵌入式Kubernetes API服务器和etcd数据库之上。它实现了以下功能:

  • Rancher API服务器

Rancher API server管理与外部身份验证提供程序(如Active Directory或GitHub)对应的用户身份

  • 认证授权

Rancher API server管理访问控制和安全策略

  • 项目

项目是集群中的一组多个命名空间和访问控制策略的集合

  • 节点

Rancher API server跟踪所有集群中所有节点的标识。

集群控制和Agent

集群控制器和集群代理实现管理Kubernetes集群所需的业务逻辑:

  • 集群控制器实现Rancher安装所需的全局逻辑。它执行以下操作:

    • 为集群和项目配置访问控制策略

    • 通过调用以下方式配置集群:

      • 所需的Docker machine驱动程序
      • 像RKE和GKE这样的Kubernetes引擎
  • 单独的集群代理实例实现相应集群所需的逻辑。它执行以下活动:

    • 工作负载管理,例如每个集群中的pod创建和部署

    • 绑定并应用每个集群全局策略中定义的角色

    • 集群与Rancher Server之间的通信:事件,统计信息,节点信息和运行状况

认证代理

该认证代理转发所有Kubernetes API调用。它集成了身份验证服务,如本地身份验证,Active Directory和GitHub。在每个Kubernetes API调用中,身份验证代理会对调用方进行身份验证,并在将调用转发给Kubernetes主服务器之前设置正确的Kubernetes模拟标头。Rancher使用服务帐户与Kubernetes集群通信。

2 - 相关术语


一、全局层

全局层主要对Rancher Server自身的基础配置,比如Rancher Server URL、登录认证等。

  1. 集群

    全局层的集群菜单,用于列出集群中所有的K8S集群。

  2. 主机驱动

    用于与三方云平台API对接的中间件程序。

  3. 应用商店-全局

    全局层的应用商店,负责应用商店的开关与添加。

  4. 用户

    添加或者删除用户,或者修改用户的权限。

  5. 系统设置

    全局下系统的基础配置,比如系统默认镜像仓库。

  6. 安全

    • 角色

      一组权限的集合

    • Pod安全策略

      Pod安全设置

    • 登录认证

      用户的登录访问认证

二、集群层

  1. 集群

    显示当前集群的资源配置情况,各系统组件的健康状态;2.2之前,集群仪表盘显示当前集群的资源预留状态(并非实际资源使用);

  2. 主机

    当前集群中添加的所有主机

  3. 存储

    • 存储类
    • 持久卷
  4. 项目与命名空间

    此集群拥有的项目和命名空间

  5. 集群成员

  6. 工具

    • 告警

    • 通知

    • 日志

    • CI/CD

三、项目层

  1. 工作负载

    • 工作负载服务

    • 负载均衡

    • 服务发现

    • 数据卷

    • CI/CD

  2. 应用商店-项目

  3. 资源

    • 告警

    • 证书

    • 配置映射

    • 日志收集

    • 镜像库

    • 密文

  4. 命名空间

  5. 项目成员

四、其他 (右上角登录菜单)

  1. API Keys

  2. 主机模板

  3. 喜好设定

3 - 快速入门


注意:本入门指南的目的是让您快速的运行一个Rancher2.0环境,它不适用于生产。有关更全面的说明,请查阅Rancher安装.

本教程将指导您完成:

  • 安装Rancher v2.0 ;
  • 创建第一个集群;
  • 部署一个应用程序,如Nginx;

一、入门须知

  • 熟悉Linux基础命令;
  • 了解SSH使用方法,了解公钥/私钥工作原理;
  • 熟悉Docker基本使用方法及基础命令,比如:容器日志查看;
  • 了解SSL证书使用方法;
  • 了解负载均衡工作原理(L4/L7);
  • 了解域名解析原理;
  • 了解K8S基本概念

二、配置Linux主机

通过配置Linux主机开始创建自定义集群。您的主机可以是:

  • 云主机
  • 本地虚拟机
  • 本地物理机

注意:在使用云主机时,您需要允许TCP/80和TCP/443入站通信端口。请查阅您的云主机文档以获取有关端口配置的信息。有关端口要求的完整列表,请查阅端口需求.

根据以下要求配置主机:

  • Ubuntu 16.04 +(64位)
  • Centos/RedHat Linux 7.5+(64位)
  • RancherOS 1.3.0+(64位)

Ubuntu操作系统有Desktop和Server版本,选择安装server版本.

1、硬件需求:

  • CPU: 2C
  • 内存: 4GB

注意:此配置仅为满足小规模测试环境的最低配置。如用于生产,请参考基础配置要求

2、软件需求:

  • 软件: Docker

  • 支持的Docker版本:

    • 17.03.x
    • 18.06.x
    • 18.09.x

注意:有关Docker安装说明,请访问其文档。软件需求要应用于所有节点。

主机的更详细配置说明,请查看基础环境配置

三、安装Rancher

要想在主机上安装Rancher,需要先登录到主机上,接着进行以下步骤:

  1. 通过shell工具(例如PuTTy或远程终端连接)登录到主机

  2. 在shell中执行以下命令:

      sudo docker run -d --restart=unless-stopped -v <主机路径>:/var/lib/rancher/ -p 80:80 -p 443:443 rancher/rancher:stable

四、登录Rancher

登录并开始使用Rancher。登录后,您将进行一些一次性配置。

  1. 打开浏览器,输入https://<server_ip>,server_ip替换为运行Rancher容器主机的ip;

  2. 因为是自动使用的自签名证书,在第一次登录会提示安全授信问题,信任即可;

  3. 设置管理员密码

    第一次登录会要求设置管理员密码,默认管理员账号为: admin

    如果没有设置密码而要求输入当前密码,可以输入密码: admin

  4. 设置Rancher Server URL

    Rancher Server URL是agent节点注册到Rancher Serverd的地址,需要保证这个地址能够被agent主机访问,不要设置为127.0.0.1或者localhost

五、创建K8S集群

现在创建第一个Kubernetes集群,可以使用自定义选项。您可以添加云主机、内部虚拟机或物理主机作为集群节点,节点可以运行任何一种或多种主流Linux发行版:

  1. 页面右下角可以切换语言;

  2. 在全局视图下,点击菜单中的集群 , 并点击添加集群;

  3. 选择 Custom,并设置集群名称,其他参数可不用修改,点击下一步;

  4. 选择节点运行的角色

    默认会勾选Worker角色,根据需要可以一次勾选多种角色。比如,假设我只有一个节点,那就需要把所有角色都选择上,选择后上面的命令行会自动添加相应的命令参数;

  5. 如果是云主机,需要添加主机的内网地址和对应的公网地址,如果是没有公网的云主机,可以跳过这步;

  6. 其他参数保持默认,点击命令行右侧的复制按钮,复制命令参数

    如果是多台主机,根据角色的不同,需要复制多次

  7. 登录预添加集群的主机,执行以上复制的命令;

  8. 在主机上执行完命令后,最后点击完成;

  9. 回到全局视图,可以查看集群的部署状态;

  10. 点击集群名称,进入集群视图

  11. 点击菜单栏主机按钮

  12. 集群创建完成

  13. 集群创建完成后,默认会生成Default项目,点击Default切换到项目视图;

六、部署工作负载

工作负载是一个对象,包括pod以及部署应用程序所需的其他文件和信息。我们以nginx作为例如:

  1. 在Default视图下,点击工作负载—部署服务

  2. 在部署工作负载页面,设置工作负载名称、副本数量、镜像名称、命名空间、端口映射,其他参数保持默认,最后点击启动;

  3. 部署完成

  4. 通过31174端口去访问nginx服务。

4 - 功能列表


Rancher v2.1.0功能列表

对比内容 分类 描述 
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 集群主机。
多租户功能 基于独立集群的多租户支持 容器云平台支持基于独立集群的多租户隔离,可以为不同租户创建并使用独立的Kubernetes集群。各集群可以按需配置独立的管理员、用户及自定义角色,彼此之间完全隔离。
基于共享集群的多租户支持 容器云平台应支持集群内部的多租户隔离,集群内租户支持设置管理员、用户及自定义RBAC角色,以满足权限管理需求。当基于单个集群实现多租户隔离时,同一个集群内部的租户应用彼此隔离,单个租户内部的用户仅能查看和管理自己租户内部的应用,且不同租户应用容器之间需要实现网络隔离。
 租户权限管理 支持租户内用户角色的管理和设置,支持RBAC自定义创建租户内用户角色和权限,以实现灵活的权限管理。
容器主机管理 纳管虚拟机 支持以图形界面在线添加虚拟机主机,新的主机被添加成功后将会显示活动状态,并可在图形界查看主机的具体配置信息,包括但不限于主机名,IP地址,docker引擎版本号,操作系统版本,CPU/内存/磁盘配置信息等。
纳管物理机 支持以图形界面在线添加物理机主机,新的主机被添加成功后将会显示活动状态,并可在图形界面看到主机的具体配置信息,包括但不限于主机名,IP地址,docker引擎版本号,操作系统版本,CPU/内存/磁盘配置信息等。
内置Docker Machine驱动管理 内置Docker Machine驱动,可以对各类Docker的machine drivers进行配置和管理,方便用户对接各类云平台、vSphere环境、OpenStack环境等。
主机分组管理 支持对不同的主机进行分组管理,可以使用标签(或类似方式)标识,如按物理区域、安全区域、组织架构、项目、应用划分打标签逻辑分组,支持多标签。
查看主机性能状态信息 系统提供便捷的图形化界面,以实现对容器主机相关性能和状态信息的监控和查看。可以查看的主机性能信息包括,CPU、内存、网络和磁盘,容器分配情况、端口使用情况、标签、存储等关键信息。
驱散容器功能 在对主机进行维护时,例如升级内核,硬件维护等,这个功能首先会禁止新的容器调度到这个节点,然后会对该节点上的容器有规则的进行驱散。完成主机维护后,可以恢复节点功能。
容器主机故障自动检测和自动应用漂移 当某个主机故障时,无法和管理节点时间正常通信时,则该主机将被表示为不可用状态,并在图形界面显示。该状态下管理节点将视图重连该主机,同时会将该主机上运行的容器自动漂移到其他正常主机节点,以保证该情况下相关容器的服务访问正常。
容器调度与管理 容器生命周期管理 平台提供便捷操作容器服务图形化界面,可以编辑容器信息,可以启动、重启、停止、删除、克隆容器。
并可在图形界面上展示容器的信息和运行状态,包括健康状态,容器名、IP地址、所在主机、镜像和命令等
查看容器状态和性能 管理平台可以通过图形界面查看容器关键性能和配置信息,可以查看标签、存储卷、端口映射、实时监控信等关键信息,包括但不限于: CPU、内存、网络和磁盘、容器IP、Image、所使用主机等情况。
容器控制台 图形化界面可以直接调出该容器控制台,管理界面可以操作容器的CLI,方便后台控制人员执行命令行操作容器。
查看容器日志 管理平台图形化界面可以直接展示容器日志信息,并实时刷新。
指定容器运行的主机 支持标签或其它方式唯一限定容器运行主机。系统提供图形化界面,设置容器编排调度规则。支持亲和性/反亲和性容器调度设置,系统提供图形化界面,设置容器编排调度规则,支持基于标签的亲和性/反亲和性调度,支持全部满足/部分等过滤条件。
容器应用管理 容器应用堆栈管理 支持使用应用模板一键创建容器应用栈。可以从应用集合,服务集合的角度对容器进行集中的管理和配置。
应用管理视图 支持以不同方式查看、展现应用容器。至少支持根据命令空间Namespace、应用分类、容器运行节点、列表等方式展示容器列表。
通过上传编排文件直接部署应用 支持通过上yaml编排 文件,一键部署和启动应用。极大提高部署效率,降低部署难度和时间。
查看、下载编排配置文件 支持实时查看kubernetes编排文件配置内容。支持下载和保存kubernetes编排文件,方便配置编辑、保存、重新部署和故障恢复。
统一调用非容器化服务或系统 管理平台可方便的实现容器访问外部的应用和服务,容器可以访问如不适合进行容器化的大型应用(如MySQL/Oracle数据库)。支持通过图形界面创建相应的服务发现记录,包括外部IP地址、外部主机名、DNS别名等多种方
容器管理 项目管理功能 项目是一个或多个 namespace 集合,集群管理员和项目管理员可以从项目层级设置配额。可以配置该项目的CPU,内存,存储,Pod数量等等的配额。同时,在每个项目里,管理员也可以对每个namespace的配额进行控制。
容器服务健康检查 系统内置对容器服务的健康检查功能,支持在图形界面进行以下健康检查设置,包括: 
• 可以设定基于HTTP的健康检查。
• 可以设定基于TCP的健康检查。
• 可以设定基于命令行命令的健康检查。
• 可以设定健康检查的颗粒度,如检查次数、间隔、超时时间等。
支持通过图形界面对容器设置不同的Liveness Check和Readniess check规则。
容器服务伸缩 提供图形界面,可以便捷手动进行容器扩容和收缩。还提供容器基于CPU、内存等资源使用率状态数值触发的自动扩容缩容。
容器升级和回滚功能 提供图形界面,可以便捷实现容器的升级和回滚操作。部署应用时可以设置应用的升级策略,包括新旧容器启停顺序、批量大小、最小就绪时间等等。
支持灰度发布 可以实现灰度升级,升级过程中服务不中断。升级后,图形界面提供UI回滚到之前版本。当部署之前包括多个版本时,可提供多个版本进行回滚选择。
伴随容器服务 可以为主容器提供伴随容器服务,在进行复杂应用部署时,可以提供支持。支持通过图形界面创建伴随容器。
1.可以为主容器创建伴随容器。
2.伴随容器可以和主容器同时启动和同时关闭。
3.伴随容器可以和主容器共享容器数据卷和容器网络。
容器可用性保障机制 可以设定服务容器的需要保证的有效数量,当系统故障时,平台可保证有效的的容器数量。可以保证应用服务维持一定的容器数量,用来保证服务正常。服务故障时可以重新创建容器,保证服务正常。
容器网络管理 容器网络访问策略控制 容器网络支持多租户隔离和策略控制,同集群内部的不同租户可以实现网络的隔离和限制。
支持容器基本网络模式 支持容器共享主机网络方式,可以在管理界面上设置容器网络为主机共享网路模式,容器共享主机网络namespace,使用主机网卡进行容器内外部通信。
支持高级网络模式 支持多种网络模式,容器平台提供网络插件,实现对容器IP和容器网络的管理,支持容器网络IP的自定义和跨主机容器网络互访。至少同时支持Flannel/Calico、Canal主流网络技术。
负载均衡服务 内置负载均衡服务 内置容器负载均衡服务。通过图形界面创建负载均衡,可以进行端口指定、服务指定、SSL证书、会话保持、自定义负载均衡配置、标签及调度等各项功能。
可定义负载均衡会话保持策略 内置负载均衡服务可以配置可以配置并使用基于cookie的会话保持功能。
支持SSL终结功能 内置负载均衡服务可以配置可以配置并使用基于HTTPS的SSL终结功能。
负载均衡后端支持 提供图形界面,负载均衡后端同时支持Kubernetes Service对象和Pod直连,以支持话保持设置。
支持高级访问路由功能 提供图形界面,可以配置负载均衡高级路由功能,实现根据URL头信息、Domain name、访问路径等不同实现七层信息的转发。
容器存储服务 存储类型支持 容器云平台应支持Kubernetes社区版本内置支持的所有存储类型,包括FC、iSCSI、Ceph、Cinder、GlusterFS、AzureDisk、AWS EBS、ScaleIO等等。
方案提供方应该能够提供自主产权且开源的分布式块存储方案,以满足业务上对持久化存储的要求
Persistent Volume支持 支持通过图形界面创建Persistent Volume,支持的类型包括上述所列Kubernetes标准版本内置的存储类型。用户可以通过图形界面方便的设置相关存储参数。PV创建后可以在应用部署时通过图形界面创建PVC使用。
Storage Class支持 支持通过图形界面创建Storage Class以满足存储动态自动创建需求,支持的类型包括上述所列Kubernetes标准版本内置的存储类型。用户可以通过图形界面方便的设置相关存储参数。Storage Class创建后可以在应用部署时通过图形界面使用。
超融合存储支持 提供超融合存储解决方案,支持基于容器集群宿主机本地磁盘构建存储池并与容器集群进行集成。容器可利用本集群内部的存储池实现数据的持久化和高可用。
系统监控及日志 系统监控 支持集群和集群内部租户不同层级的监控设置,监控内容至少应包括: 
• 系统组件健康状态,如etcd、API Server等
• 系统部署事件,如创建Deployment、Service对象等。
• 主机资源利用率,如CPU、内存等
• 应用可用状态,如Deployment中可用容器低于一定比例等。
系统告警 • 需要提供系统内建的告警系统
• 告警系统支持通过图形界面设置告警目标,不同告警规则可按需设置告警目标。告警目标应支持多种企业级集成,至少要同时支持对电子邮件、Slack、PageDuty系统的支持。同时需要提供 Webhook扩展方式,实现对其他告警方式的支持和扩展。
• 告警规则支持临时暂停、恢复,初始发送延迟、发送间隔等高级设置,以按需控制告警信息的发送。
系统日志 平台提供日志收集代理,支持自动收集容器和应用程序日志。
• 日志系统能够在集群层面、项目层面分别对应不同的日志平台,以满足用户部门对日志功能使用的灵活性,以满足不同应用场景需求。
日志平台集成 • 日志代理应支持业内主流日志平台集成,可以同时支持对ElasticSearch、Kafka、Splunk和Syslog的对接,用户在图形界面即可设置与上述平台的自动化集成对接。
• 日志系统能够在集群层面、项目层面分别对应不同的日志平台,以满足用户部门对日志功能使用的灵活性
应用商店管理 容器应用商店 容器平台支持容器化应用商店,实现容器应用的模板化展示和快速部署。应用商店应支持Kubernetes社区的Helm Charts模板。
企业级应用商店展示、组织及管理 提供图形界面,可以查看应用商店、实现应用模板的组织和管理。支持搜索和分类选择展示。
支持用户交互的参数配置 在应用商店配置页面中可配置模板版本和自定义参数,在配置过程中可以通过界面进行自定义配置。在启动应用过程中,进行交互的参数可以自定义。同时不同的应用可以定义不同的参数。支持在应用商店模板中定义参数的类型、提示信息、默认值等相关设置,应用部署展示UI可根据参数定义动态生成并展示相关页面。
支持应用发布版本管理 可以在应用商店中选择应用的不同发布版本,并启动运行。应用商店出现该应用的新版本时,可自动提示正在运行的应用实例有新版本可以升级。
支持部署私有隔离的应用商店 管理平台可以设置不同的应用商店路径。每个路径都可以指向一个独立的应用商店,可以设置多个应用商店,应用可以放在不同的应用商店中进行隔离管理。
 系统管理及安全 认证方式 容器云平台支持多种认证集成方式,除本地认证外,需支持主流的认证系统如微软活动目录、OpenLDAP、Github、Keycloak等,支持自定义认证插件实现集成认证。
容器安全策略 容器云平台支持设置容器安全策略,对创建的容器进行安全管控,例如限制启动特权容器、限制容器使用主机IPC模式、主机网络模式,限制容器可以映射的主机数据卷路径等。容器安全策略应当支持绑定到特定集群和集群内部的多租户隔离实现。
API秘钥管理 容器云平台支持为不同用户创建独立的API秘钥,API秘钥仅当首次创建时可查看。且支持进行API秘钥自动过期设置,以确保系统安全。
配置映射(configmap) 提供图形化界面,配置configmap以供服务调用。
密文管理(secret) 提供图形化界面,配置secret以供服务调用。
证书管理 平台提供图形界面,可以对SSL证书进行管理。包括导入证书、删除证书等。证书可用于应用访问SSL加密。
镜像库功能 对接外部私有镜像仓库 提供图形界面,设置连接外部的镜像仓库,可设置外部仓库的认证信息实现认证集成。可以设置默认镜像库,设置镜像库白名单等。
项目管理 支持公有和私有项目类型: 
• 公有: 公有项目中的镜像所有用户均有下载权限;
• 私有: 私有项目中的镜像只有项目内的成员有相应的操作权限;
新建项目: 每当新建一个用户时,系统都会默认创建一个以该用户的用户名为项目名称的私有项目;系统管理员可以创建新的项目,项目详情页,可查看镜像和访问控制列表。
搜索项目: 支持输入关键字进行项目搜索;
镜像生命周期管理 镜像生命生命周期主要功能如下所示: 
镜像下载: 若镜像为私有镜像,用户至少要获得对应项目的下载权限才能成功下载镜像;
镜像上传: 用户首先要拥有对应项目的提交权限才能在该项目下上传镜像;
镜像修改: 用户可以修改镜像的描述信息,以及dockerfile;
镜像复制: 实现镜像在不同项目间的复制,用户至少必须同时拥有源项目与目标项目的提交权限;
镜像删除: 在镜像列表可以选择删除镜像的某个版本,也可以直接删除整个镜像。
异地镜像仓库同步 支持设置好同步关系,并且多镜像仓库之间镜像自动同步。镜像同步的最小颗粒度是容器项目。
系统集成支持 支持通过纯命令行方式进行配置和管理 容器平台提供命令行管理工具,可以通过命令行对容器管理平台进行配置和管理。 方便运维人员开发自动化运维脚本。
提供API接口 容器云平台应支持Restful API调用,以方便的与内部系统进行集成。API接口需求如下: 
*支持页面直接展现API调用内容
*所有页面上的操作都能通过API支持
支持基于多租户API调用的访问授权。
针对不同的用户,都可以生成Access key和Secret key秘钥对,在获取正确的秘钥对后方能对API接口进行访问。
容器操作系统 容器云厂商在提供容器平台的同时,还拥有知名的自主品牌的容器化操作系统平台,以实现容器宿主机的快速创建和部署,降低系统资源消耗和受攻击面。
CI/CD功能 同时支持多源码管理 CI/CD支持公有Github、Gitlab和私有Gitlab代码库的对接。
自动部署镜像 打通了从代码提交,自动测试,自动构建镜像,自动部署镜像的全流程。
与应用商店集成 打通与应用商店的集成,可根据CI/CD的产物动态更新应用商店中的配置文件,应用商店提示有更新可用。
灵活的流程控制 可以在最初的设置阶段配置符合某既定要求的表达式或标签,而系统会在执行阶段根据执行情况自动跳过不符合该表达式或标签的阶段或步骤。如此一来,不同的代码分支可以自动匹配不同的CI流程,从而支持较为复杂的流程控制。

Rancher概述的更多相关文章

  1. Rancher安装多节点高可用(HA)

    Rancher版本:Rancher v1.0.1 基本配置需求 多节点的HA配置请参照单节点需求 节点需要开放的端口 全局访问:TCP 端口22,80,443,18080(可选:用于在集群启动前 查看 ...

  2. 附019.Rancher搭建及使用

    一 Rancher概述 1.1 什么是Rancher Rancher 是为使用容器的公司打造的容器管理平台.Rancher 简化了使用 Kubernetes 的流程,方便开发者可以随处运行 Kuber ...

  3. ranche2.0-CN

    遵循以下两步,快速运行rancher2.0 Step1:准备一台linux主机 准备一台64位Linux主机(推荐centos7.5+),至少4GB内存.安装Kubernetes支持的Docker-c ...

  4. Rancher 2.1平台搭建及使用

    一.概述 1.1.什么是Rancher Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器. Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求 ...

  5. 使用Rancher pipeline搭建基于容器的CICD

    CICD概述 CI-持续集成(Continuous Integration):频繁地将代码集成到主干的一种开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错 ...

  6. Docker学习笔记_08使用Rancher pipeline搭建基于容器的CICD

    CICD概述 CI-持续集成(Continuous Integration):频繁地将代码集成到主干的一种开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错 ...

  7. Rancher流水线配置文档

    2019独角兽企业重金招聘Python工程师标准>>> 一.概述 Rancher流水线从逻辑上可以分为两部分,即CI和CD. CI,可分化为克隆代码.代码打包.发布镜像三部分. CD ...

  8. kafka对接Rancher日志

    kafka对接Rancher日志 目录 kafka对接Rancher日志 概述 环境准备 正常对接kafka集群 1.helm添加bitnami库 2.下载 kafka 对应的chart压缩文件 3. ...

  9. 详细教程丨如何利用Rancher和Kong实现服务网格?

    服务网格(Service mesh)是当前新兴的架构模式,越来越受到人们的青睐.与Kubernetes一起,服务网格可以形成一个强大的平台,它可以解决在微服务集群或服务基础设施上发现的高度分布式环境中 ...

随机推荐

  1. [理解] C++ 中的 源文件 和 头文件

    我是学 C井 的, 现在在工作中主要使用的编程语言是 Java, 还记得当初在第一次接触到 Cpp 的时候, 听到的第一个概念就是 Cpp 的头文件和源文件, 当初理解了好久, 死活都弄不明白, 现在 ...

  2. 「JSOI2014」支线剧情2

    「JSOI2014」支线剧情2 传送门 不难发现原图是一个以 \(1\) 为根的有根树,所以我们考虑树形 \(\text{DP}\). 设 \(f_i\) 表示暴力地走完以 \(i\) 为根的子树的最 ...

  3. 了解jQuery

    前言-- 通过这篇文章[https://www.cnblogs.com/cchHers/p/9880439.html]了解到JavaScript是编写控制器这种角色语言.文章中也提到了web开始是一门 ...

  4. GO判断输入

    判断用户密码输入: package main import"fmt" func main(){ var a int var b int fmt.Printf("请输入密码 ...

  5. 动态设置WX滚动条的高度(非常重要)

    wxml: <scroll-view class="scroll" scroll-y="true" style="height:{{client ...

  6. highcharts Ajax 动态请求加载数据

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  7. macOS 10.14+ 安装LTP

    LTP是哈尔滨工业大学(HIT,窝工)出品的一个自然语言处理工具包.其功能包括中文分词(“分词效果好于jieba分词”[引用自学长]).词性标注.实体识别等. 对于macOS来说,现有的版本可能不多, ...

  8. 奈奎斯特采样定理(Nyquist)

    采样定理在1928年由美国电信工程师H.奈奎斯特首先提出来的,因此称为奈奎斯特采样定理. 1933年由苏联工程师科捷利尼科夫首次用公式严格地表述这一定理,因此在苏联文献中称为科捷利尼科夫采样定理. 1 ...

  9. 隧道技术(Tunneling)

    隧道技术及其应用 隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式.使用隧道传递的数据(或负载)可以是不同协议的数据帧或包.隧道协议将其它协议的数据帧或包重新封装 ...

  10. 《iOS设计模式解析》书籍目录

    1.你好,设计模式 2.案例分析:设计一个应用程序 3.原型 4.工厂方法 5.抽象工厂 6.生成器 7.单例 8.适配器 9.桥接 10.外观 11.中介者 12.观察者 13.组合 14.迭代器 ...