1.4. 管理应用程序资源
通过控制台,您可以使用 Git 仓库、Helm 仓库和对象存储库创建应用程序。
弃用: 应用程序订阅 以及使用应用程序订阅的所有进程。有关更新的功能,请参阅 GitOps 概述。
重要: Git 频道可以与所有其他频道类型共享命名空间: Helm、对象存储和其他 Git 命名空间。
请参阅以下主题以开始管理应用程序:
1.4.1. 使用 Git 存储库管理应用程序 复制链接链接已复制到粘贴板!
当您使用应用程序部署 Kubernetes 资源时,这些资源位于特定的存储库中。了解如何在以下流程中从 Git 存储库部署资源。如需了解更多有关应用程序模型的信息,请参阅应用程序模型和定义(已弃用)。
弃用: 应用程序订阅,以及使用应用程序订阅的所有进程都已弃用。有关更新的功能,请参阅 GitOps 概述。
用户需要访问权限: 可以创建应用程序的用户角色。您只能执行分配了相关角色的操作。请从基于角色的访问控制文档中了解访问要求。
- 在控制台导航菜单中点 Applications 来查看列出的应用程序并创建新应用。
- 可选: 在选择要创建的应用程序类型后,您可以选择 YAML: On 在控制台上按照创建和编辑应用程序查看 YAML。请参阅后面的 YAML 示例。
从可以使用的存储库列表中选择 Git,并在正确的字段中输入值。按照控制台中的指南,根据您的输入查看 YAML 编辑器更改值。
备注:
- 如果选择了现有的 Git 存储库路径,则不需要指定连接信息(如果这是私有存储库)。连接信息是预先设置的,您不需要查看这些值。
- 如果输入了新的 Git 存储库路径,则可以选择性地输入 Git 连接信息(如果这是一个私有 Git 存储库)。
-
请注意协调选项。
merge选项是默认选择,这代表要添加新字段,并在资源中更新现有字段。您可以选择replace。使用replace选项,现有资源被替换为 Git 源。当订阅协调率被设置为low时,订阅的应用程序资源最多可能需要一小时才能完成协调。在单个应用程序视图的卡上,单击 Sync 以手动协调。如果设为off,则永远不会协调。
-
设置任何可选的部署前和部署后的任务。如果您有要在订阅部署应用程序资源之前或之后运行的 Ansible Automation Platform 作业,则设置 Ansible Automation Platform secret。定义作业的 Ansible Automation Platform 任务必须放置在此存储库的
prehook和posthook文件夹中。 - 如果需要使用控制台添加凭证,可以点 Add credential。按照控制台中的指示进行操作。请参阅管理凭证概述。
- 点 Create。
- 您会被重定向到 Overiew 页,可以在其中查看详情和拓扑。
1.4.1.1. 更多示例 复制链接链接已复制到粘贴板!
-
有关
root-subscription/的示例,请参阅application-subscribe-all。 -
有关指向同一仓库中其他文件夹的订阅示例,请参阅
subscribe-all。 -
请参阅
nginx-apps存储库中带有应用程序工件的common-managed文件夹示例。 - 请参阅策略集合中的策略示例。
1.4.1.2. 使用 Git 删除订阅后保留部署的资源 复制链接链接已复制到粘贴板!
使用 Git 存储库创建订阅时,您可以添加 do-not-delete 注解,以便在删除订阅后保留特定的部署资源。do-not-delete 注解仅适用于顶级部署资源。要添加 do-not-delete 注解,请完成以下步骤:
- 创建至少部署一个资源的订阅。
在您要保留的资源或资源中添加以下注解,即使您删除订阅:
apps.open-cluster-management.io/do-not-delete: 'true'请参见以下示例:
apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: apps.open-cluster-management.io/do-not-delete: 'true' apps.open-cluster-management.io/hosting-subscription: sub-ns/subscription-example apps.open-cluster-management.io/reconcile-option: merge pv.kubernetes.io/bind-completed: "yes"
删除订阅后,带有 do-not-delete 注解的资源仍然存在,而其他资源也会被删除。
注: 使用 do-not-delete 注解绑定到命名空间来保持部署的资源。因此,在删除剩余的资源前,您无法删除命名空间。