IBM® Cloud Private 组件

IBM Cloud Private 有两个主要组件:容器管理器 (Docker) 和容器编排器 (Kubernetes)。

IBM Cloud Private 集群的其他组件与这些主要组件配合工作,以提供认证、存储、网络、日志记录和监视等服务。 另外,还提供了集群 management console,它充当这些服务的集中式管理位置。

有关体系结构模型和节点类型的更多信息,请参阅体系结构

注:管理组件(例如,监视、测量和日志记录)在管理节点上运行。 如果集群中没有管理节点,那么管理组件将在主节点上运行。

组件

表 1. IBM Cloud Private 节点组件
组件 版本 位置 角色
警报管理器 0.13.0 单个管理节点 处理 Prometheus 服务器所发送的警报。 它负责警报的去重和分组,并将其传递至正确的接收方集成,例如,Slack、电子邮件或 PagerDuty。
基于 Ansible 的安装程序和操作管理器 2.5.0 引导节点 在主节点和工作程序节点上部署 IBM Cloud Private。 引导节点还可用于随需应变地调整集群大小,以及执行滚动更新。
认证管理器 3.1.0 每个主节点 提供用于管理用户的 HTTP API。 协议以 RESTful 方式实现。 使用 OpenID Connect 进行认证。
calico/node 3.1.3 除引导节点以外的所有节点。 在每个节点上设置 Calico 网络配置。 有关 Calico 组件的更多信息,请参阅 https://docs.projectcalico.org/v2.6/releases/ 在新选项卡中打开
calicoctl 3.1.3 每个主节点 以 Kubernetes 作业形式运行的客户机工具,用于建立整体 Calico 配置。
calico/cni 3.1.3 除引导节点以外的所有节点。 在每个节点上设置网络 CNI 插件。
calico/kube-policy-controller 3.1.3 每个主节点 控制器中心,用于在 IBM Cloud Private 集群中设置网络策略。
CoreDNS 1.1.3 所有主节点 提供 Kubernetes 应用程序的服务发现。
Docker 注册表 2 每个主节点 专用映像注册表,用于将容器映像文件存储在映像存储库中。 Docker 发行版和注册表版本为 API V2。
缺省后端 1.2 单个主节点 入口控制器的次要组件,用于协助将入站连接路由至集群中的服务。
Elasticsearch 5.5.1 单个管理节点 存储系统和应用程序的日志及指标。 Elasticsearch 还提供了高级 API,可用于查询这些日志和指标。
etcd 3.2.18 每个主节点 分布式键值存储,用于维护配置数据。
Filebeat 5.5.1 除引导节点以外的所有节点。 收集所有系统组件以及每个节点上运行的用户应用程序容器的日志。
GlusterFS 4.0.2 选择的工作程序节点 存储文件系统。
Grafana 4.6.3 单个管理节点 数据可视化与监视,以及支持将 Prometheus 用作数据源。
Heapster 1.4.0 单个主节点 连接至每个工作程序节点上运行的 kubelet,以及收集节点和容器的指标。 这些指标包括 CPU、内存和网络使用情况。
Heketi 7.0.0 在任何工作程序节点上作为 pod 运行。 这是用于管理 GlusterFS 的 CLI。
Helm (Tiller) 2.9.1 单个主节点 管理 Kubernetes Chart(软件包)。
IBM Cloud Private management console 3.1.0 每个主节点 基于 Open DC/OS GUI 的 Web 门户网站。 此management console使用虚拟 IP (VIP) 管理器提供的 VIP 连接至首要主节点。
映像管理器 2.2.3 每个主节点 通过向 Docker 注册表提供扩展功能来管理映像。 这些功能包括授权执行推送、拉取和移除操作。 映像管理器还提供了授权执行映像库编目的功能。
Indices-cleaner 0.2 单个管理节点 清除 Elasticsearch 数据。
Kibana 5.5.1 单个管理节点 此 UI 使您能够轻松访问 Elasticsearch 中存储的数据,以及创建该数据的可视化呈现和仪表板。
Kubelet 1.11.0 除引导节点以外的所有节点。 监管集群中的系统组件。
Kubernetes apiserver 1.11.1 每个主节点 提供 REST API,用于验证和配置 Kubernetes 对象的数据。 这些 Kubernetes 对象包括 pod、服务和复制控制器。
Kubernetes 控制管理器 1.11.1 每个主节点 通过监视和调整当前状态以确保所需的服务标准生效,维护 Kubernetes 集群的共享状态。 此维护通过 km apiserver 实现。
Kubernetes pause 3.1 除引导节点以外的所有节点。 存储 pod 的 IP 地址,以及为加入 pod 的其他容器建立网络名称空间。
Kubernetes 代理 1.11.1 除引导节点以外的所有节点。 获取传递到 Kubernetes 服务的流量,并将其转发到相应的 pod。 Kubernetes 代理由 km minion 启动。
Kubernetes 调度程序 1.11.1 每个主节点 根据调度策略,将 pod 分配给工作程序节点。
kube_state_metrics 1.2.0 单个管理节点 与 Kubernetes API 服务器进行通信,以生成有关 Kubernetes 对象状态的指标。
Logstash 5.5.1 单个管理节点 变换 Filebeat 所收集的日志,并将其转发到 Elasticsearch。
mariaDB 10.1.16 每个主节点 OIDC 所使用的数据库。
测量组件
  • 测量服务器
  • 测量阅读器
