Edit

Share via


Migrate from Azure App Service on Arc-enabled Kubernetes to Azure Container Apps on Arc-enabled Kubernetes

This article provides a checklist of items and considerations for you to work through in migrating from Azure App Service on Arc-enabled Kubernetes.

Assessment and planning

First you should identify any workloads running on App Service on Arc-enabled Kubernetes. Run the following Azure Resource Graph Queries to list Web Applications, App Service Kubernetes Environments, and Arc-enabled Kubernetes clusters that have the Application services extension installed on them:

Identify all web applications running on App Service on Arc-enabled Kubernetes

resources
| where type=~"microsoft.web/sites" and kind contains "app,linux,kubernetes"
az graph query -q "resources | where type =~ 'microsoft.web/sites" and kind contains 'app,linux,kubernetes'"

Identify all App Service Kubernetes Environments connected to App Service on Arc-enabled Kubernetes

resources
| where type=~"microsoft.web/kubeenvironments"
az graph query -q "resources | where type=~'microsoft.web/kubeenvironments'"

Identify all Azure Arc-enabled Kubernetes Clusters that have the Application services extension installed on them

KubernetesConfigurationResources 
| where type =~ 'microsoft.kubernetesconfiguration/extensions' 
| where properties.ExtensionType == 'microsoft.web.appservice' 
| project clusterresourceid = trim_end('/providers/Microsoft.KubernetesConfiguration/Extensions/.*', ['id']), name, location
az graph query -q "KubernetesConfigurationResources | where type =~ 'microsoft.kubernetesconfiguration/extensions' | where properties.ExtensionType == 'microsoft.web.appservice' | project clusterresourceid = trim_end('/providers/Microsoft.KubernetesConfiguration/Extensions/.*', ['id']), name, location"

Remove Application Services extension from Arc-enabled Kubernetes clusters

The Azure Container Apps on Arc-enabled Kubernetes extension can't be installed on a cluster that already has the Application services extension installed on it. You must either remove the Application services extension from your connected cluster first or install the Azure Container Apps on Arc-enabled Kubernetes extension on a new cluster.

Uninstall the extension to use the same cluster

To uninstall the Application services extension, you must:

  1. Delete any App Service Kubernetes Environments, associated Web Applications, and App Service Plans from the connected cluster.
  2. Uninstall the Application services extension from your connected cluster.

Set up Azure Container Apps on Arc-enabled Kubernetes

Azure Container Apps on Arc-enabled Kubernetes can be installed on an Arc-enabled Kubernetes cluster that satisfies the following requirements:

  1. The cluster must support the LoadBalancer service type.
  2. The cluster must be connected to one of the supported Azure Regions.
  3. All Container Apps must be deployed in Linux containers. No Windows support is available.

If your cluster satisfies these requirements, then follow the documentation to Enable Azure Container Apps on Azure Arc-enabled Kubernetes).

Create Container Apps

For any applications that you're migrating from Azure App Service on Arc-enabled Kubernetes to Azure Container Apps on Arc-enabled Kubernetes, you must containerize them before deploying.

You can deploy your application from an existing container image, deploy from code, or deploy from code in GitHub