你当前正在访问 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、EastUS2 EUAP、美国西部、美国西部、美国中西部、美国中南部、美国中南部、西欧、北欧、加拿大中部、东南亚、澳大利亚东部、印度中部、日本东部、韩国中部、英国西部、德国中西部、法国中部、东亚、美国西部3、挪威东部、南非北部、美国中北部、美国中北部、 美国中北部、 澳大利亚东南部、瑞士北部、日本西部、印度南部
发现支持已启用 Azure Arc 的群集的 Kubernetes 应用程序
若要从Azure 门户中发现Azure 市场中的 Kubernetes 应用程序,
在Azure 门户中,搜索市场 。 在结果中的“服务”下,选择“市场”。
在 市场中 ,可以直接按名称搜索产品/服务或发布者,也可以浏览所有产品/服务。 若要查找 Kubernetes 应用程序产品/服务,请从左侧菜单中的“类别”部分选择“容器 ”。
重要
容器 类别包括 Kubernetes 应用程序和独立容器映像。 执行以下步骤时,请务必仅选择 Kubernetes 应用程序产品/服务。 容器映像具有不同的部署过程,通常无法在已启用 Arc 的 Kubernetes 群集上部署。
页面上会显示多个 Kubernetes 应用程序产品/服务。 若要查看所有 Kubernetes 应用程序套餐,请选择“查看更多 ”。
或者,可以在 Azure 市场 中搜索publisherId
特定发布者的 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>
注意
尽管此命令适用于 VM,但它也适用于容器,包括已启用 Arc 的 Kubernetes 群集。 有关详细信息,请参阅 az vm 映像术语 参考。
部署应用
若要通过 Azure CLI 部署应用程序(扩展),请按照部署和管理已启用 Azure Arc 的 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
. Creating
如果是provisioningState
,则部署仍在进行中。 等待几分钟,然后再次检查。
如果部署失败,请参阅 排查 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 应用程序产品/服务的 部署失败问题。
后续步骤