你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 VMware Tanzu 应用程序加速器与 Azure Spring Apps 企业计划配合使用

注意

基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告

标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用

本文适用于:❌ 基本版/标准版 ✔️ 企业版

本文介绍如何将 VMware Tanzu 应用程序加速器(应用加速器)与 Azure Spring Apps 企业计划配合使用,以可发现且可重复的方式启动应用程序开发。

应用加速器可帮助你启动应用程序开发并以可发现且可重复的方式部署应用程序。 你可以使用应用加速器基于已发布的加速器项目创建新项目。 有关详细信息,请参阅 VMware 文档中的 VMware Tanzu 应用程序加速器

先决条件

  • Azure 订阅。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户

  • 了解并满足 Azure 市场中的企业计划要求部分列出的要求。

  • 带有 Azure Spring Apps 扩展的 Azure CLI。 使用以下命令删除以前的版本,并安装最新的扩展。 如果以前安装了 spring-cloud 扩展,请卸载它以避免配置和版本不匹配。

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • 若要在 VS Code 中使用应用加速器,还需要满足以下先决条件:

启用应用加速器

预配 Azure Spring Apps 企业计划实例时,可以启用应用加速器。 如果你已有 Azure Spring Apps 企业计划资源,请参阅管理现有企业计划实例中的应用加速器部分,以了解如何启用它。

可以使用 Azure 门户或 Azure CLI 启用应用加速器。

请按照以下步骤使用 Azure 门户启用应用加速器:

  1. 打开 Azure 门户

  2. 在“基本信息”选项卡上的“定价”部分,选择“企业层”并指定所需信息。 然后选择“下一步: VMware Tanzu 设置”

  3. 在“VMware Tanzu 设置”选项卡上,选择“启用应用加速器”

    Azure 门户的屏幕截图,显示“VMware Tanzu 设置”选项卡,其中突出显示了“启用应用加速器”复选框。

  4. 指定其他设置,然后选择“查看并创建”

  5. 在“查看并创建”选项卡上,确保“启用应用加速器”和“启用开发工具门户”设置为“是”。 选择“创建”以创建企业计划实例。

监视应用加速器

使用应用程序加速器,你可以从 Git 存储库中的文件生成新项目。 下表介绍了应用程序加速器的组件:

构成名称 实例计数 每个实例的 vCPU 数 每个实例的内存 说明
accelerator-server 2 0.4 core 0.5Gi 提供开发工具门户使用的 API 来列出可用的加速器和选项。
accelerator-engine 1 1 个内核 3Gi 处理输入值和文件(从 Git 存储库的快照中拉取)并应用动态转换来生成项目。
accelerator-controller 1 0.2 core 0.25Gi 协调应用程序加速器资源。
source-controller 1 0.2 core 0.25Gi 注册控制器以协调应用程序加速器使用的 ImageRepositoriesMavenArtifacts 资源。
flux-source-controller 1 0.2 core 0.25Gi 注册控制器以协调应用程序加速器使用的 GithubRepository 资源。 支持管理应用程序加速器的 Git 存储库源。

你可以使用 Azure 门户和 Azure CLI 查看所有组件的运行实例和资源使用情况。

你可以在 Azure 门户的“开发人员工具”页上查看应用程序加速器的状态,如以下屏幕截图所示:

Azure 门户的屏幕截图,显示了“开发人员工具”页。

配置开发人员工具以访问应用程序加速器

若要访问应用程序加速器,必须配置 Tanzu 开发人员工具。 有关详细信息,请参阅在 Azure Spring Apps 企业计划中配置 Tanzu 开发人员工具

使用应用程序加速器启动新项目

若要使用应用程序加速器启动新项目,必须获取管理加速器的权限。 然后,你可以管理预定义的加速器或自己的加速器。

获取管理加速器的权限

管理加速器需要以下权限:

  • 读取:获取 Azure Spring Apps 预定义加速器
  • 其他:禁用 Azure Spring Apps 预定义加速器
  • 其他:启用 Azure Spring Apps 预定义加速器
  • 写入:创建或更新 Microsoft Azure Spring Apps 自定义加速器
  • 读取:获取 Azure Spring Apps 自定义加速器

有关详细信息,请参阅如何在 Azure Spring Apps 中使用权限

管理预定义加速器

若要启动新项目,可以从多个预定义加速器开始。 可以根据自己的偏好禁用或启用内置加速器。

可以使用 Azure 门户或 Azure CLI 管理预定义加速器。