3.1.0
  • 测量服务器(单个管理节点)
  • 测量阅读器(除引导节点以外的所有节点。)
收集应用程序和集群的使用率指标。
MongoDB 3.6 每个主节点 由测量服务 (IBM® Cloud Product Insights)、Helm 存储库服务器和 Helm API 服务器使用的数据库。
OpenID Connect (OIDC) 1.0 每个主节点 基于 OAuth 2.0 的身份协议。 使用 WebSphere Liberty 概要文件作为 OIDC 提供程序。 Liberty 概要文件可配置为与现有的企业 LDAP 服务器集成。
Prometheus 组件
  • Prometheus (2.0.0)
  • collectd_exporter (0.3.1)
  • node_exporter (0.15.2)
  • configmap_reload (0.1)
  • elasticsearch-exporter(1.0.2)
  • kube-state-metrics-exporter(1.2.0)
单个管理节点 按给定时间内隔收集来自所配置的目标的指标,对规则表达式进行求值,显示结果,并可以在观察到符合某些条件时触发警报。
路由器 2.2.1 每个主节点 托管 management console,并充当所有系统组件 API 的逆向代理。
服务目录 0.1.2 每个主节点 实现开放式服务代理程序 API,以便为 IBM Cloud Private 提供服务代理程序集成
UCarp 1.5.2 每个主节点和代理节点 用于管理主节点上的虚拟 IP (VIP)。 此组件有助于维护集群中的高可用性 (HA)。 UCarp 需要 HA 主环境才能启动。
统一化路由器 3.1.0 单个主节点 用于支持 IBM Cloud Private management console的后端功能。
vip_manager 1.0 主节点和代理节点
NGINX 入口控制器 0.16.2 每个代理节点 用于对 NodePort Kubernetes 服务进行负载均衡。

漏洞顾问程序 (VA) 组件(可选功能)

表 2. 漏洞顾问程序节点组件
组件 版本 位置 角色
Kafka 0.10.0.1 VA 节点 数据管道组件,用于数据并入和管理。
安全分析服务 (SAS) 组件
  • SAS API 服务器
  • SAS 管理服务器
1.2.1 VA 节点 漏洞顾问程序的前端服务组件。 SAS 组件为漏洞顾问程序搜寻器和漏洞顾问程序仪表板提供 RESTful API。

搜寻器使用 SAS API 将扫描所得的容器和映像信息(称为帧)输出到漏洞顾问程序数据管道。

漏洞顾问程序仪表板也使用 SAS API 来报告漏洞顾问程序的发现。

Statsd 0.7.2 VA 节点 由漏洞顾问程序服务用于内部系统监视。
VA Elasticsearch 5.5.1 VA 节点 数据管道组件,用于为漏洞顾问程序的数据和分析注释建立索引,以及执行查询。
VA Elasticsearch curator 5.4.1 VA 节点 Elasticsearch curator 用于管理漏洞顾问程序索引大小以及修剪旧索引。 VA Elasticsearch curator 部署为 CronJob。
VA 注释器
  • VA 合规性注释器
  • VA 配置解析器
  • VA 密码注释器
  • VA Rootkit 注释器
  • VA 漏洞注释器
1.2.1 VA 节点 漏洞顾问程序数据管道组件,它们使用各种分析(包括漏洞分析、合规性检查、密码分析、配置分析和 rootkit 检测)加强所扫描的容器和映像数据的安全性。

这些注释器使用内外部安全信息和合规信息来加强容器和映像的安全性。

VA 索引器
  • VA 配置索引器
  • VA 通用索引器
1.2.1 VA 节点 数据管道组件,它们用于为漏洞顾问程序的发现建立索引,以供漏洞顾问程序后端使用。
  • VA 即时扫描代理
  • VA 通知分派器
1.2.1 VA 节点 数据管道组件,用于 API 和触发器。
VA Usncrawler 1.2.1 VA 节点 数据管道组件,用于摄入和聚集外部安全通知,以供漏洞顾问程序分析组件使用。
VA 搜寻器 1.2.1 VA 节点 漏洞顾问程序数据收集器(也称为搜寻器),用于检查运行中的容器和脱机映像。

这些搜寻器抽取系统和应用程序信息,以供所有漏洞顾问程序分析组件使用。

即时搜寻器和指标搜寻器在工作程序节点上运行,并部署为 DaemonSet。

注册表搜寻器以单独部署形式运行,并扫描部署到 IBM Cloud Private 映像注册表的映像。

Zookeeper 3.4.9 VA 节点 由漏洞顾问程序中的 kafka 组件使用。