Skip to content

Commit 701a437

Browse files
Merge pull request #287170 from apwestgarth/arcdocslinuxnodes
Updated documentation to reiterate requirements
2 parents 88bef07 + 1ec45e0 commit 701a437

File tree

4 files changed

+37
-16
lines changed

4 files changed

+37
-16
lines changed

articles/app-service/manage-create-arc-environment.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: msangapu-msft
55
ms.author: msangapu
66
ms.topic: article
77
ms.custom: devx-track-azurecli
8-
ms.date: 03/24/2023
8+
ms.date: 09/23/2024
99
---
1010
# Set up an Azure Arc-enabled Kubernetes cluster to run App Service, Functions, and Logic Apps (Preview)
1111

@@ -17,6 +17,8 @@ Azure Arc-enabled Kubernetes lets you make your on-premises or cloud Kubernetes
1717

1818
If you don't have an Azure account, [sign up today](https://azure.microsoft.com/free/?utm_source=campaign&utm_campaign=vscode-tutorial-app-service-extension&mktingSource=vscode-tutorial-app-service-extension) for a free account.
1919

20+
Review the [requirements and limitations](overview-arc-integration.md) of the public preview. Of particular importance are the cluster requirements.
21+
2022
<!-- ## Prerequisites
2123
2224
- Create a Kubernetes cluster in a supported Kubernetes distribution and connect it to Azure Arc in a supported region. See [Public preview limitations](overview-arc-integration.md#public-preview-limitations).
@@ -56,7 +58,7 @@ az extension add --upgrade --yes --name appservice-kube
5658
## Create a connected cluster
5759

5860
> [!NOTE]
59-
> This tutorial uses [Azure Kubernetes Service (AKS)](/azure/aks/) to provide concrete instructions for setting up an environment from scratch. However, for a production workload, you will likely not want to enable Azure Arc on an AKS cluster as it is already managed in Azure. The steps below will help you get started understanding the service, but for production deployments, they should be viewed as illustrative, not prescriptive. See [Quickstart: Connect an existing Kubernetes cluster to Azure Arc](/azure/azure-arc/kubernetes/quickstart-connect-cluster) for general instructions on creating an Azure Arc-enabled Kubernetes cluster.
61+
> This tutorial uses [Azure Kubernetes Service (AKS)](/azure/aks/) to provide concrete instructions for setting up an environment from scratch. However, for a production workload, you will likely not want to enable Azure Arc on an AKS cluster as it is already managed in Azure. The steps will help you get started understanding the service, but for production deployments, they should be viewed as illustrative, not prescriptive. See [Quickstart: Connect an existing Kubernetes cluster to Azure Arc](/azure/azure-arc/kubernetes/quickstart-connect-cluster) for general instructions on creating an Azure Arc-enabled Kubernetes cluster.
6062
6163
1. Create a cluster in Azure Kubernetes Service with a public IP address. Replace `<group-name>` with the resource group name you want.
6264

@@ -207,7 +209,7 @@ While a [Log Analytic workspace](/azure/azure-monitor/logs/quick-create-workspac
207209
208210
## Install the App Service extension
209211
210-
1. Set the following environment variables for the desired name of the [App Service extension](overview-arc-integration.md), the cluster namespace in which resources should be provisioned, and the name for the App Service Kubernetes environment. Choose a unique name for `<kube-environment-name>`, because it will be part of the domain name for app created in the App Service Kubernetes environment.
212+
1. Set the following environment variables for the desired name of the [App Service extension](overview-arc-integration.md), the cluster namespace in which resources should be provisioned, and the name for the App Service Kubernetes environment. Choose a unique name for `<kube-environment-name>`, because it is part of the domain name for app created in the App Service Kubernetes environment.
211213
212214
# [bash](#tab/bash)
213215
@@ -291,13 +293,13 @@ While a [Log Analytic workspace](/azure/azure-monitor/logs/quick-create-workspac
291293
292294
| Parameter | Description |
293295
| - | - |
294-
| `Microsoft.CustomLocation.ServiceAccount` | The service account that should be created for the custom location that will be created. It is recommended that this be set to the value `default`. |
296+
| `Microsoft.CustomLocation.ServiceAccount` | The service account that should be created for the custom location that is created. It is recommended that this be set to the value `default`. |
295297
| `appsNamespace` | The namespace to provision the app definitions and pods. **Must** match that of the extension release namespace. |
296-
| `clusterName` | The name of the App Service Kubernetes environment that will be created against this extension. |
298+
| `clusterName` | The name of the App Service Kubernetes environment that is created against this extension. |
297299
| `keda.enabled` | Whether [KEDA](https://keda.sh/) should be installed on the Kubernetes cluster. Accepts `true` or `false`. |
298-
| `buildService.storageClassName` | The [name of the storage class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class) for the build service to store build artifacts. A value like `default` specifies a class named `default`, and not [any class that is marked as default](https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/). Default is a valid storage class for AKS and AKS HCI but it may not be for other distrubtions/platforms. |
299-
| `buildService.storageAccessMode` | The [access mode](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes) to use with the named storage class above. Accepts `ReadWriteOnce` or `ReadWriteMany`. |
300-
| `customConfigMap` | The name of the config map that will be set by the App Service Kubernetes environment. Currently, it must be `<namespace>/kube-environment-config`, replacing `<namespace>` with the value of `appsNamespace` above. |
300+
| `buildService.storageClassName` | The [name of the storage class](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class) for the build service to store build artifacts. A value like `default` specifies a class named `default`, and not [any class that is marked as default](https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/). Default is a valid storage class for AKS and AKS HCI but it may not be for other distrubtions/platforms. |
301+
| `buildService.storageAccessMode` | The [access mode](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes) to use with the named storage class. Accepts `ReadWriteOnce` or `ReadWriteMany`. |
302+
| `customConfigMap` | The name of the config map that will be set by the App Service Kubernetes environment. Currently, it must be `<namespace>/kube-environment-config`, replacing `<namespace>` with the value of `appsNamespace`. |
301303
| `envoy.annotations.service.beta.kubernetes.io/azure-load-balancer-resource-group` | The name of the resource group in which the Azure Kubernetes Service cluster resides. Valid and required only when the underlying cluster is Azure Kubernetes Service. |
302304
| `logProcessor.appLogs.destination` | Optional. Accepts `log-analytics` or `none`, choosing none disables platform logs. |
303305
| `logProcessor.appLogs.logAnalyticsConfig.customerId` | Required only when `logProcessor.appLogs.destination` is set to `log-analytics`. The base64-encoded Log analytics workspace ID. This parameter should be configured as a protected setting. |
@@ -338,7 +340,7 @@ While a [Log Analytic workspace](/azure/azure-monitor/logs/quick-create-workspac
338340
az resource wait --ids $EXTENSION_ID --custom "properties.installState!='Pending'" --api-version "2020-07-01-preview"
339341
```
340342
341-
You can use `kubectl` to see the pods that have been created in your Kubernetes cluster:
343+
You can use `kubectl` to see the pods created in your Kubernetes cluster:
342344
343345
```bash
344346
kubectl get pods -n $NAMESPACE

articles/app-service/overview-arc-integration.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ title: 'App Service on Azure Arc'
33
description: An introduction to App Service integration with Azure Arc for Azure operators.
44
ms.topic: article
55
ms.custom: devx-track-azurecli
6-
ms.date: 12/05/2023
7-
author: msangapu-msft
6+
ms.date: 09/23/2024
7+
author: apwestgarth
88
ms.author: msangapu
99
---
1010

@@ -30,6 +30,7 @@ The following public preview limitations apply to App Service Kubernetes environ
3030
|---------------------------------------------------------|---------------------------------------------------------------------------------------|
3131
| Supported Azure regions | East US, West Europe |
3232
| Cluster networking requirement | Must support `LoadBalancer` service type |
33+
| Node OS requirement | **Linux** only. |
3334
| Cluster storage requirement | Must have cluster attached storage class available for use by the extension to support deployment and build of code-based apps where applicable |
3435
| Feature: Networking | [Not available (rely on cluster networking)](#are-all-networking-features-supported) |
3536
| Feature: Managed identities | [Not available](#are-managed-identities-supported) |
@@ -68,6 +69,7 @@ Only one Kubernetes environment resource can be created in a custom location. In
6869

6970
- [How much does it cost?](#how-much-does-it-cost)
7071
- [Are both Windows and Linux apps supported?](#are-both-windows-and-linux-apps-supported)
72+
- [Can the extension be installed on Windows nodes?](#can-the-extension-be-installed-on-windows-nodes)
7173
- [Which built-in application stacks are supported?](#which-built-in-application-stacks-are-supported)
7274
- [Are all app deployment types supported?](#are-all-app-deployment-types-supported)
7375
- [Which App Service features are supported?](#which-app-service-features-are-supported)
@@ -76,7 +78,7 @@ Only one Kubernetes environment resource can be created in a custom location. In
7678
- [Are there any scaling limits?](#are-there-any-scaling-limits)
7779
- [What logs are collected?](#what-logs-are-collected)
7880
- [What do I do if I see a provider registration error?](#what-do-i-do-if-i-see-a-provider-registration-error)
79-
- [Can I deploy the Application services extension on an ARM64 based cluster?](#can-i-deploy-the-application-services-extension-on-an-arm64-based-cluster)
81+
- [Can I deploy the Application services extension on an Arm64 based cluster?](#can-i-deploy-the-application-services-extension-on-an-arm64-based-cluster)
8082
- [Which Kubernetes distributions can I deploy the extension on?](#which-kubernetes-distributions-can-i-deploy-the-extension-on)
8183

8284
### How much does it cost?
@@ -87,6 +89,10 @@ App Service on Azure Arc is free during the public preview.
8789

8890
Only Linux-based apps are supported, both code and custom containers. Windows apps aren't supported.
8991

92+
### Can the extension be installed on Windows nodes?
93+
94+
No, the extension cannot be installed on Windows nodes. The extension supports installation on **Linux** nodes **only**.
95+
9096
### Which built-in application stacks are supported?
9197

9298
All built-in Linux stacks are supported.
@@ -119,11 +125,11 @@ By default, logs from system components are sent to the Azure team. Application
119125

120126
### What do I do if I see a provider registration error?
121127

122-
When creating a Kubernetes environment resource, some subscriptions might see a "No registered resource provider found" error. The error details might include a set of locations and api versions that are considered valid. If this error message is returned, the subscription must be re-registered with the Microsoft.Web provider, an operation that has no impact on existing applications or APIs. To re-register, use the Azure CLI to run `az provider register --namespace Microsoft.Web --wait`. Then reattempt the Kubernetes environment command.
128+
When creating a Kubernetes environment resource, some subscriptions might see a "No registered resource provider found" error. The error details might include a set of locations and API versions that are considered valid. If this error message is returned, the subscription must be re-registered with the Microsoft.Web provider, an operation that has no impact on existing applications or APIs. To re-register, use the Azure CLI to run `az provider register --namespace Microsoft.Web --wait`. Then reattempt the Kubernetes environment command.
123129

124-
### Can I deploy the Application services extension on an ARM64 based cluster?
130+
### Can I deploy the Application services extension on an Arm64 based cluster?
125131

126-
ARM64 based clusters aren't supported at this time.
132+
Arm64 based clusters aren't supported at this time.
127133

128134
### Which Kubernetes distributions can I deploy the extension on?
129135

articles/container-apps/azure-arc-enable-cluster.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ This tutorial will show you how to enable Azure Container Apps on your Arc-enabl
3636
- If you don't have one, you [can create one for free](https://azure.microsoft.com/free/).
3737
- Install the [Azure CLI](/cli/azure/install-azure-cli).
3838
- Access to a public or private container registry, such as the [Azure Container Registry](/azure/container-registry/).
39+
- Review the [requirements and limitations](azure-arc-overview.md) of the public preview. Of particular importance are the cluster requirements.
3940

4041
## Setup
4142

@@ -253,6 +254,9 @@ A [Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) pr
253254
254255
## Install the Container Apps extension
255256
257+
> [!IMPORTANT]
258+
> If deploying onto **AKS-HCI** ensure that you have [setup HAProxy as your load balancer](/azure/aks/hybrid/configure-load-balancer) before attempting to install the extension.
259+
256260
1. Set the following environment variables to the desired name of the [Container Apps extension](azure-arc-create-container-app.md), the cluster namespace in which resources should be provisioned, and the name for the Azure Container Apps connected environment. Choose a unique name for `<connected-environment-name>`. The connected environment name will be part of the domain name for app you'll create in the Azure Container Apps connected environment.
257261
258262
# [Azure CLI](#tab/azure-cli)

articles/container-apps/azure-arc-overview.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.topic: conceptual
8-
ms.date: 07/18/2024
8+
ms.date: 09/23/2024
99
ms.author: cshoe
1010
---
1111

@@ -38,10 +38,14 @@ The following public preview limitations apply to Azure Container Apps on Azure
3838
|---|---|
3939
| Supported Azure regions | East US, West Europe, East Asia |
4040
| Cluster networking requirement | Must support [LoadBalancer](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) service type |
41+
| Node OS requirement | **Linux** only. |
4142
| Feature: Managed identities | [Not available](#are-managed-identities-supported) |
4243
| Feature: Pull images from ACR with managed identity | Not available (depends on managed identities) |
4344
| Logs | Log Analytics must be configured with cluster extension; not per-application |
4445

46+
> [!IMPORTANT]
47+
> If deploying onto **AKS-HCI** ensure that you have [setup HAProxy as your load balancer](/azure/aks/hybrid/configure-load-balancer) before attempting to install the extension.
48+
4549
## Resources created by the Container Apps extension
4650

4751
When the Container Apps extension is installed on the Azure Arc-enabled Kubernetes cluster, several resources are created in the specified release namespace. These resources enable your cluster to be an extension of the `Microsoft.App` resource provider to support the management and operation of your apps.
@@ -77,6 +81,7 @@ The following table describes the role of each revision created for you:
7781
- [Are there any scaling limits?](#are-there-any-scaling-limits)
7882
- [What logs are collected?](#what-logs-are-collected)
7983
- [What do I do if I see a provider registration error?](#what-do-i-do-if-i-see-a-provider-registration-error)
84+
- [Can the extension be installed on Windows nodes?](#can-the-extension-be-installed-on-windows-nodes)
8085
- [Can I deploy the Container Apps extension on an Arm64 based cluster?](#can-i-deploy-the-container-apps-extension-on-an-arm64-based-cluster)
8186

8287
### How much does it cost?
@@ -107,6 +112,10 @@ By default, logs from system components are sent to the Azure team. Application
107112

108113
As you create an Azure Container Apps connected environment resource, some subscriptions might see the "No registered resource provider found" error. The error details might include a set of locations and API versions that are considered valid. If this error message is returned, the subscription must be re-registered with the `Microsoft.App` provider. Re-registering the provider has no effect on existing applications or APIs. To re-register, use the Azure CLI to run `az provider register --namespace Microsoft.App --wait`. Then reattempt the connected environment command.
109114

115+
## Can the extension be installed on Windows nodes?
116+
117+
No, the extension cannot be installed on Windows nodes. The extension supports installation on **Linux** nodes **only**.
118+
110119
### Can I deploy the Container Apps extension on an Arm64 based cluster?
111120

112121
Arm64 based clusters aren't supported at this time.

0 commit comments

Comments
 (0)