运营开发者平台和容器化应用需要多种必须持续执行的管理任务,例如通过模板创建新应用、授权新的开发者群组使用开发者平台、规划容量需求以及调试运行时问题。
这些操作可以自动执行,也可以手动执行。
常见的自动化操作
此蓝图通过 webhook 触发器(一种简单的 API 类型)实现一些最常见任务的自动化。触发器会自动连接到来自其中一个源控制代码库的 webhook 事件。开发者平台开发者可以连接其他触发器。通常,开发者平台开发者编写开发者门户,这可以是一个简单的网络表单,可在表单提交时调用 webhook 触发器。
下表介绍了蓝图使用 webhook 触发器自动执行的常见任务。其中的任务频率仅为了进行说明,因为任务频率受许多因素的影响。任务不一定会按精确的时间间隔周期性执行。
任务 | 用户 | 说明 | 任务频率 |
---|---|---|---|
添加租户。 |
开发者平台管理员 |
管理员在开发者门户上提交表单。新租户表单字段包含租户名称和团队成员。自动触发器会为新租户创建资源。 |
每年几次 |
根据现有应用模板添加应用。 |
应用开发者 |
开发者在开发者门户上提交表单。新应用表单字段包括租户名称、应用名称和基础应用模板。自动触发器会为新应用创建资源。 |
每年几次 |
构建应用的源代码更改并部署到开发环境。 |
应用开发者 |
开发者修改源代码,在本地运行和测试代码,然后提交代码。本地开发者工作流不涉及蓝图,但 Skaffold 工具支持本地构建步骤。 |
每个应用每天几次 |
将应用的 YAML 配置更改部署到开发环境。YAML 配置更改的一个示例是增加部署资源的 CPU。 |
应用开发者 |
开发者修改应用配置并提交更改。 |
每个应用每周几次 |
将应用基础设施更改部署到开发环境。应用基础设施是应用项目中的云资源。这种更改的一个示例是增加 AlloyDB for PostgreSQL 实例的 CPU 数量。 |
应用开发者 |
开发者修改应用资源 Terraform 项目并提交更改。开发者在开发者门户上提交表单。自动触发器会启动计划并应用流水线。 |
每年多次 |
将应用更改从开发环境提升到非生产环境(或从非生产环境提升到生产环境)。应用更改可能包括新的应用映像或应用 YAML 配置更改。 |
应用运维人员 |
运维人员将更改从开发分支合并到非生产分支(或从非生产分支合并到生产分支)。运维人员对发布进行监督。 |
每个应用每周几次 |
将应用基础设施更改从开发环境提升到非生产环境(或从非生产环境提升到生产环境)。 |
应用运维人员 |
运维人员将选定更改从开发分支合并到非生产分支(或从非生产分支合并到生产分支)。运维人员对发布进行监督。 |
每个应用每个季度几次 |
常见的手动操作
某些开发者平台操作的结构化程度不高,不通过开发者平台自动执行。您可以根据此蓝图开发自己的 playbook,并在 Google Cloud 控制台中执行这些任务。
下表介绍了这些非自动化任务。其中的任务频率仅为了进行说明,因为任务频率受许多因素的影响。任务不一定会按精确的时间间隔周期性执行。
任务 | 用户 | 说明 | 任务频率 |
---|---|---|---|
定义新的应用模板。 |
开发者平台开发者 |
开发者修改基于蓝图模板的应用模板,或者将模板移植到新语言。 |
每年几次 |
调查开发环境中的服务运行时错误。 |
应用开发者 |
开发者使用 Google Cloud 控制台中的 Logs Explorer 和 Metrics Explorer 查看租户和应用的错误日志、监控指标和时序数据。 |
每月几次 |
调查生产环境或非生产环境中的服务运行时错误。 |
应用运维人员 |
运维人员使用 Google Cloud 控制台中的 Logs Explorer 和 Metrics Explorer 查看租户和应用的错误日志、监控指标和时序数据。 |
每月几次 |
调查构建错误。 |
应用开发者 |
开发者在 Google Cloud 控制台中查看 Cloud Build 历史记录,包括构建状态和日志。 |
每周几次 |
调查开发环境中的部署错误 |
应用开发者 |
开发者在 Google Cloud 控制台中查看 Cloud Deploy 版本和发布历史记录,了解部署尝试的成功状态和日志,包括任何错误。 |
每月几次 |
调查非生产环境和生产环境中的部署错误 |
应用运维人员 |
运维人员在 Google Cloud 控制台中查看 Cloud Deploy 版本和发布历史记录,了解部署尝试的成功状态和日志,包括错误日志。 |
每月几次 |
连接到集群以调试 GKE 问题。 |
开发者平台管理员 |
管理员使用 Connect 网关连接到专用集群。对于常见问题(例如 Pod 无法调度),管理员可以在 Google Cloud 控制台中查看有关常见问题(例如 Pod 无法调度)的信息。 |
每月几次 |
规划容量并优化费用。 |
开发者平台管理员 |
管理员在 Google Cloud 控制台中查看按范围或命名空间汇总的 GKE 资源利用率。 |
安排为每月进行的周期性任务。 |
调整节点池的大小、添加或移除节点池。 |
开发者平台管理员 |
管理员视需要修改 IaC 并重新部署应用。 |
根据容量规划完成。 |
检查安全状况。 |
开发者平台管理员 |
管理员使用 GKE 安全状况信息中心检查漏洞和标准合规情况。 |
安排为每月进行的周期性任务。 |
升级集群系统软件版本(例如 Kubernetes 版本)。 |
开发者平台管理员 |
管理员使用 GKE 维护期和排除项以仅允许在计划时间内升级。管理员首先使用开发环境中的开放升级窗口。评估升级的健康状况后,管理员会升级非生产环境,然后再升级生产环境。 |
安排为每季度进行的周期性任务。 |
安装关键的集群安全更新。 |
无 |
自动,由 GKE 完成。 |
每年几次 |
测试区域故障切换。 |
开发者平台管理员和应用管理员 |
管理员视需要安排并手动启动环境的区域故障切换。 |
每年一次,在灾难恢复演习中进行 |
添加区域。 |
开发者平台管理员、开发者平台开发者和应用管理员 |
开发者平台管理员在新区域中部署其他 GKE 集群。管理员更新应用模板以为相关环境添加新的部署步骤。然后,应用运维人员集成更改来添加部署序列,以添加新区域。 |
极少 |
迁移到新区域。 |
开发者平台管理员、开发者平台开发者和应用管理员 |
用户按照添加区域中所述添加新区域。测试新配置后,用户移除旧区域。 |
极少 |
后续步骤
- 了解如何管理开发者平台的费用和归因(本系列的下一个文档)。