了解 IBM Cloud Kubernetes Service
了解更多关于 IBM Cloud® Kubernetes Service、其功能以及根据您的需求定制仪表盘的各种选项。
IBM Cloud Kubernetes Service 是一项托管服务,用于创建自己的 计算主机集群,以便在 上部署和管理容器化应用。Kubernetes IBM Cloud 作为经过认证的 Kubernetes 提供程序,IBM Cloud Kubernetes Service 为应用程序提供了智能安排、自我复原、水平缩放、服务发现和负载均衡、自动应用和回滚以及私钥和配置管理功能。 通过与直观的用户体验、内置安全性和隔离以及高级工具组合使用来保护、管理和监视集群工作负载,可以在公共云中快速交付高度可用且安全的容器化应用程序。
查看 IBM Cloud Kubernetes Service 的常见问题及其使用的主要技术。
什么是 Kubernetes?
Kubernetes 是一个开放式源代码平台,用于管理跨多个主机的容器化工作负载和服务,并提供用于部署、自动执行、监视和缩放容器化应用程序的管理工具,需要的手动干预极少,甚至不需要手动干预。
开源项目 Kubernetes 将运行容器化基础设施与生产工作负载、开源贡献和 Docker 容器管理工具相结合。 Kubernetes 基础设施提供了一个独立且安全的容器管理应用平台,该平台可移植、可扩展,并在故障转移时具有自我修复功能。 有关更多信息,请参阅 什么是 Kubernetes?。
了解有关 Kubernetes 主要概念的更多信息,如下图所示。
- 帐户
-
帐户是指 IBM Cloud 帐户。
- 集群,工作程序池和工作程序节点
-
一个 Kubernetes 集群由一个主节点和多个计算节点(称为工作节点)组成。 工作程序节点组织成具有相同类型模板的工作程序池,或者具有 CPU,内存,操作系统,连接的磁盘和其他属性的概要文件。 工作程序节点对应于 Kubernetes
Node
资源,并由集中控制和监视集群中所有 Kubernetes 资源的 Kubernetes 主节点进行管理。 因此,在部署容器化应用程序的资源时,Kubernetes 主节点会考虑部署需求和集群中的可用容量,然后决定将这些资源部署在哪个工作程序节点上。 Kubernetes 资源包括服务、部署和 pod。 - 名称空间
-
Kubernetes 名称空间是一种将集群资源划分到不同区域的方法,您可以部署应用程序并限制对这些区域的访问,例如,如果要与多个团队共享集群。 例如,为您配置的系统资源将保留在不同的名称空间中,例如
kube-system
或ibm-system
。 如果在创建 Kubernetes 资源时未指定名称空间,那么将在default
名称空间中自动创建该资源。 - 服务
-
服务是 Kubernetes 资源,可将一组 pod 分组在一起,并提供与这些 pod 的网络连接,而无需公开每个 pod 的实际专用 IP 地址。 您可以通过服务使应用程序在集群内或公用因特网中可用。
- 部署
-
部署是一种 Kubernetes 资源,在其中可指定运行应用程序所需的其他资源或功能的信息,例如服务、持久性存储器或注释。 您可在配置 YAML 文件中记录部署,然后将其应用于集群。 Kubernetes 主节点会配置资源,并将容器部署到具有可用容量的工作程序节点上的 pod 中。
-
定义应用程序的更新策略,包括在滚动更新期间要添加的 pod 数,以及允许同时不可用的 pod 数。 执行滚动更新时,部署将检查更新是否有效,并在检测到故障时停止应用。
-
部署只是可用于管理 pod 的一种类型的工作负载控制器。 有关在选项中进行选择的帮助,请参阅 我可以为应用程序创建哪种类型的 Kubernetes 对象?。 有关部署的更多信息,请参阅 Kubernetes 文档。
- Pod
-
部署到集群中的每个容器化应用都由一个名为“容器”的 Kubernetes 资源进行部署、运行和管理。 pod 代表 Kubernetes 集群中的小型可部署单元,用于将必须视为单个单元的容器分组在一起。 通常,每个容器都部署在其自己的 pod 中。 但是,应用程序可能需要将一个容器和其他辅助容器部署到一个 pod 中,以便可以使用相同的专用 IP 地址寻址到这些容器。
- 应用程序
-
应用程序可能是指完整应用程序,也可能指应用程序组件。 您可在单独的 pod 或单独的工作程序节点中部署应用程序的组件。 有关更多信息,请参阅 规划应用程序部署 和 开发 Kubernetes-native 应用程序。
要深入了解 Kubernetes,请参阅 Kubernetes 文档。
什么是容器?
容器提供了一种标准方法,用于将应用程序的代码、配置和依赖项打包成一个单元,以作为资源隔离的进程在计算服务器上运行。 要在 IBM Cloud 上运行您的应用,您必须首先通过创建一个容器镜像来容器化您的应用,并将该镜像存储在容器注册表中。
复习以下术语,进一步熟悉概念。
- 容器
- 容器是一个打包了所有依赖项的应用程序,这样应用程序就可以在不同的环境之间移动,无需修改即可运行。 与虚拟机不同,容器不会虚拟化设备、操作系统和底层硬件。 在容器中只打包应用程序代码、运行时、系统工具、库和设置。 容器在计算主机上作为隔离进程运行,并共享主机操作系统及其硬件资源。 这种方式使得容器比虚拟机更轻便、可移植性更高且更高效。
- 图像
- 容器映像是一个包含运行容器所需的文件、配置设置和库的包。 镜像由一个名为 Dockerfile 的文本文件构建而成。 Dockerfiles 定义了如何构建镜像,以及其中包含哪些工件。 容器中包含的工件包括应用程序代码、配置设置和任何依赖项。
- 注册表
- 映像注册表是用于存储、检索和共享容器映像的位置。 注册表既可以对任何人公开,也可以对一小部分用户私下开放。 在企业应用方面,请使用私人注册表(如 IBM Cloud ),以防止未经授权的用户使用您的图片。
IBM Cloud Kubernetes Service 提供什么计算主机基础设施?
通过 IBM Cloud® Kubernetes Service,您可以使用来自以下提供程序的基础结构来创建集群。 一个集群中的所有工作程序节点都必须来自同一提供者。
组件 | 描述 |
---|---|
概述 | 在您自己的虚拟私有云 (VPC) 中的虚拟服务器上创建集群。 |
支持的容器平台 | Red Hat OpenShift 或 Kubernetes |
计算和工作程序节点资源 | 工作程序节点通过使用共享基础结构或专用主机创建为虚拟机。 与经典集群不同,共享硬件上的 VPC 集群工作程序节点不会显示在基础架构门户网站或单独的基础架构帐单中。 而是通过 IBM Cloud Kubernetes Service来管理工作程序节点的所有维护和计费活动。 工作程序节点实例会连接到位于基础架构帐户中的特定 VPC 实例,例如 VPC 子网或存储卷。 对于专用主机,专用主机价格包括vCPU,内存和 实例存储,以供主机上的任何工作者使用。 请注意,缺省情况下,所有英特尔 ® x86-64 服务器都已启用超线程。 有关更多信息,请参阅 Intel Hyper-Threading Technology。 |
安全性 | 共享硬件上的集群在公共云中的隔离环境中运行。 专用主机上的集群不会在共享环境中运行,而是只有您的集群存在于您的主机上。 网络访问控制表可保护为工作程序节点提供浮动 IP 的子网。 |
高可用性 | 主节点包含三个用于实现高可用性的副本。 此外,如果在多专区大城市中创建集群,那么主节点副本会在各专区中分布,您还可以在各专区中分布工作程序池。 |
保留 | 预留不可用于 VPC。 |
集群管理 | 无法重新装入或更新 VPC 集群。 相反,使用 worker replace --update CLI 或 API操作来替换过时或处于故障状态的worker节点。 |
集群联网 | 与经典基础架构不同,VPC 集群的工作程序节点连接到 VPC 子网和分配的专用 IP 地址。 工作程序节点不会连接到公用网络,而是通过公共网关、浮动 IP 或 VPN 网关访问公用网络。 有关更多信息,请参阅 IBM Cloud Kubernetes Service中的 VPC 联网概述。 |
应用程序和容器平台 | 您可以选择创建社区 Kubernetes 或 Red Hat OpenShift 集群来管理您的容器化应用。 应用程序构建过程不会因为基础架构提供者而有所不同,但您公开应用程序的方式会有所不同。 |
应用程序联网 | 部署到工作程序节点的所有 pod 都会分配有 172.30.0.0/16 范围内的专用 IP 地址,并且在专用 VPC 子网的工作程序节点专用 IP 地址上的工作程序节点之间路由这些 pod。 要在公用网络上公开应用程序,可以创建 Kubernetes LoadBalancer 服务,以为工作程序节点供应 VPC 负载均衡器和公共主机名地址。 有关更多信息,请参阅使用 VPC 负载均衡器公开应用程序。 |
存储器 | 可以从非持久性和持久性存储器解决方案(例如,文件存储器、块存储器、对象存储器和软件定义的存储)中进行选择。 有关更多信息,请参阅规划高可用性持久性存储器。 |
用户访问权 | 您可以使用 IBM Cloud IAM 访问策略 来授权用户创建基础架构,管理集群和访问集群资源。 集群所在的资源组可以不同于 VPC 所在的资源组。 |
集成 | VPC 支持由支持的 IBM Cloud 服务、附加组件和第三方集成构成的精选列表。 有关列表,请参阅支持的 IBM Cloud 和第三方集成。 |
位置和版本 | VPC 集群在全球范围内的 多专区位置 中可用。 |
服务界面 | 下一个版本 (v2 ) 的 IBM Cloud Kubernetes Service API 支持 VPC 集群,可以通过可用于经典集群的相同 CLI 和控制台来管理 VPC 集群。 |
服务合规性 | 请参阅 服务符合哪些标准? 中的 VPC 部分。 |
服务限制 | 请参阅服务限制。 有关 IBM Cloud Kubernetes Service中特定于 VPC 的限制,请参阅 VPC 集群限制。 有关常规 VPC 基础架构提供程序限制,请参阅 限制。 |
组件 | 描述 |
---|---|
概述 | 在您自己的硬件 IBM Cloud 经典或 VPC 上,或者在其他云提供者 (例如 AWS 或 Azure) 中的虚拟服务器上创建集群。 |
支持的容器平台 | Red Hat OpenShift |
计算和工作程序节点资源 | 工作程序节点可以是使用共享基础结构或专用主机的虚拟机,甚至是裸机服务器。 可以通过主机基础架构提供者 (无论是 IBM Cloud,您自己的内部部署硬件还是其他云提供者) 来管理工作程序节点的维护和计费活动。 您还可以通过 IBM Cloud来管理计费。 有关定价的更多信息,请参阅 “使用 IBM Cloud Satellite 时,我应该支付哪些费用?”。 |
安全性 | 请参阅 安全性与合规性。 |
高可用性 | 请参阅 关于高可用性和恢复。 |
保留 | 预留不可用于 Satellite。 |
集群管理 | 请参阅 更新分配为工作程序节点的主机。 |
集群联网 | 如果将 IBM Cloud 经典主机或 VPC 主机连接到您的位置,请参阅这些描述。 |
应用程序和容器平台 | 您可以创建 Red Hat OpenShift 集群 来管理容器化应用程序。 应用程序构建过程不会因为基础架构提供者而有所不同,但您公开应用程序的方式会有所不同。 有关更多信息,请参阅 选择应用程序公开服务。 |
应用程序联网 | 缺省情况下,部署到工作程序节点的所有 pod 都会分配有 172.30.0.0/16 范围内的专用 IP 地址。 通过指定为 pod 提供专用 IP 地址的定制子网 CIDR,可以避免子网与用于连接到位置的网络发生冲突。 要公开应用程序,请参阅 在 Satellite 集群中公开应用程序。 |
存储器 | 自带存储驱动程序或部署其中一个受支持的存储模板。 有关更多信息,请参阅 了解 Satellite 存储。 |
用户访问权 | 您可以使用 IBM Cloud IAM 访问策略来授权用户创建 IBM Cloud 基础架构,管理集群和访问集群资源。 更多信息,请参阅 访问管理概述。 您还可以在基础架构提供者提供的策略中进一步控制对主机基础架构的访问。 |
集成 | 对于集群集成,请参阅 支持的 IBM Cloud 和第三方集成。 有关受支持的 Satellite 服务集成,请参阅 支持的 Satellite IBM Cloud 服务。 |
位置和版本 | 集群从 受支持的 IBM Cloud 位置 之一进行管理。 但是,您可以将工作程序节点部署到自己的位置,IBM Cloud 数据中心或其他云提供者。 有关更多信息,请参阅 了解位置和主机。 |
服务界面 | Satellite 受全局 API [IBM Cloud Kubernetes Service,IBM Cloud Kubernetes ServiceCLI 和 Satellite CLI 支持。 您还可以从 控制台 管理集群。 |
服务合规性 | 对于集群,请参阅 服务符合哪些标准?。 对于 Satellite,请参阅 安全性与合规性。 |
服务限制 | 请参阅 限制,缺省设置和使用要求。 |
组件 | 描述 |
---|---|
概述 | 在 IBM Cloud 基础架构中的经典计算,网络和存储环境中创建集群。 |
支持的容器平台 | Red Hat OpenShift 或 Kubernetes |
计算和工作程序节点资源 | 您的工作节点可以使用虚拟、裸机和软件定义的存储设备。 工作程序节点实例位于 IBM Cloud 基础架构帐户中,但可以通过 IBM Cloud Kubernetes Service 对这些实例进行管理。 工作程序节点实例由您拥有。 |
安全性 | 内置安全功能,可帮助您保护集群基础设施、隔离资源并确保安全合规。 有关更多信息,请参阅 经典网络基础结构文档。 |
高可用性 | 对于经典集群和 VPC 集群,主节点都包含三个副本,以实现高可用性。 此外,如果在多专区大城市中创建集群,那么主节点副本会在各专区中分布,您还可以在各专区中分布工作程序池。 有关更多信息,请参阅 IBM Cloud Kubernetes Service 的高可用性。 |
保留 | 针对经典工作程序节点的 1 或 3 年合同条款 创建预留,以锁定合同生命周期的降低成本。 与常规工作程序节点成本相比,典型的节省范围在 30-50% 之间。 |
集群管理 | 经典集群支持 v1 API的全部操作,例如调整工作线程池的大小、重新加载工作线程节点,以及更新主节点和工作线程节点的主要版本、次要版本和补丁版本。 删除集群时,可以选择除去任何连接的子网或存储器实例。 |
集群联网 | 工作程序节点在专用 VLAN 上供应,专用 VLAN 提供专用 IP 地址以在专用 IBM Cloud 基础架构网络上进行通信。 要在公用网络上进行通信,还可以在公用 VLAN 上供应工作程序节点。 与集群主机的通信可以在公共或私有云服务端点进行。 有关更多信息,请参阅 了解 VPC 集群网络基础知识 或 了解经典集群网络基础知识。 |
应用程序和容器平台 | 您可以选择创建 社区 Kubernetes 或 Red Hat OpenShift 集群 来管理您的容器化应用。 应用程序构建过程不会因为基础架构提供者而有所不同,但您公开应用程序的方式会有所不同。 有关更多信息,请参阅 选择应用程序公开服务。 |
应用程序联网 | 部署到工作程序节点的所有 pod 都会分配有 172.30.0.0/16 范围内的专用 IP 地址,并且在专用 VLAN 的工作程序节点专用 IP 地址上的工作程序节点之间路由这些 pod。 要在公用网络上公开应用程序,集群必须在公用 VLAN 上具有工作程序节点。 然后,可以创建 NodePort、LoadBalancer (NLB) 或 Ingress (ALB) 服务。 有关更多信息,请参阅规划应用程序的集群内联网和外部联网。 |
存储器 | 可以从非持久性和持久性存储器解决方案(例如,文件存储器、块存储器、对象存储器和软件定义的存储)中进行选择。 有关更多信息,请参阅规划高可用性持久性存储器。 |
用户访问权 | 要创建经典基础架构集群,必须为每个区域和资源组设置基础架构凭证。 要让用户管理集群,请使用 IBM Cloud IAM 平台访问角色。 要授予用户对集群资源的访问权,请使用 IBM Cloud IAM 服务访问角色,这些角色与 Kubernetes RBAC 角色相对应。 |
集成 | 可以使用各种 IBM Cloud 服务、附加组件和第三方集成来扩展集群和应用程序功能。 有关列表,请参阅支持的 IBM Cloud 和第三方集成。 |
位置和版本 | 全球 提供经典集群。 |
服务界面 | 在 Kubernetes Service v1 API,CLI 和 控制台 中完全支持经典集群。 |
服务合规性 | 请参阅 服务符合哪些标准? 中的经典部分。 |
服务限制 | 请参阅服务限制。 特定于功能部件的限制按部分记录。 |
使用服务有哪些好处?
- 可选择容器平台提供者
- 使用 Red Hat OpenShift 或社区 Kubernetes 作为容器平台协调器。
- 选择适合您公司的开发人员体验,或者通过 Red Hat OpenShift 或社区 Kubernetes 集群运行工作负载。
- 从 IBM Cloud 控制台到 Kubernetes 仪表板或 Red Hat OpenShift 网络控制台的内置集成。
- 从 IBM Cloud 对所有 Red Hat OpenShift 或社区 Kubernetes 集群进行单一查看和管理。
- 隔离了计算、网络和存储基础架构的单租户 Kubernetes 集群
- 创建您自己的定制基础架构,以满足组织的需求。
- 在基础设施提供商之间进行选择。
- 使用 IBM Cloud 基础架构提供的资源来供应专用而安全的 Kubernetes 主节点、工作程序节点、虚拟网络和存储器。
- 由 IBM 持续监视和更新的完全受管 Kubernetes 主节点,使您的集群可用。
- 可将工作节点配置为裸机服务器,用于处理数据、GPU和人工智能等计算密集型工作负载。
- 存储持久数据,在 Kubernetes pod 之间共享数据,以及在需要时使用集成和安全卷服务复原数据。
- 受益于对所有本机 Kubernetes API 的完全支持。
- 多专区集群可提高高可用性
- 通过工作程序池轻松管理同一类型模板(CPU、内存、虚拟或物理)的工作程序节点。
- 通过在精选多专区中均匀分布节点并对应用程序使用反亲缘关系 pod 部署,以防止专区故障。
- 通过使用多专区集群而不是在单独的集群中复制资源,从而降低成本。
- 通过在集群的每个专区中自动设置的多专区负载均衡器 (MZLB),受益于跨应用程序的自动负载均衡。
- 高可用性主节点
- 缩短集群停机时间,例如在对创建集群时自动供应的高可用性主节点进行主节点更新期间。
- 将您的主机分散在多区域集群中,以保护您的集群免受区域故障的影响。
- 符合漏洞顾问程序的映像安全
- 在安全的 Docker 私有镜像注册表中创建自己的存储库,组织中的所有用户都可以在此存储和共享镜像。
- 受益于自动扫描专用 IBM Cloud 注册表中的映像。
- 查看特定于映像中所用操作系统的建议,以修复潜在漏洞。
- 持续监视集群运行状况
- 使用集群仪表板可快速查看和管理集群、工作程序节点和容器部署的运行状况。
- 使用 IBM Cloud® Monitoring,找到详细的使用量度量值,并快速扩展集群以满足工作负载需求。
- 使用 IBM Cloud Logs 复查日志记录信息,以查看详细的集群活动。
- 安全地向公众公开应用程序
- 在公共 IP 地址、IBM 提供的路径或您自己的定制域之间进行选择,以通过因特网访问集群中的服务。
- IBM Cloud 服务集成
- 通过整合 IBM Cloud 服务,为您的应用程序添加额外功能,例如 Watson API、Blockchain、数据服务或物联网。
Red Hat OpenShift 与 Kubernetes 集群之间的比较
Red Hat OpenShift on IBM Cloud 和 IBM Cloud Kubernetes Service 集群都是为生产就绪的容器平台,专为企业工作负载量身定制。 下表对某些常见特性进行了对比,可帮助您选择最适合您使用情况的集装箱平台。
特征 | Kubernetes 集群 | Red Hat OpenShift 集群 |
---|---|---|
通过 IBM Cloud Kubernetes Service 自动化工具(API、CLI 和控制台)提供完整的集群管理体验 | 是 | 是 |
在单专区和多专区中实现全球可用性 | 是 | 是 |
跨混合云提供者实现一致的容器编排 | 是 | 是 |
访问 IBM Cloud 服务(如 AI) | 是 | 是 |
软件定义的存储 Portworx 解决方案,可用于多专区数据用例 | 是 | 是 |
在 IBM Virtual Private Cloud (VPC) 中创建集群 | 是 | 是 |
最新 Kubernetes 发布 | 是 | |
作用域 IBM Cloud IAM 访问策略,用于访问与集群 RBAC 同步的服务访问角色的组 | 是 | |
仅限于专用网络上的经典基础设施集群 | 是 | |
GPU 裸机工作程序节点 | 是 | 是 |
集成的 IBM Cloud Paks 和中间件 | 是 | |
内置容器映像流,构建和工具 (阅读更多) | 是 | |
CI/CD 与 Jenkins 集成 | 是 | |
缺省情况下设置了更严格的应用程序安全上下文 | 是 | |
简化了 Kubernetes 开发者体验,具有适合初学者的应用程序控制台 | 是 | |
支持的操作系统 | Kubernetes 版本信息 | Red Hat OpenShift版本信息 |
首选外部流量联网 | Ingress | 路由器 |
使用 Hyper Protect Crypto Services 加密的安全路由 | 是 |
相关资源
查看如何了解有关 Kubernetes 概念和术语的信息。
- 通过完成 本课程,了解 Kubernetes 和 IBM Cloud Kubernetes Service 如何协同工作。