1.3. 管理应用程序资源
通过控制台,您可以使用 Git 仓库、Helm 仓库和对象存储库创建应用程序。
重要:Git 频道可以与所有其他频道类型共享命名空间:Helm、对象存储和其他 Git 命名空间。
请参阅以下主题以开始管理应用程序:
1.3.1. 使用 Git 存储库管理应用程序 复制链接链接已复制到粘贴板!
当您使用应用程序部署 Kubernetes 资源时,这些资源位于特定的存储库中。了解如何在以下流程中从 Git 存储库部署资源。如需了解更多有关应用程序模型的信息,请参阅应用程序模型和定义:
用户需要的访问权限:可创建应用的用户角色。您只能执行分配了相关角色的操作。如需更多关于访问要求的信息,请参阅基于角色的访问控制文档。
- 在控制台导航菜单中点 Manage application。
点 Create application。
对于以下步骤,选择 YAML:在 上,在控制台中创建应用程序时查看 YAML。请参阅后面的 YAML 示例。
在正确的字段中输入以下值:
- name:输入应用程序的有效 Kubernetes 名称。
- Namespace:从列表中选择一个命名空间。如果分配了正确的访问角色,您还可以使用有效的 Kubernetes 名称创建命名空间。
- 从可以使用的存储库列表中选择 Git。
输入所需的 URL 路径或选择现有路径。
如果选择了现有的 Git 存储库路径,则不需要指定连接信息(如果这是私有存储库)。连接信息是预先设置的,您不需要查看这些值。
如果输入了新的 Git 存储库路径,则可以选择性地输入 Git 连接信息(如果这是一个私有 Git 存储库)。
- 输入可选字段的值,如分支和文件夹。
设置任何可选的部署前和部署后的任务。
技术预览:如果您有要在订阅部署应用程序资源之前或之后运行的 Ansible Tower 作业,则设置 Ansible Tower secret。定义 Ansible 作业的 Ansible Tower 任务必须放置在此存储库的 prehook 和 posthook 文件夹中。
如果在应用程序命名空间中创建了 secret,可以从下拉菜单中选择 Ansible Tower secret。在这个实例中,连接信息是预先设置的,您不需要查看这些值。
如果输入了新的 Ansible Tower secret 名称以创建新 secret,则需要输入 Ansible Tower 主机和令牌。
在 Select clusters to deploy 中,您可以更新应用程序的放置规则信息。从中选择:
- 在本地集群中部署
- 部署到所有在线集群和本地集群
- 仅在与指定标签匹配的集群上部署应用程序资源
- 如果在现有的、并已定义了放置规则的命名空间中创建应用程序,则可以选择 Select existing placement configuration 选项。
- 在 Settings 中,您可以指定应用程序的行为。要在指定时间窗内阻止或激活对部署的更改,为 Deployment window 和您的 Time window configuration 选择一个选项。
- 您可以选择另一个存储库或点 Save。
- 您会被重定向到 Overiew 页,可以在其中查看详情和拓扑。
1.3.1.1. YAML 示例 复制链接链接已复制到粘贴板!
以下示例频道定义显示了 Git 仓库的频道示例。在以下示例中,secretRef 是指用于访问 pathname 中指定的 Git 仓库的用户身份。如果您有一个公共仓库库,则不需要 secretRef:
备注:要查看 REST API,请使用 API。
1.3.1.2. 应用程序 Git Ops 复制链接链接已复制到粘贴板!
使用 local-cluster 放置规则,您可以使用订阅向 hub 集群提供与配置相关的资源。
这些资源可以是用来配置应用程序和策略、运行 Ansible 作业、在置备或导入后配置集群的订阅。
1.3.1.2.1. GitOps 的 Repo 示例 复制链接链接已复制到粘贴板!
在以下示例仓库中,您会看到每个 hub 集群的文件夹。您还可以为每个 hub 集群或每个 hub 集群创建一个仓库。
在 hub 集群上定义的单个订阅将拉取所有其他配置资源,如 hub 集群配置、策略和将配置和部署到 hub 和受管集群的通用应用程序。
用于存储这类信息的 Git 仓库类似以下示例文件和目录结构。参阅 root 路径、受管集群和 hub 集群部分:
1.3.1.2.2. GitOps 根路径 复制链接链接已复制到粘贴板!
仓库根路径中的这些文件会创建一个订阅,该订阅会引用此 Git 仓库并应用所有 YAML,但 .kubernetesignore 中指定的除外。它包括这四个订阅文件和 ./managed-cluster-common 目录。
1.3.1.2.3. 受管集群的 GitOps 应用程序 复制链接链接已复制到粘贴板!
以下目录包含了将应用程序应用到 managed 集群的订阅。这些订阅通过 root 目录中的订阅应用到 hub 集群。
在以下示例中,您会看到一个订阅到另一个订阅的订阅:
1.3.1.2.4. hub 集群的 GitOps 应用程序 复制链接链接已复制到粘贴板!
以下策略应用于 hub 集群,为 hub 集群以及远程集群提供策略配置。
这些是通过 root 订阅交付的,如下例所示:
1.3.1.2.5. 应用 GitOps 复制链接链接已复制到粘贴板!
使用前面的组合示例,您可以指定以下内容:
- 可使用 CLI 命令应用一个根订阅。根订阅将返回此仓库,将所有 YAML 应用到 hub 集群。
-
第 1 步中的订阅,它会应用应用程序并从
common-managed/配置订阅。 -
第 2 步的配置订阅,它应用
managed-cluster-common/中定义的资源。 -
在
managed-cluster-common/中定义的策略也由第 1 步的订阅应用到 hub 集群。这些策略包括针对 hub 集群的策略,以及那些针对受管集群的策略。