1.3. 管理应用程序资源


通过控制台,您可以使用 Git 仓库、Helm 仓库和对象存储库创建应用程序。

重要: Git 频道可以与所有其他频道类型共享命名空间: Helm、对象存储和其他 Git 命名空间。

请参阅以下主题以开始管理应用程序:

1.3.1. 使用 Git 存储库管理应用程序

当您使用应用程序部署 Kubernetes 资源时,这些资源位于特定的存储库中。了解如何在以下流程中从 Git 存储库部署资源。如需了解更多有关应用程序模型的信息,请参阅应用程序模型和定义

用户需要访问权限: 可以创建应用程序的用户角色。您只能执行分配了相关角色的操作。如需更多关于访问要求的信息,请参阅基于角色的访问控制文档。

  1. 在控制台导航菜单中点 Manage application
  2. Create application

    对于以下步骤,选择 YAML: On 在创建应用程序时在控制台中查看 YAML。请参阅后面的 YAML 示例。

  3. 在正确的字段中输入以下值:

    • Name:输入应用程序的有效 Kubernetes 名称。
    • Namespace:从列表中选择一个命名空间。如果分配了正确的访问角色,您还可以使用有效的 Kubernetes 名称创建命名空间。
  4. 从可以使用的存储库列表中选择 Git
  5. 输入所需的 URL 路径或选择现有路径。

    如果选择了现有的 Git 存储库路径,则不需要指定连接信息(如果这是私有存储库)。连接信息是预先设置的,您不需要查看这些值。

    如果输入了新的 Git 存储库路径,则可以选择性地输入 Git 连接信息(如果这是一个私有 Git 存储库)。

  6. 输入可选字段的值,如分支、路径和提交散列(commit hash)。Optional 字段在字段或鼠标文本中定义。
  7. 请注意协调选项。merge 选项是默认选择,这代表要添加新字段,并在资源中更新现有字段。您可以选择 replace。使用 replace 选项,现有资源被替换为 Git 源。

    1. 当订阅协调率被设置为 low 时,订阅的应用程序资源最多可能需要一小时才能完成协调。在单个应用程序视图的卡上,单击 Sync 以手动协调。如果设为 off,则永远不会协调。
  8. 设置任何可选的部署前和部署后的任务。

    如果您有要在订阅部署应用程序资源之前或之后运行的 Ansible Tower 作业,则设置 Ansible Tower secret。定义 Ansible 作业的 Ansible Tower 任务必须放置在此存储库的 prehookposthook 文件夹中。

    在控制台的 Credential 部分中,单击下拉菜单以选择 Ansible 凭据。如果需要添加凭证,请参阅管理凭证概述

  9. Select clusters to deploy 中,您可以更新应用程序的放置规则信息。从中选择:

    • 在本地集群中部署
    • 部署到所有在线集群和本地集群
    • 仅在与指定标签匹配的集群上部署应用程序资源
    • 如果在现有的、并已定义了放置规则的命名空间中创建应用程序,则可以选择 Select existing placement configuration 选项。
  10. Settings 中,您可以指定应用程序的行为。要在指定时间窗内阻止或激活对部署的更改,为 Deployment window 和您的 Time window configuration 选择一个选项。
  11. 您可以选择另一个存储库或点 Save
  12. 您会被重定向到 Overiew 页,可以在其中查看详情和拓扑。

1.3.1.1. GitOps pattern

了解规划 Git 存储库以管理集群的最佳实践。

1.3.1.1.1. GitOps 示例

本例中的文件夹已定义并命名,每个文件夹包含在受管集群中运行的应用程序或配置:

  • 根文件夹 managed-subscriptions:包含以 common-managed 文件夹为目标的 订阅。
  • 子文件夹 apps/:用来订阅 common-managed 文件夹中的应用程序,并将放置到 managed-clusters
  • 子文件夹 config/:用于订阅 common-managed 文件夹中的配置,并将放置到 managed-clusters
  • 子文件夹 policies/:用于将放置策略应用到 managed-clusters
  • 文件夹 root-subscription/:订阅 managed-subscriptions 文件夹的 hub 集群的初始订阅。

请查看目录示例:

common-managed/
    apps/
      app-name-0/
      app-name-1/
    config/
      config001/
      config002/

managed-subscriptions
    apps/
    config/
    policies/

root-subscription/
1.3.1.1.2. GitOps 流

为以下订阅流创建的目录结构:root-subscription > managed-subscriptions > common-managed

  1. root-subscription/ 中的单个订阅从 CLI 终端应用到 hub 集群。
  2. 订阅和策略会从 managed-subscription 文件夹下载并应用到 hub 集群。

    • 然后,managed-subscription 文件夹中的订阅和策略根据放置在受管集群上执行工作。
    • 放置(Placement)决定每个订阅或策略会影响哪个 managed-cluster
    • 订阅或策略定义了与放置匹配的集群中的内容。
  3. 订阅将 common-managed 文件夹中的内容应用到与放置规则匹配的 managed-clusters。这也适用于所有与放置规则匹配的 managed-clusters
1.3.1.1.3. 更多示例
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.