可以在 Azure 门户的“加速器”选项卡上查看内置加速器,如以下屏幕截图所示:

Azure 门户的屏幕截图,显示带有内置加速器的“加速器”选项卡,其中突出显示了“禁用加速器”按钮。

管理自己的加速器

除了使用预定义加速器之外,你还可以创建自己的加速器。 可以使用 Azure DevOps、GitHub、GitLab 或 BitBucket 中的任何 Git 存储库。

使用以下步骤创建和维护你自己的加速器:

首先,在 Git 存储库的根目录中创建一个名为 accelerator.yaml 的文件。

你可以使用 accelerator.yaml 文件来声明用户使用 UI 中的窗体填写的输入选项。 这些选项值控制模板引擎在返回压缩的输出文件之前的处理。 如果你不包含 accelerator.yaml 文件,存储库仍可用作加速器,但文件会未经修改地传递给用户。 有关详细信息,请参阅创建 accelerator.yaml 文件

接下来,发布新加速器。

创建 accelerator.yaml 文件后,可以创建加速器。 然后,你可以在 Azure 门户中查看它,也可以在开发人员工具门户的“应用程序加速器”页中查看它。 可以使用 Azure 门户或 Azure CLI 发布新加速器。

若要创建自己的加速器,请打开“加速器”部分,然后选择“自定义加速器”部分下的“添加加速器”

Azure 门户的屏幕截图,显示“开发人员工具”页的“加速器”选项卡,其中突出显示了“添加加速器”按钮。

下表介绍了可自定义加速器字段。

Portal CLI 说明 必需/可选
Name name 加速器的独一无二的名称。 名称在创建后无法更改。 必须
描述 display-name 加速器的较长说明。 可选
图标 URL icon-url 表示 UI 中加速器的图像的 URL。 可选
标记 accelerator-tags 一个字符串数组,定义可在 UI 搜索中使用的加速器属性。 可选
Git URL git-url 加速器源 Git 存储库的存储库 URL。 此 URL 可以是 HTTP/S 或 SSH 地址。 SSH 地址不支持类似 scp 的语法(例如 user@example.com:repository.git), 而只支持有效的 URL 格式 ssh://user@example.com:22/repository.git 必须
Git 间隔 git-interval-in-seconds 检查存储库更新的间隔。 如果未指定,则间隔默认为 10 分钟。 在加速器出现在 UI 中之前,还有一个刷新间隔(当前为 10 秒)。 更改反映在 UI 中之前可能会有 10 秒的延迟。 可选
Git 分支 git-branch 用于签出和监视更改的 Git 分支。 你应该仅指定 Git 分支、Git 提交或 Git 标记。 可选
Git 提交 git-commit 要签出的 Git 提交 SHA。你应该仅指定 Git 分支、Git 提交或 Git 标记。 可选
Git 标记 git-tag 要签出的 Git 提交标记。你应该仅指定 Git 分支、Git 提交或 Git 标记。 可选
Git 子路径 git-sub-path Git 存储库内的文件夹路径,会被视为加速器或片段的根。 可选
身份验证类型 N/A 加速器源存储库的身份验证类型。 类型可以是 PublicBasic authSSH 必须
用户名 username 用于访问身份验证类型为 Basic auth 的加速器源存储库的用户名。 当身份验证类型为 Basic auth 时是必需的。
密码/个人访问令牌 password 用于访问身份验证类型为 Basic auth 的加速器源存储库的密码。 当身份验证类型为 Basic auth 时是必需的。
私钥 private-key 用于访问身份验证类型为 SSH 的加速器源存储库的私钥。 仅支持 OpenSSH 私钥。 当身份验证类型为 SSH 时是必需的。
主机密钥 host-key 用于访问身份验证类型为 SSH 的加速器源存储库的主机密钥。 当身份验证类型为 SSH 时是必需的。
主机密钥算法 host-key-algorithm 用于访问身份验证类型为 SSH 的加速器源存储库的主机密钥算法。 可以是 ecdsa-sha2-nistp256ssh-rsa 当身份验证类型为 SSH 时是必需的。
CA 证书名称 ca-cert-name 用于通过身份验证类型为 PublicBasic auth 的自签名证书访问加速器源存储库的 CA 证书名称。 当自签名证书用于 Git 存储库 URL 时是必需的。
类型 type 自定义加速器的类型。 类型可以是 AcceleratorFragment。 默认值为 Accelerator 可选

