通过 YAML 创建应用
如果您熟悉 YAML 语法,并且更倾向于在表单或预定义模板之外定义配置,则可以通过 YAML 创建应用。此方式可为应用配置及其引用资源提供更灵活的控制。
注意事项
当集群中同时存在 Linux 和 Windows 节点时,请考虑配置节点选择,使工作负载仅调度到兼容的节点上。例如:
前提条件
确保 YAML 中定义的镜像可以在当前集群内拉取。您可以使用 podman pull 命令进行验证。
操作步骤
-
Container Platform,然后导航到 Application > Applications。
-
单击 Create。
-
选择 Create from YAML。
-
完成配置后,单击 Create。
-
在详情页面查看对应的 Deployment。
Applications 视图与 Clusters 视图之间的创建入口差异
新的 Web 控制台可以从不同视图中提供基于 YAML 的创建入口。请根据您是在项目范围内操作,还是在具体集群中操作,选择相应入口。
- Applications 视图:从当前项目开始。打开 Applications > Applications,单击 Create from YAML,先选择目标 Cluster,然后检查或确认 YAML 内容中的目标 Namespace,最后提交资源。
- Clusters 视图:从具体集群开始。先打开目标集群,进入目标命名空间,然后导航到 Applications 或相关资源列表,以在该固定集群上下文中打开 YAML 创建工作流。
在继续之前,请确认以下差异:
- 在 Applications 视图中,集群选择是项目范围内应用工作流的一部分。
- 在 Clusters 视图中,由于您是从具体集群内部开始,因此集群已经固定。
- 在 Applications 视图中,主要顺序是先选择集群,再确认 YAML 中声明的命名空间。
- 在 Clusters 视图中,主要顺序是先进入具体集群,再在目标命名空间上下文中操作。
Applications 视图的其他指导
如果您的环境在 Applications 视图中提供 YAML 创建功能,请使用相同的 YAML 创建路径,并查看以下仅适用于 Applications 视图的行为。
- 在 Applications 视图中打开应用页面。
- 单击 Create from YAML。
- 选择目标 Cluster。
- 检查 YAML 元数据中声明的命名空间。
- 粘贴或编辑 YAML 内容。
- 查看可见的元数据和验证结果。
- 单击 Create。
理解 YAML 验证和一致性
当您在 Applications 视图中通过 YAML 创建应用时:
- 所选集群决定工作流所使用的项目上下文。
- 工作流不会强制覆盖 YAML 中声明的命名空间。
- 命名空间验证会依据 YAML 中声明的命名空间以及命名空间资源的标准 Kubernetes 规则进行。
- YAML 验证会在提交前确认内容可以被解析并被工作流接受。
- 如果声明的命名空间不存在,或者您没有使用该命名空间的权限,提交将返回明确的错误。
- 验证成功并不保证运行时依赖项已经满足。
如果您的 YAML 包含多个资源,请确保在资源属于命名空间范围时,每个资源都显式声明了预期的命名空间。
提交前的检查点
在单击 Create 之前,请确认:
- YAML 中声明的命名空间就是您打算创建资源的命名空间。
- 声明的命名空间已存在,并且当前身份有权限在该命名空间中创建资源。
- 镜像源可从所选集群访问。
- 引用的 ConfigMaps、Secrets、Service、PVC 以及其他依赖项要么已经存在,要么在提交的 YAML 中保持一致地包含。
- 所有提交对象中的 labels、selectors、ports 和环境设置彼此保持内部一致。
- YAML 不会无意间与声明命名空间中具有相同标识的现有对象发生冲突。
- 任何调度约束仍然与目标集群匹配,尤其是在混合架构环境中。
当您一次性提交多个相关资源时,不仅要逐个检查每个对象,还要检查工作负载、Service、配置对象和存储引用之间的关系。