你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
在已启用 Azure Arc 的 Kubernetes 群集上从 Azure 市场部署和管理应用程序
本文内容
Azure 市场 是一家在线商店,提供数千个由行业领先的科技公司构建的 IT 软件应用程序和服务。 在 Azure 市场中,可以查找、试用、购买和部署构建新解决方案和管理云基础结构所需的软件和服务。 目录中包括适用于不同行业和技术领域的解决方案、免费试用版以及 Microsoft 合作伙伴提供的咨询服务。
这些解决方案包括基于 Kubernetes 应用程序的容器产品/服务。 这些套餐包含可在已启用 Azure Arc 的 Kubernetes 群集上运行的应用程序,表示为群集扩展 。 从 Azure 市场部署套餐会在已启用 Arc 的 Kubernetes 群集上创建扩展的新实例。
本文介绍如何:
发现支持已启用 Azure Arc 的 Kubernetes 群集的应用程序。
购买应用程序。
在群集上部署应用程序。
监视使用情况和计费信息。
可以使用 Azure CLI 或 Azure 门户执行这些任务。
先决条件
要部署应用程序,必须具有一个现有的已启用 Azure Arc 的 Kubernetes 连接群集,其中至少包含一个操作系统节点,且体系结构类型为 linux/amd64
。 如果你尚未连接群集,请使用我们的快速入门 。 在开始之前,请务必将代理升级 到最新版本。
一个现有的已启用 Azure Arc 的 Kubernetes 连接群集,其中至少包含一个操作系统和体系结构类型为 linux/amd64
的节点。 如果部署 Flux (GitOps) ,则可以在没有 linux/amd64
节点的情况下使用基于 ARM64 的群集。
如果使用 Azure CLI 查看、部署和管理 Azure 市场应用程序,则:
最新版本的 Azure CLI 。
最新版本的 k8s-extension
Azure CLI 扩展。 通过运行 az extension add --name k8s-extension
安装扩展。 如果已安装 k8s-extension
扩展,请确保通过运行 az extension update --name k8s-extension
将其更新到最新版本。
注意
目前仅以下区域支持此功能:
美国东部、美国东部 2、美国东部 2 EUAP、美国西部、美国西部 2、美国中部、美国中西部、美国中南部、西欧、北欧、加拿大中部、东南亚、澳大利亚东部、印度中部、日本东部、韩国中部、英国南部、英国西部、德国中西部、法国中部、东亚、美国西部 3、挪威东部、南非北部、美国中北部、澳大利亚东南部、瑞士北部、日本西部、印度南部
发现支持已启用 Azure Arc 群集的 Kubernetes 应用程序
要在 Azure 门户中发现 Azure 市场中的 Kubernetes 应用程序,请执行以下操作:
在 Azure 门户中,搜索“市场” 。 在结果中的“服务”下,选择“市场”。
可以从“市场”直接按名称搜索套餐或发布者,也可以浏览所有套餐。 要查找 Kubernetes 应用程序套餐,请从左侧菜单中的“类别”部分选择“容器”。
重要
容器 类别包括 Kubernetes 应用程序和独立容器映像。 执行以下步骤时,请务必仅选择 Kubernetes 应用程序套餐。 容器映像具有不同的部署过程,通常无法在已启用 Arc 的 Kubernetes 群集上部署。
页面上会显示多个 Kubernetes 应用程序产品/服务。 若要查看所有 Kubernetes 应用程序套餐,请选择“查看更多 ”。
或者,可以搜索特定的 publisherId
,以在 Azure 市场中查看该发布者的 Kubernetes 应用程序。 有关如何查找发布者 ID 的详细信息,请参阅本文的“Azure CLI”选项卡。
找到要部署的应用程序后,请转到下一部分。
可以使用 Azure CLI 获取可在已启用 Azure Arc 的连接群集上部署的扩展列表,包括 Azure 市场应用程序。 为此,请运行此命令,提供已连接的群集的名称和群集所在的资源组。
az k8s-extension extension-types list-by-cluster --cluster-type connectedClusters --cluster-name <clusterName> --resource-group <resourceGroupName>
该命令将返回可在连接群集上部署的扩展类型列表,类似于此处所示的示例。
"id": "/subscriptions/{sub}/resourceGroups/{rg} /providers/Microsoft.Kubernetes/connectedClusters/{clustername} /providers/Microsoft.KubernetesConfiguration/extensiontypes/contoso",
"name": "contoso",
"type": "Microsoft.KubernetesConfiguration/extensionTypes",
"properties": {
"extensionType": "contoso",
"description": "Contoso extension",
"isSystemExtension": false,
"publisher": "contoso",
"isManagedIdentityRequired": false,
"supportedClusterTypes": [
"managedclusters",
"connectedclusters"
],
"supportedScopes": {
"defaultScope": "namespace",
"clusterScopeSettings": {
"allowMultipleInstances": false,
"defaultReleaseNamespace": null
}
},
"planInfo": {
"offerId": "contosoOffer",
"planId": "contosoPlan",
"publisherId": "contoso"
}
}
找到要部署的应用程序后,请注意所收到响应中的以下值:planId
、publisherId
、offerID
和 extensionType
。 需要这些值才能接受应用程序的条款并部署应用程序。
部署 Kubernetes 应用程序
确定要部署的套餐后,请执行以下步骤:
在“计划 + 定价”选项卡中,查看选项。 如果提供了多个计划,请查找满足你的需求的计划。 查看页面上的条款以确保可以接受它们,然后选择“创建”。
选择要将应用程序部署到的资源组和已启用 Arc 的群集。
完成部署向导的所有页面以指定应用程序所需的所有配置选项。
完成后,选择“查看 + 创建”,然后选择“创建”以部署套餐。
接受条款和协议
在部署 Kubernetes 应用程序之前,需要接受其条款和协议。 请务必仔细阅读这些条款,以理解成本和任何其他要求。
要查看条款的详细信息,请运行以下命令,并提供 offerID
、planID
以及 publisherID
的值:
az vm image terms show --offer <offerID> --plan <planId> --publisher <publisherId>
要接受条款,请对 offerID
planID
和 publisherID
使用相同的值来运行下面的命令。
az vm image terms accept --offer <offerID> --plan <planId> --publisher <publisherId>
部署应用程序
要通过 Azure CLI 部署应用程序(扩展),请执行部署和管理已启用 Azure Arc de Kubernetes 群集扩展 中所述的步骤。 示例命令外观可能如下所示:
az k8s-extension create --name <offerID> --extension-type <extensionType> --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters --plan-name <planId> --plan-product <offerID> --plan-publisher <publisherId>
验证部署
从 Azure 市场部署套餐会在已启用 Arc 的 Kubernetes 群集上创建新的扩展实例。 可以通过确认扩展是否成功运行来验证部署是否成功。
通过导航到最近安装了扩展的群集来验证部署,然后导航到“扩展”,其中会显示扩展状态。
如果部署成功,则“状态”将为“成功”。 如果状态为“正在创建”,则部署仍在进行。 请等待几分钟,然后再次检查。
如果部署失败,请参阅 Kubernetes 应用程序套餐部署失败故障排除 。
通过使用以下命令列出已在群集上运行或正在群集上部署的扩展来验证部署:
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
如果部署成功,则 provisioningState
为 Succeeded
。 如果 provisioningState
为 Creating
,则部署仍在进行。 请等待几分钟,然后再次检查。
如果部署失败,请参阅 Kubernetes 应用程序套餐部署失败故障排除 。
要从群集查看扩展实例,可运行以下命令:
az k8s-extension show --name <extension-name> --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
可以在 Azure 门户中监视已部署扩展的计费和使用情况信息。
在 Azure 门户中导航到你的群集的资源组。
选择“成本管理”>“成本分析”。 在“产品”下,可以看到所选计划的成本明细。
删除应用程序
可通过删除群集上的扩展实例来删除已购买的 Kubernetes 套餐计划。
要在 Azure 门户中删除扩展实例,请在群集中选择“扩展”。 选择要移除的应用程序,然后选择“卸载”。
以下命令会从群集中删除扩展:
az k8s-extension delete --name <extension-name> --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
故障排除
有关解决问题的帮助,请参阅 Kubernetes 应用程序套餐部署失败故障排除 。
后续步骤