若要查看所有已发布的加速器,请参阅“开发人员工具”页的“应用加速器”部分。 选择应用加速器 URL 以查看开发人员工具门户中的已发布加速器:

Azure 门户的屏幕截图,显示“开发人员工具”页,其中突出显示了应用加速器 URL。

若要查看新发布的加速器,请刷新开发人员工具门户。

屏幕截图显示了适用于 Azure Spring Apps 的 VMware Tanzu 开发人员工具的“应用程序加速器”页。

注意

开发人员工具门户可能需要几秒钟的时间来刷新目录并为新加速器添加条目。 创建加速器时,刷新间隔配置为 git-interval。 更改加速器后,所做的更改还需要一段时间才能反映在开发人员工具门户中。 最佳做法是在将更改应用到 Git 存储库后更改 git-interval 以加快验证速度。

引用你自己的加速器中的片段

随着新加速器的添加,编写和维护加速器的工作可能会变得重复且冗长。 有些人通过复制现有项目并对其进行修改来创建新项目,但此过程可能很乏味且容易出错。 为了让用户更轻松地创建和维护加速器,应用程序加速器支持一项名为“组合”的功能,该功能允许重复使用加速器的部件(称为“片段”)。

通过以下步骤引用加速器中的片段:

  1. 使用 Azure 门户或 Azure CLI 发布类型为“Fragment”的新加速器。

    若要创建片段加速器,请打开“加速器”部分,选择“自定义加速器”部分下的“添加加速器”,然后下选择“片段”。

    Azure 门户的屏幕截图,显示类型为“片段”的“自定义加速器”。

  2. 更改加速器项目中的 accelerator.yaml 文件。 使用 accelerator 部分中的 imports 指令和 engine 部分中的 InvokeFragment 指令来引用加速器中的片段,如以下示例所示:

    accelerator:
        ...
      # options for the UI
      options:
        ...
      imports:
      - name: <fragment-accelerator-name>
      ...
    
    engine:
      chain:
        ...
      - merge:
        - include: [ "**" ]
        - type: InvokeFragment
          reference: <fragment-accelerator-name>
    
  3. 将更改与开发人员工具门户同步。

    为了更快地在开发人员工具门户上反映所做的更改,你可以为自定义加速器的“Git 间隔”字段提供一个值。 “Git 间隔”值表示系统检查 Git 存储库中的更新的频率。

  4. 使用 Azure 门户或 Azure CLI 将更改与 Azure 门户上的自定义加速器同步。

    以下列表显示了同步更改的两种方法:

    • 创建或更新自定义加速器。
    • 打开“加速器”部分,然后选择“同步证书”

有关详细信息,请参阅 VMware 文档中的使用应用程序加速器中的片段

使用加速器启动新项目

通过以下步骤使用加速器启动新项目:

  1. 在“开发人员工具”页上,选择应用加速器 URL 以打开开发人员工具门户。

    Azure 门户的屏幕截图,显示“开发人员工具”页,其中突出显示了应用加速器 URL。

  2. 在“开发人员工具门户”上,选择一个加速器。

  3. 在“生成加速器”页的“配置加速器”部分指定输入选项。

    屏幕截图显示适用于 Azure Spring Apps 的 VMware Tanzu 开发人员工具的“生成加速器”页,其中显示了“配置加速器”部分。

  4. 选择“浏览文件”以查看项目结构和源代码。

  5. 选择“查看并生成”以查看指定的参数,然后选择“生成加速器”

    屏幕截图显示适用于 Azure Spring Apps 的 VMware Tanzu 开发人员工具的“生成加速器”页,其中显示了“查看并生成”部分。

  6. 然后,你可以以 zip 文件的形式查看或下载项目。

    屏幕截图显示适用于 Azure Spring Apps 的 VMware Tanzu 开发人员工具,其中显示了“任务活动”窗格。

使用自签名证书配置加速器

设置专用 Git 存储库并使用自签名证书启用 HTTPS 时,应该为加速器配置 CA 证书名称,以实现从加速器到 Git 存储库的客户端证书验证。

通过以下步骤使用自签名证书配置加速器:

  1. 将证书导入 Azure Spring Apps。 有关详细信息,请参阅在 Azure Spring Apps 的应用程序中使用 TLS/SSL 证书导入证书部分。
  2. 使用 Azure 门户或 Azure CLI 为加速器配置证书。

若要为加速器配置证书,请打开“加速器”部分,然后选择“自定义加速器”部分下的“添加加速器”。 然后从下拉列表中选择证书。

Azure 门户的屏幕截图,显示“添加加速器”窗格。

