Google Kubernetes Engine (GKE) 提供了一个受管环境,您可以使用 Google 基础架构在其中部署、管理和扩缩容器化应用。GKE 环境包括多个机器(具体来讲,就是 Compute Engine 实例),这些机器组合在一起就形成了集群。
使用 GKE 编排集群
GKE 集群由 Kubernetes 开源集群管理系统提供支持。Kubernetes 为用户提供了与集群进行交互的机制。您可以使用 Kubernetes 命令和资源来部署和管理应用、执行管理任务、设置政策,以及监控您部署的工作负载的运行状况。
Kubernetes 借鉴了一些常用 Google 服务背后的设计原理,可以带来同样的好处:自动管理、对应用容器进行监控和活跃性探测、自动扩缩、滚动更新等。 当您在集群上运行应用时,所用到的技术可以说凝聚了 Google 10 余年来在容器中运行生产工作负载的丰富经验。
Google Cloud 上的 Kubernetes
运行 GKE 集群时,您还可以获享 Google Cloud 提供的高级集群管理功能所带来的好处,这些好处包括:
- Google Cloud 针对 Compute Engine 实例提供的负载平衡功能
- 节点池(可用于在集群中指定节点子集以提高灵活性)
- 自动扩缩集群的节点实例数量
- 自动升级集群的节点软件
- 节点自动修复(以保持节点的正常运行和可用性)
- 利用 Google Cloud 的运维套件进行日志记录和监控,让您可以清楚了解自己集群的状况
Kubernetes 版本和功能
随着 Kubernetes 的新版本变得稳定,GKE 集群控制层面会自动升级以运行这些新版本,以便您可以利用开源 Kubernetes 项目的新功能。
Kubernetes 中的新功能列为 Alpha 版、测试版或稳定版,具体取决于其在开发过程中的状态。在大多数情况下,GKE 中包含列为 Beta 版或稳定版的 Kubernetes 功能。特殊的 GKE Alpha 版集群中提供 Kubernetes Alpha 版功能。
GKE 工作负载
GKE 可与容器化应用配合使用。容器化应用是封装到与平台无关的独立用户空间实例中(例如通过使用 Docker)的应用。在 GKE 和 Kubernetes 中,应用和批量作业的容器统称为工作负载。在 GKE 集群上部署工作负载之前,必须先将工作负载封装到容器中。
GKE 支持使用 Docker 容器。如需详细了解 GKE 针对您的工作负载支持的节点映像,请参阅节点映像。
Google Cloud 提供持续集成和持续交付工具,可帮助您构建和提供应用容器。您可以使用 Cloud Build 从各种源代码库构建容器映像(例如 Docker),并使用 Artifact Registry 或 Container Registry 来存储和提供容器映像。