Skip to content

Commit 3693c67

Browse files
Merge pull request #263728 from JnHs/jh-arck8-deployapp
New Marketplace topic
2 parents 2325dd9 + 19ebd55 commit 3693c67

11 files changed

+231
-0
lines changed
Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
---
2+
title: "Deploy and manage applications from Azure Marketplace on Azure Arc-enabled Kubernetes clusters"
3+
ms.date: 01/26/2024
4+
ms.custom: references-regions
5+
ms.topic: how-to
6+
description: "Learn how to discover Kubernetes applications in Azure Marketplace and deploy them to your Arc-enabled Kubernetes clusters."
7+
---
8+
9+
# Deploy and manage applications from Azure Marketplace on Azure Arc-enabled Kubernetes clusters
10+
11+
[Azure Marketplace](/marketplace/azure-marketplace-overview) is an online store that contains thousands of IT software applications and services built by industry-leading technology companies. In Azure Marketplace, you can find, try, buy, and deploy the software and services that you need to build new solutions and manage your cloud infrastructure. The catalog includes solutions for different industries and technical areas, free trials, and consulting services from Microsoft partners.
12+
13+
Included among these solutions are Kubernetes application-based container offers. These offers contain applications that can run on Azure Arc-enabled Kubernetes clusters, represented as [cluster extensions](conceptual-extensions.md). Deploying an offer from Azure Marketplace creates a new instance of the extension on your Arc-enabled Kubernetes cluster.
14+
15+
This article shows you how to:
16+
17+
- Discover applications that support Azure Arc-enabled Kubernetes clusters.
18+
- Purchase an application.
19+
- Deploy the application on your cluster.
20+
- Monitor usage and billing information.
21+
22+
You can use Azure CLI or the Azure portal to perform these tasks.
23+
24+
## Prerequisites
25+
26+
To deploy an application, you must have an existing Azure Arc-enabled Kubernetes connected cluster, with at least one node of operating system and architecture type `linux/amd64`. If you haven't connected a cluster yet, use our [quickstart](quickstart-connect-cluster.md). Be sure to [upgrade your agents](agent-upgrade.md#manually-upgrade-agents) to the latest version before you get started.
27+
28+
- An existing Azure Arc-enabled Kubernetes connected cluster, with at least one node of operating system and architecture type `linux/amd64`. If deploying [Flux (GitOps)](extensions-release.md#flux-gitops), you can use an ARM64-based cluster without a `linux/amd64` node.
29+
- If you haven't connected a cluster yet, use our [quickstart](quickstart-connect-cluster.md).
30+
- [Upgrade your agents](agent-upgrade.md#manually-upgrade-agents) to the latest version.
31+
- If using Azure CLI to review, deploy, and manage Azure Marketplace applications:
32+
- The latest version of [Azure CLI](/cli/azure/install-azure-cli).
33+
- The latest version of the `k8s-extension` Azure CLI extension. Install the extension by running `az extension add --name k8s-extension`. If the `k8s-extension` extension is already installed, make sure it's updated to the latest version by running `az extension update --name k8s-extension`.
34+
35+
> [!NOTE]
36+
> This feature is currently supported only in the following regions:
37+
>
38+
>- East US, East US2, EastUS2 EUAP, West US, West US2, Central US, West Central US, South Central US, West Europe, North Europe, Canada Central, South East Asia, Australia East, Central India, Japan East, Korea Central, UK South, UK West, Germany West Central, France Central, East Asia, West US3, Norway East, South African North, North Central US, Australia South East, Switzerland North, Japan West, South India
39+
40+
## Discover Kubernetes applications that supports Azure Arc-enabled clusters
41+
42+
### [Azure portal](#tab/azure-portal)
43+
44+
To discover Kubernetes applications in the Azure Marketplace from within the Azure portal:
45+
46+
1. In the Azure portal, search for **Marketplace**. In the results, under **Services**, select **Marketplace**.
47+
1. From **Marketplace**, you can search for an offer or publisher directly by name, or you can browse all offers. To find Kubernetes application offers, select **Containers** from the **Categories** section in the left menu.
48+
49+
> [!IMPORTANT]
50+
> The **Containers** category includes both Kubernetes applications and standalone container images. Be sure to select only Kubernetes application offers when following these steps. Container images have a different deployment process, and generally can't be deployed on Arc-enabled Kubernetes clusters.
51+
52+
:::image type="content" source="media/deploy-marketplace/marketplace-containers.png" alt-text="Screenshot of Azure Marketplace showing the Containers menu item." lightbox="media/deploy-marketplace/marketplace-containers.png":::
53+
54+
1. You'll see several Kubernetes application offers displayed on the page. To view all of the Kubernetes application offers, select **See more**.
55+
56+
:::image type="content" source="media/deploy-marketplace/marketplace-see-more.png" alt-text="Screenshot showing the See more link for the Containers category in Azure Marketplace." lightbox="media/deploy-marketplace/marketplace-see-more.png":::
57+
58+
1. Alternately, you can search for a specific `publisherId` to view that publisher's Kubernetes applications in Azure Marketplace. For details on how to find publisher IDs, see the Azure CLI tab for this article.
59+
60+
:::image type="content" source="media/deploy-marketplace/marketplace-search-by-publisher.png" alt-text="Screenshot showing the option to search by publisher in Azure Marketplace." lightbox="media/deploy-marketplace/marketplace-search-by-publisher.png":::
61+
62+
Once you find an application that you want to deploy, move on to the next section.
63+
64+
### [Azure CLI](#tab/azure-cli)
65+
66+
You can use Azure CLI to get a list of extensions, including Azure Marketplace applications, that can be deployed on Azure Arc-enabled connected clusters. To do so, run this command, providing the name of your connected cluster and the resource group where the cluster is located.
67+
68+
```azurecli-interactive
69+
az k8s-extension extension-types list-by-cluster --cluster-type connectedClusters --cluster-name <clusterName> --resource-group <resourceGroupName>
70+
```
71+
72+
The command will return a list of extension types that can be deployed on the connected clusters, similar to the example shown here.
73+
74+
```json
75+
"id": "/subscriptions/{sub}/resourceGroups/{rg} /providers/Microsoft.Kubernetes/connectedClusters/{clustername} /providers/Microsoft.KubernetesConfiguration/extensiontypes/contoso",
76+
"name": "contoso",
77+
"type": "Microsoft.KubernetesConfiguration/extensionTypes",
78+
"properties": {
79+
"extensionType": "contoso",
80+
"description": "Contoso extension",
81+
"isSystemExtension": false,
82+
"publisher": "contoso",
83+
"isManagedIdentityRequired": false,
84+
"supportedClusterTypes": [
85+
"managedclusters",
86+
"connectedclusters"
87+
],
88+
"supportedScopes": {
89+
"defaultScope": "namespace",
90+
"clusterScopeSettings": {
91+
"allowMultipleInstances": false,
92+
"defaultReleaseNamespace": null
93+
}
94+
},
95+
"planInfo": {
96+
"offerId": "contosoOffer",
97+
"planId": "contosoPlan",
98+
"publisherId": "contoso"
99+
}
100+
}
101+
```
102+
103+
When you find an application that you want to deploy, note the following values from the response received: `planId`, `publisherId`, `offerID`, and `extensionType`. You'll need these values to accept the application's terms and deploy the application.
104+
105+
---
106+
107+
## Deploy a Kubernetes application
108+
109+
### [Azure portal](#tab/azure-portal)
110+
111+
Once you've identified an offer you want to deploy, follow these steps:
112+
113+
1. In the **Plans + Pricing** tab, review the options. If there are multiple plans available, find the one that meets your needs. Review the terms on the page to make sure they're acceptable, and then select **Create**.
114+
115+
:::image type="content" source="media/deploy-marketplace/marketplace-plans-pricing.png" alt-text="Screenshot of the Plans + Pricing page for a Kubernetes offer in Azure Marketplace." lightbox="media/deploy-marketplace/marketplace-plans-pricing.png":::
116+
117+
1. Select the resource group and Arc-enabled cluster to which you want to deploy the application.
118+
119+
:::image type="content" source="media/deploy-marketplace/marketplace-select-cluster.png" alt-text="Screenshot showing the option to select a resource group and cluster for the Marketplace offer.":::
120+
121+
1. Complete all pages of the deployment wizard to specify all configuration options that the application requires.
122+
123+
:::image type="content" source="media/deploy-marketplace/marketplace-configuration.png" alt-text="Screenshot showing configuration options for an Azure Marketplace offer.":::
124+
125+
1. When you're finished, select **Review + Create**, then select **Create** to deploy the offer.
126+
127+
### [Azure CLI](#tab/azure-cli)
128+
129+
#### Accept terms and agreements
130+
131+
Before you can deploy a Kubernetes application, you need to accept its terms and agreements. Be sure to read these terms carefully so that you understand costs and any other requirements.
132+
133+
To view the details of the terms, run the following command, providing the values for `offerID`, `planID`, and `publisherID`:
134+
135+
```azurecli-interactive
136+
az vm image terms show --offer <offerID> --plan <planId> --publisher <publisherId>
137+
```
138+
139+
To accept the terms, run the following command, using the same values for `offerID`, `planID`, and `publisherID`.
140+
141+
```azurecli-interactive
142+
az vm image terms accept --offer <offerID> --plan <planId> --publisher <publisherId>
143+
```
144+
145+
> [!NOTE]
146+
> Although this command is for VMs, it also works for containers, including Arc-enabled Kubernetes clusters. For more information, see the [az vm image terms](/cli/azure/vm/image/terms) reference.
147+
148+
#### Deploy the application
149+
150+
To deploy the application (extension) through Azure CLI, follow the steps outlined in [Deploy and manage Azure Arc-enabled Kubernetes cluster extensions](extensions.md). An example command might look like this:
151+
152+
```azurecli-interactive
153+
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>
154+
```
155+
156+
---
157+
158+
## Verify the deployment
159+
160+
Deploying an offer from Azure Marketplace creates a new extension instance on your Arc-enabled Kubernetes cluster. You can verify that the deployment was successful by confirming the extension is running successfully.
161+
162+
### [Azure portal](#tab/azure-portal)
163+
164+
Verify the deployment navigating to the cluster you recently installed the extension on, then navigate to **Extensions**, where you'll see the extension status.
165+
166+
:::image type="content" source="media/deploy-marketplace/extension-status.png" alt-text="Screenshot showing the status of deployed extensions in the Azure portal." lightbox="media/deploy-marketplace/extension-status.png":::
167+
168+
If the deployment was successful, the **Status** will be **Succeeded**. If the status is **Creating**, the deployment is still in progress. Wait a few minutes then check again.
169+
170+
If the deployment fails, see [Troubleshoot the failed deployment of a Kubernetes application offer](/troubleshoot/azure/azure-kubernetes/troubleshoot-failed-kubernetes-deployment-offer).
171+
172+
### [Azure CLI](#tab/azure-cli)
173+
174+
Verify the deployment by using the following command to list the extensions that are already running or being deployed on your cluster:
175+
176+
```azurecli-interactive
177+
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
178+
```
179+
180+
If the deployment was successful, `provisioningState` is `Succeeded`. If `provisioningState` is `Creating`, the deployment is still in progress. Wait a few minutes then check again.
181+
182+
If the deployment fails, see [Troubleshoot the failed deployment of a Kubernetes application offer](/troubleshoot/azure/azure-kubernetes/troubleshoot-failed-kubernetes-deployment-offer).
183+
184+
To view the extension instance from the cluster, run the following command:
185+
186+
```azurecli-interactive
187+
az k8s-extension show --name <extension-name> --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
188+
```
189+
190+
---
191+
192+
## Monitor billing and usage information
193+
194+
You can monitor billing and usage information for a deployed extension in the Azure portal.
195+
196+
1. In the Azure portal, navigate to your cluster's resource group.
197+
198+
1. Select **Cost Management** > **Cost analysis**. Under **Product**, you can see a cost breakdown for the plan that you selected.
199+
200+
:::image type="content" source="media/deploy-marketplace/extension-cost-analysis.png" alt-text="Screenshot of the Azure portal page for a resource group, with billing information broken down by offer plan." lightbox="media/deploy-marketplace/extension-cost-analysis.png":::
201+
202+
## Remove an application
203+
204+
You can delete a purchased plan for a Kubernetes offer by deleting the extension instance on the cluster.
205+
206+
### [Azure portal](#tab/azure-portal)
207+
208+
To delete the extension instance in the Azure portal, select **Extensions** within your cluster. Select the application you want to remove, then select **Uninstall**.
209+
210+
:::image type="content" source="media/deploy-marketplace/extension-delete.png" alt-text="Screenshot of the Extensions page for a cluster, showing the option to delete an extension." lightbox="media/deploy-marketplace/extension-delete.png":::
211+
212+
### [Azure CLI](#tab/azure-cli)
213+
214+
The following command deletes an extension from the cluster:
215+
216+
```azurecli-interactive
217+
az k8s-extension delete --name <extension-name> --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
218+
```
219+
220+
---
221+
222+
## Troubleshooting
223+
224+
For help with resolving issues, see [Troubleshoot the failed deployment of a Kubernetes application offer](/troubleshoot/azure/azure-kubernetes/troubleshoot-failed-kubernetes-deployment-offer).
225+
226+
## Next steps
227+
228+
- Learn about [extensions for Arc-enabled Kubernetes](conceptual-extensions.md).
229+
- Use our quickstart to [connect a Kubernetes cluster to Azure Arc](quickstart-connect-cluster.md).
240 KB
Loading
49 KB
Loading
49 KB
Loading
399 KB
Loading
345 KB
Loading
97.1 KB
Loading
73.4 KB
Loading
252 KB
Loading
628 KB
Loading

0 commit comments

Comments
 (0)