Rancher概述

概述


What’s Rancher?

Rancher是一套容器管理平台,它能够帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher能够轻松地管理各类环境的Kubernetes,知足IT需求并为DevOps团队提供支持。node

Kubernetes不只已经成为的容器编排标准,它也正在迅速成为各种云和虚拟化厂商提供的标准基础架构。Rancher用户能够选择使用Rancher Kubernetes Engine(RKE)建立Kubernetes集群,也可使用GKE,AKS和EKS等云Kubernetes服务。 Rancher用户还能够导入和管理现有的Kubernetes集群。linux

Rancher支持各种集中式身份验证系统来管理Kubernetes集群。例如,大型企业的员工可使用其公司Active Directory凭证访问GKE中的Kubernetes集群。IT管​​理员能够在用户,组,项目,集群和云中设置访问控制和安全策略。 IT管​​理员能够在单个页面对全部Kubernetes集群的健康情况和容量进行监控。nginx

Rancher为DevOps工程师提供了一个直观的用户界面来管理他们的服务容器,用户不须要深刻了解Kubernetes概念就能够开始使用Rancher。 Rancher包含应用商店,支持一键式部署Helm和Compose模板。Rancher经过各类云、本地生态系统产品认证,其中包括安全工具,监控系统,容器仓库以及存储和网络驱动程序。下图说明了Rancher在IT和DevOps组织中扮演的角色。每一个团队都会在他们选择的公共云或私有云上部署应用程序。docker

Rancher Platform

What’s New?

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

  • 内置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。api

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建立。

Architecture

在本节中,咱们将介绍每一个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 - 相关术语


1、全局层

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

  1. 集群

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

  2. 主机驱动

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

  3. 应用商店-全局

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

  4. 用户

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

  5. 系统设置

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

  6. 安全

    • 角色

      一组权限的集合

    • Pod安全策略

      Pod安全设置

    • 登陆认证

      用户的登陆访问认证

2、集群层

  1. 集群

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

  2. 主机

    当前集群中添加的全部主机

  3. 存储

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

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

  5. 集群成员

  6. 工具

    • 告警

    • 通知

    • 日志

    • CI/CD

3、项目层

  1. 工做负载

    • 工做负载服务

    • 负载均衡

    • 服务发现

    • 数据卷

    • CI/CD

  2. 应用商店-项目

  3. 资源

    • 告警

    • 证书

    • 配置映射

    • 日志收集

    • 镜像库

    • 密文

  4. 命名空间

  5. 项目成员

4、其余 (右上角登陆菜单)

  1. API Keys

  2. 主机模板

  3. 喜爱设定

3 - 快速入门


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

本教程将指导您完成:

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

1、入门须知

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

2、配置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版本.

一、硬件需求:

  • CPU: 2C
  • 内存: 4GB

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

二、软件需求:

  • 软件: Docker

  • 支持的Docker版本:

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

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

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

3、安装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

4、登陆Rancher

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

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

  2. 由于是自动使用的自签名证书,在第一次登陆会提示安全授信问题,信任便可;

    image-20180703152812587

  3. 设置管理员密码

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

    若是没有设置密码而要求输入当前密码,能够输入密码: admin

    image-20180703152943118

  4. 设置Rancher Server URL

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

5、建立K8S集群

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

  1. 页面右下角能够切换语言;

    image-20180703155306568

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

    image-20180703155455417

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

    image-20180703155616051

  4. 选择节点运行的角色

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

    image-20180703160014756

  5. 若是是云主机,须要添加主机的内网地址和对应的公网地址,若是是没有公网的云主机,能够跳过这步;

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

    image-20180703160307674

    若是是多台主机,根据角色的不一样,须要复制屡次

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

    image-20180703160635845

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

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

    image-20180703160909299

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

    image-20180703161000127

    image-20180703161032371

  11. 点击菜单栏主机按钮

    image-20180703161122349

  12. 集群建立完成

    image-20180703161220346

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

    image-20180703161314995

6、部署工做负载

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

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

    image-20180703161702320

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

    image-20180703162317366

  3. 部署完成

    image-20180703162503157

  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.九、1.十、1.十一、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流程,从而支持较为复杂的流程控制。
相关文章
相关标签/搜索