轮换证书

证书过期后,需要使用以下步骤轮换 Spring Cloud Apps 中的证书:

  1. 从受信任的 CA 生成新证书。
  2. 将证书导入 Azure Spring Apps。 有关详细信息,请参阅在 Azure Spring Apps 的应用程序中使用 TLS/SSL 证书导入证书部分。
  3. 使用 Azure 门户或 Azure CLI 同步证书。

加速器不会自动使用最新的证书。 应使用 Azure 门户或 Azure CLI 同步一个或多个证书。

若要同步所有加速器的证书,请打开“加速器”部分,然后选择“同步证书”,如以下屏幕截图所示:

Azure 门户的屏幕截图,其中显示了“自定义加速器”窗格,突出显示了“同步证书”按钮。

若要同步单个加速器的证书,请打开“加速器”部分,然后从加速器的上下文菜单中选择“同步证书”,如以下屏幕截图所示:

Azure 门户的屏幕截图,其中显示了“自定义加速器”窗格,突出显示了“同步证书”上下文菜单选项。

在现有企业计划实例中管理应用加速器

可以使用 Azure 门户或 Azure CLI,在现有的 Azure Spring Apps 企业计划实例下启用应用加速器。

如果开发人员工具公共终结点已公开,你可以启用应用加速器,然后按 Ctrl+F5 来停用浏览器缓存,以便在开发人员工具门户上查看它。

按照以下步骤使用 Azure 门户,在现有的 Azure Spring Apps 企业计划实例下启用应用加速器:

  1. 导航到服务资源,然后选择“开发人员工具”。

  2. 选择“管理工具”

  3. 选择“启用应用加速器”,然后选择“应用”

    Azure 门户的屏幕截图,显示“管理工具”窗格,其中突出显示了“启用应用加速器”选项。

可以在“开发人员工具”页上查看应用加速器是已启用还是已禁用。

在 VS Code 中使用应用加速器

可以直接从 VS Code 的 Azure Spring Apps 企业计划服务实例中的应用加速器的任何加速器来启动项目。

查看应用加速器列表

使用以下步骤查看 Azure Spring Apps 企业计划服务实例中的应用加速器列表:

  1. 在 Visual Studio Code 中,打开 Azure Spring Apps 扩展,然后登录到 Azure 帐户。

  2. 展开所需的服务实例,然后右键单击以选择该服务实例。

  3. 从菜单中选择“打开应用程序加速器”,以打开应用加速器列表。 系统会提示你安装 Tanzu 应用程序加速器 Visual Studio Code 扩展(如果尚未安装)。

    VS Code 扩展的屏幕截图,显示服务实例的“打开应用程序加速器”选项。

  4. 选择用于启动项目的任何加速器。

    VS Code 的屏幕截图,显示应用加速器扩展列表。

注意

使用此扩展时,如果遇到任何无法解决的问题,请将你的帐户从此扩展中退出登录。

排查应用加速器问题

如果你尝试为尚未启用应用加速器或尚未公开公共终结点的服务实例打开应用加速器,则会看到以下错误消息:Application Accelerator of Spring Apps <instance-name> is not enabled or publically accessible

若要启用应用加速器并公开公共终结点,请使用以下步骤。 有关详细信息,请参阅在现有企业计划实例中管理应用加速器部分。

  1. 如果你在开发人员工具门户中启用了单一登录,则会在访问扩展时看到以下消息:The extension 'Tanzu App Accelerator' wants to sign in using VMware Tanzu.有关详细信息,请参阅在 Azure Spring Apps 企业计划中配置 Tanzu 开发人员工具中的配置开发人员工具门户部分。

  2. 依次选择“允许”、“打开”、“打开”以打开 VS Code 扩展列表。

    VS Code 的屏幕截图,显示应用加速器扩展列表。

有时候,你可能会收到类似于以下示例的错误消息:AADSTS50011: The redirect URI 'vscode://VMware.tanzu-app-accelerator' specified in the request does not match the redirect URIs configured for the application 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'. Make sure the redirect URI sent in the request matches one added to your application in the Azure portal. Navigate to https://aka.ms/redirectUriMismatchError to learn more about how to fix this.

若要解决此问题,请将重定向 URI vscode://VMware.tanzu-app-accelerator 添加到相关的标识提供者 (IdP)。 在 Microsoft Entra ID 中,转到“身份验证”菜单,然后将重定向 URI 添加到平台配置中的移动和桌面应用程序。

后续步骤