第 1 章 管理应用程序
查看以下主题以了解更多有关创建、部署和管理应用程序的信息。本指南假定您对 Kubernetes 概念和术语有一定的了解。Kubernetes 关键术语和组件在此文档中并没有详细定义。有关 Kubernetes 概念的更多信息,请参阅 Kubernetes 文档。
应用程序管理功能为您提供了构建和部署应用程序及应用程序更新的统一和简化的选项。通过这些功能,开发人员和运维(DevOps)人员可通过基于频道和订阅的自动化功能在环境之间创建和管理应用程序。
重要:应用程序名称不能超过 37 个字符。
请参见以下主题:
1.1. 应用程序模型和定义
应用程序模型基于订阅一个或多个 Kubernetes 资源仓库(repository)(频道资源),其中包含部署在受管集群上的资源。单集群和多集群应用程序使用相同的 Kubernetes 规格,但多集群应用程序涉及更多的部署和应用程序管理生命周期自动化。
请参阅以下镜像以了解更多有关应用程序模型的信息:
查看以下应用程序资源部分:
1.1.1. Applications
Red Hat Advanced Cluster Management for Kubernetes 中的应用程序 (application.app.k8s.io)
用于对组成应用程序的 Kubernetes 资源进行分组。
Red Hat Advanced Cluster Management for Kubernetes 应用程序的所有应用程序组件资源都在 YAML 文件 spec 部分中定义。当需要创建或更新应用程序组件资源时,需要创建或编辑正确的 spec 部分,使其包含用于定义资源的标签。
您还可以使用发现的应用程序,它们是 OpenShift Container Platform GitOps 或集群中安装的 Argo CD Operator 的应用程序。共享同一存储库的应用程序在此视图中分组在一起。
1.1.2. 订阅
订阅(subscription.apps.open-cluster-management.io
)允许集群订阅到一个源仓库(频道),它可以是以下类型:Git 仓库、Helm 发行 registry 或 Object Storage 仓库。
注: 不建议自助管理 hub 集群,因为资源可能会影响 hub 集群。
如果 hub 集群是自助管理的,订阅可以在本地将应用程序资源部署到 hub 集群。然后您可以在拓扑中查看 local-cluster
订阅。资源要求可能会对 hub 集群性能造成负面影响。
订阅可以指向某个频道或存储位置,以标识新的或更新的资源模板。订阅 operator 可以在不先检查 hub 集群的情况下直接从存储位置下载并部署到目标受管集群。通过订阅,订阅 operator 可以监控该频道是否有新的或已更新的资源,而不是监控 Hub 集群。
请参阅以下订阅构架镜像:
1.1.2.1. Channels
频道(channel.apps.open-cluster-management.io
)定义了集群可通过一个订阅来进行订阅的源仓库,它可以是以下类型:Git、Helm release 和 Object storage 仓库,以及 hub 集群上的资源模板。
如果您的应用程序需要的 Kubernetes 资源或 Helm chart 来自需要授权的频道,如授权 Git 仓库,您可以使用 secret 提供对这些频道的访问。您的订阅可以在保持数据安全的同时访问从这些频道部署的 Kubernetes 资源及 Helm chart。
频道使用 hub 集群中的一个命名空间,并指向存储了用于部署的资源的物理位置。集群可以到订阅频道,以标识要部署到每个集群的资源。
注: 最佳做法是在每个命名空间中创建一个频道。Git 频道可以与其他类型的频道(包括 Git、Helm 和 Object 存储)共享命名空间。
频道中的资源只能供订阅该频道的集群访问。
1.1.2.1.1. 支持的 Git 存储库服务器
- GitHub
- GitLab
- Bitbucket
- Gogs
1.1.2.2. 放置规则
放置规则(placementrule.apps.open-cluster-management.io
)定义了可部署资源模板的目标集群。使用放置规则帮助您促进可部署资源的多集群部署。放置规则也用于监管和风险策略。有关如何的更多信息,请参阅监管。
1.1.3. ApplicationSet(技术预览)
ApplicationSet
(技术预览)是 Argo CD 的子项目,它为 Argo CD 应用程序添加多集群支持。您可以从产品控制台编辑器创建 ApplicationSet。
1.1.4. 应用程序文档
从以下文档了解更多相关信息: