StyleBook 配置

从外部存储库导入和同步 StyleBook

假设您正在使用 CI/CD 流程进行开发,或者您正在 GitHub/GitLab 中管理所有应用程序源代码和部署工件。

在 GitHub/GitLab 存储库中,您可能维护了多个用于部署 NetScaler 配置和管理这些 StyleBook 的 StyleBook。您必须将这些 StyleBook 上传到 NetScaler Console。借助此功能,您可以直接将 GitHub/GitLab 中存在的 StyleBook 导入到 NetScaler Console 中。您无需手动从 GitHub/GitLab 复制它们,然后将其上传到 NetScaler Console。也无需手动同步 NetScaler Console 和 GitHub/GitLab 中的文件。此外,您还可以从 GitHub/GitLab 导入和同步配置包。

要导入 StyleBook 和配置包,请在 NetScaler Console 中定义一个表示 GitHub/GitLab 存储库的存储库。提供 GitHub/GitLab 存储库 URL 以及您在 GitHub/GitLab 中创建的用户名和 API 或个人访问 (PA) 令牌。这意味着,只有在 GitHub/GitLab 中拥有有效帐户的授权用户才能导入和同步 StyleBook。

您可以导入和同步以下类型的存储库:

  • 可公开访问的存储库 - 向公众开放且可通过互联网访问的存储库。
  • 本地或私有 GitLab/GitHub 存储库 - 私有托管的存储库,通常只能在企业内网中访问。对于这些存储库,您必须在注册过程中选择一个 NetScaler 代理。NetScaler 代理充当代理,用于访问企业内网中的存储库。

创建存储库后,您可以将 NetScaler Console 与您的 GitHub/GitLab 存储库同步。NetScaler Console 连接到 GitHub/GitLab 并导入在该存储库中找到的 StyleBook 和配置包。然后,NetScaler Console 会验证 StyleBook 并将其添加到 NetScaler Console 中的 StyleBook 列表中。如果 StyleBook 验证失败,则不会将其添加到 NetScaler Console。您可以识别并更正 StyleBook 上的错误。然后,将更新的版本提交到您的 GitHub/GitLab 存储库中。稍后,您可以尝试再次将它们导入或同步到 NetScaler Console。

如果在创建存储库时遇到以下错误,则表示 NetScaler Console 无法验证存储库的 SSL 证书,因为缺少或无法识别证书颁发机构 (CA) 证书:

certificate verify failed: unable to get local issuer certificate

要解决此问题,您可以手动将所需的 CA 证书添加到用于访问存储库的 NetScaler Console 代理。添加所需的 CA 证书可确保对外部存储库的安全连接得到正确验证。

登录到用于访问存储库的 NetScaler Console 代理,并将您的 CA 证书添加到受信任的证书捆绑包 /var/mps/ca_certs/cacert.pem

重要

  • StyleBook 文件可以从 GitHub/GitLab 存储库的任何分支导入和同步。

  • 您还可以导入和同步与其关联了依赖 StyleBook 的 StyleBook。这些依赖 StyleBook 可以位于 GitHub/GitLab 存储库中,也可以已存在于 NetScaler Console 中。

  • 从 GitHub/GitLab 存储库同步 StyleBook 必须从 NetScaler Console GUI 或 API 手动启动。也就是说,目前 StyleBook 的导入和同步不会根据您的 GitHub/GitLab 提交活动自动发生。

  • 您要导入的配置包文件必须是 JSON 格式。此外,配置文件内容必须遵循导出的配置格式。在您的 GitHub/GitLab 存储库下,与配置包关联的文件必须位于 configpacks 文件夹中。

您可以将 StyleBook 文件从 GitHub/GitLab 存储库中的任何文件夹导入到 NetScaler Console。要导入配置包,请执行以下操作:

  1. 在根目录下创建一个名为 configpacks 的文件夹。确保所有与配置相关的文件都在此文件夹中。

  2. configpacks 文件夹中,创建一个包含配置包有效负载的 JSON 文件。此有效负载用于同步配置包。以下是有效负载示例:

    {
        "config_key": "unique-key-for-configpack",
    
        "parameters": {
            "param-name1": "param-value1",
            "param-name": "param-value2",
            "param-namen": "param-valuen"
        },
        "stylebook": {
            "namespace": "some namespace",
            "name": "somename",
            "version": "spme-version"
        }
    }
    <!--NeedCopy-->
    
    • config_key - 用于在 NetScaler Console 中标识配置包的唯一 ID 或名称。如果您未指定 config_key,NetScaler Console 会在创建配置包时自动生成 ID。

      如果在 NetScaler Console GUI 中找到指定的 ID,则同步操作会更新 NetScaler Console GUI 中的配置包。否则,它会创建具有指定 ID 的配置包。

    • parameters - 它包含创建或更新配置包所需的所有参数。

    • stylebook - 它是 JSON 文件中的强制属性。它包含您要与配置包关联的命名空间、版本和 StyleBook 名称。

  3. configpacks 文件夹中,保留所有与配置包关联的文件,例如证书、签名文件和 XML 文件。

添加存储库

  1. 在 NetScaler Console 中,转到 Applications(应用程序)> Configuration(配置)> Repositories(存储库)。单击 Add(添加)

  2. Add Repository(添加存储库) 窗口中,输入以下参数:

    • Name(名称) - 键入存储库的名称。此名称可以与 GitHub/GitLab 中的存储库名称相同,也可以不同。

    • Repository URL(存储库 URL) - 键入 GitHub/GitLab 存储库 URL。

      您可以指定 GitHub/GitLab 企业版 URL。它可帮助您从 GitHub/GitLab 企业版帐户导入或同步 StyleBook 和配置包。

    • Is it a private URL?(是否为私有 URL?) - 如果存储库是本地或私有 GitLab/GitHub 存储库,请选中此复选框,然后选择一个 Agent(代理)

    • User Name(用户名) - 键入您用于访问 GitHub/GitLab 帐户或企业版帐户的用户名。

    • API/PA Token(API/PA 令牌) - 此令牌用于访问您的 GitHub/GitLab 存储库。有关如何为 GitHub/GitLab 存储库创建 API/PA 令牌的信息,请参阅 GitHub/GitLab 文档中有关创建个人访问令牌的内容。

    Add a GitHub repository

    Add a GitLab repository

  3. 单击 Create(创建)

    存储库在 NetScaler Console 中创建。

存储库选项

以下是存储库的其他选项:

  • Edit(编辑) - 您可以编辑存储库 URL、用户名和 API 令牌。

  • Delete(删除) - 您可以删除存储库以及 NetScaler Console 中以前从该 GitHub/GitLab 存储库导入的所有 StyleBook。

    注意

    如果 NetScaler Console 中的任何 StyleBook 关联了配置包,则无法删除该存储库。首先,删除这些 StyleBook 的所有配置包。稍后,您可以从 NetScaler Console 中删除存储库以清除该存储库中的 StyleBook。

  • Reset(重置) - 您可以删除 NetScaler Console 中从该存储库同步的所有 StyleBook,而无需实际删除存储库条目。

  • List files(列出文件) - 您可以查看 NetScaler Console 中源自 GitHub/GitLab 存储库的所有 StyleBook 的列表。

从 GitHub/GitLab 导入 StyleBook 和配置包的步骤

完成先决条件后,请按照以下步骤从 GitHub/GitLab 存储库导入 StyleBook 和配置包:

  1. 可选,如果尚未添加,请添加存储库
  2. Repositories(存储库) 页面中选择存储库。
  3. 单击 Sync(同步)
从外部存储库导入和同步 StyleBook