Skip to content

Commit c5484e1

Browse files
authored
Merge pull request #100108 from dlepow/acifix2
[ACI] VNet update
2 parents 80898b2 + 36114b0 commit c5484e1

File tree

6 files changed

+31
-36
lines changed

6 files changed

+31
-36
lines changed

articles/container-instances/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
items:
5656
- name: Deploy
5757
items:
58-
- name: Deploy in a virtual network (preview)
58+
- name: Deploy in a virtual network
5959
href: container-instances-vnet.md
6060
- name: Deploy from Azure Container Registry
6161
href: container-instances-using-azure-container-registry.md

articles/container-instances/container-instances-container-groups.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ This example container group:
2727
* Includes two Azure file shares as volume mounts, and each container mounts one of the shares locally.
2828

2929
> [!NOTE]
30-
> Multi-container groups currently support only Linux containers. For Windows containers, Azure Container Instances only supports deployment of a single instance. While we are working to bring all features to Windows containers, you can find current platform differences in the service [Overview](container-instances-overview.md#linux-and-windows-containers).
30+
> Multi-container groups currently support only Linux containers. For Windows containers, Azure Container Instances only supports deployment of a single container instance. While we are working to bring all features to Windows containers, you can find current platform differences in the service [Overview](container-instances-overview.md#linux-and-windows-containers).
3131
3232
## Deployment
3333

@@ -39,19 +39,19 @@ To preserve a container group's configuration, you can export the configuration
3939

4040
## Resource allocation
4141

42-
Azure Container Instances allocates resources such as CPUs, memory, and optionally [GPUs][gpus] (preview) to a multi-container group by adding the [resource requests][resource-requests] of the instances in the group. Taking CPU resources as an example, if you create a container group with two instances, each requesting 1 CPU, then the container group is allocated 2 CPUs.
42+
Azure Container Instances allocates resources such as CPUs, memory, and optionally [GPUs][gpus] (preview) to a multi-container group by adding the [resource requests][resource-requests] of the instances in the group. Taking CPU resources as an example, if you create a container group with two container instances, each requesting 1 CPU, then the container group is allocated 2 CPUs.
4343

44-
### Resource usage by instances
44+
### Resource usage by container instances
4545

46-
Each container instance in a group is allocated the resources specified in its resource request. However, the maximum resources used by an instance in a group could be different if you configure its optional [resource limit][resource-limits] property. The resource limit of an instance must be greater than or equal to the mandatory [resource request][resource-requests] property.
46+
Each container instance in a group is allocated the resources specified in its resource request. However, the maximum resources used by a container instance in a group could be different if you configure its optional [resource limit][resource-limits] property. The resource limit of a container instance must be greater than or equal to the mandatory [resource request][resource-requests] property.
4747

48-
* If you don't specify a resource limit, the instance's maximum resource usage is the same as its resource request.
48+
* If you don't specify a resource limit, the container instance's maximum resource usage is the same as its resource request.
4949

50-
* If you specify a limit for an instance, the instance's maximum usage could be greater than the request, up to the limit you set. Correspondingly, resource usage by other instances in the group could decrease. The maximum resource limit you can set for an instance is the total resources allocated to the group.
50+
* If you specify a limit for a container instance, the instance's maximum usage could be greater than the request, up to the limit you set. Correspondingly, resource usage by other container instances in the group could decrease. The maximum resource limit you can set for a container instance is the total resources allocated to the group.
5151

52-
For example, in a group with two instances each requesting 1 CPU, one of your containers might run a workload that requires more CPUs to run than the other.
52+
For example, in a group with two container instances each requesting 1 CPU, one of your containers might run a workload that requires more CPUs to run than the other.
5353

54-
In this scenario, you could set a resource limit of 2 CPUs for the instance. This configuration allows the container to use up to the full 2 CPUs if available.
54+
In this scenario, you could set a resource limit of 2 CPUs for the container instance. This configuration allows the container instance to use up to the full 2 CPUs if available.
5555

5656
### Minimum and maximum allocation
5757

@@ -63,9 +63,9 @@ In this scenario, you could set a resource limit of 2 CPUs for the instance. Thi
6363

6464
Container groups can share an external-facing IP address, one or more ports on that IP address, and a DNS label with a fully qualified domain name (FQDN). To enable external clients to reach a container within the group, you must expose the port on the IP address and from the container. Because containers within the group share a port namespace, port mapping isn't supported. A container group's IP address and FQDN will be released when the container group is deleted.
6565

66-
Within a container group, containers instances can reach each other via localhost on any port, even if those ports aren't exposed externally on the group's IP address or from the container.
66+
Within a container group, container instances can reach each other via localhost on any port, even if those ports aren't exposed externally on the group's IP address or from the container.
6767

68-
Optionally deploy container groups into an [Azure virtual network][virtual-network] (preview) to allow containers to communicate securely with other resources in the virtual network.
68+
Optionally deploy container groups into an [Azure virtual network][virtual-network] to allow containers to communicate securely with other resources in the virtual network.
6969

7070
## Storage
7171

articles/container-instances/container-instances-faq.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Frequently asked questions
33
description: Answers for frequently asked questions related to the Azure Container Instances service
44
author: dkkapur
55
ms.topic: article
6-
ms.date: 4/25/2019
6+
ms.date: 01/07/2020
77
---
88

99
# Frequently asked questions about Azure Container Instances
@@ -78,7 +78,7 @@ Currently, scaling is not available for containers or container groups. If you n
7878

7979
### What features are available to instances running in a custom VNet?
8080

81-
You can deploy container groups in an Azure virtual network of your choice, and delegate private IPs to the container groups to route traffic within the VNet across your Azure resources. Deployment of a container group into a virtual network is currently in preview, and some aspects of this feature may change prior to general availability (GA). See [Preview limitations](container-instances-vnet.md#preview-limitations) for updated information.
81+
You can [deploy container groups in an Azure virtual network](container-instances-vnet.md) of your choice, and delegate private IPs to the container groups to route traffic within the VNet across your Azure resources. Deployment of a container group into a virtual network is currently available for production workloads in a subset of Azure regions.
8282

8383
## Pricing
8484

articles/container-instances/container-instances-overview.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Some features are currently restricted to Linux containers:
4949
* Multiple containers per container group
5050
* Volume mounting ([Azure Files](container-instances-volume-azure-files.md), [emptyDir](container-instances-volume-emptydir.md), [GitRepo](container-instances-volume-gitrepo.md), [secret](container-instances-volume-secret.md))
5151
* [Resource usage metrics](container-instances-monitor.md) with Azure Monitor
52-
* [Virtual network deployment](container-instances-vnet.md) (preview)
52+
* [Virtual network deployment](container-instances-vnet.md)
5353
* [GPU resources](container-instances-gpu.md) (preview)
5454

5555
For Windows container deployments, use images based on common [Windows base images](container-instances-faq.md#what-windows-base-os-images-are-supported).
@@ -61,12 +61,9 @@ For Windows container deployments, use images based on common [Windows base imag
6161

6262
Azure Container Instances supports scheduling of [multi-container groups](container-instances-container-groups.md) that share a host machine, local network, storage, and lifecycle. This enables you to combine your main application container with other supporting role containers, such as logging sidecars.
6363

64-
## Virtual network deployment (preview)
64+
## Virtual network deployment
6565

66-
Currently in preview, this feature of Azure Container Instances enables [deployment of container instances into an Azure virtual network](container-instances-vnet.md). By deploying container instances into a subnet within your virtual network, they can communicate securely with other resources in the virtual network, including those that are on premises (through [VPN gateway](../vpn-gateway/vpn-gateway-about-vpngateways.md) or [ExpressRoute](../expressroute/expressroute-introduction.md)).
67-
68-
> [!IMPORTANT]
69-
> Certain features of Azure Container Instances are in preview, and some [limitations apply](container-instances-vnet.md#preview-limitations). Previews are made available to you on the condition that you agree to the [supplemental terms of use][terms-of-use]. Some aspects of these features may change prior to general availability (GA).
66+
Currently available for production workloads in a subset of Azure regions, this feature of Azure Container Instances enables [deployment of container instances into an Azure virtual network](container-instances-vnet.md). By deploying container instances into a subnet within your virtual network, they can communicate securely with other resources in the virtual network, including those that are on premises (through [VPN gateway](../vpn-gateway/vpn-gateway-about-vpngateways.md) or [ExpressRoute](../expressroute/expressroute-introduction.md)).
7067

7168
## Next steps
7269

articles/container-instances/container-instances-region-availability.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ The following regions and resources are available to container groups with Windo
4040
| East US 2, West US 2 | Windows | 2 | 3.5 |
4141

4242

43-
## Availability - Virtual network deployment (preview)
43+
## Availability - Virtual network deployment
4444

45-
The following regions and resources are available to a container group deployed in an [Azure virtual network](container-instances-vnet.md) (preview).
45+
The following regions and resources are available to a container group deployed in an [Azure virtual network](container-instances-vnet.md).
4646

4747
[!INCLUDE [container-instances-vnet-limits](../../includes/container-instances-vnet-limits.md)]
4848

articles/container-instances/container-instances-vnet.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Deploy container group to Azure virtual network
33
description: Learn how to deploy container groups to a new or existing Azure virtual network.
44
ms.topic: article
5-
ms.date: 12/17/2019
5+
ms.date: 01/06/2020
66
ms.author: danlep
77

88
---
@@ -20,7 +20,7 @@ Container groups deployed into an Azure virtual network enable scenarios like:
2020
* Container communication with on-premises resources through a [VPN gateway](../vpn-gateway/vpn-gateway-about-vpngateways.md) or [ExpressRoute](../expressroute/expressroute-introduction.md)
2121

2222
> [!IMPORTANT]
23-
> This feature is currently in preview, and some [limitations apply](#preview-limitations). Previews are made available to you on the condition that you agree to the [supplemental terms of use][terms-of-use]. Some aspects of this feature may change prior to general availability (GA).
23+
> Container group deployments to a virtual network are generally available for production workloads only in the following regions: **East US, South Central US, and West US 2**. In other regions where the feature is available, virtual network deployments are currently in preview, with general availability planned in the near future. Previews are made available to you on the condition that you agree to the [supplemental terms of use][terms-of-use].
2424
2525

2626
## Virtual network deployment limitations
@@ -29,11 +29,7 @@ Certain limitations apply when you deploy container groups to a virtual network.
2929

3030
* To deploy container groups to a subnet, the subnet cannot contain any other resource types. Remove all existing resources from an existing subnet prior to deploying container groups to it, or create a new subnet.
3131
* You cannot use a [managed identity](container-instances-managed-identity.md) in a container group deployed to a virtual network.
32-
* Due to the additional networking resources involved, deploying a container group to a virtual network is typically somewhat slower than deploying a standard container instance.
33-
34-
## Preview limitations
35-
36-
While this feature is in preview, the following limitations apply when deploying container groups to a virtual network.
32+
* Due to the additional networking resources involved, deploying a container group to a virtual network is typically slower than deploying a standard container instance.
3733

3834
[!INCLUDE [container-instances-vnet-limits](../../includes/container-instances-vnet-limits.md)]
3935

@@ -42,8 +38,10 @@ Container resource limits may differ from limits for non-networked container ins
4238
### Unsupported networking scenarios
4339

4440
* **Azure Load Balancer** - Placing an Azure Load Balancer in front of container instances in a networked container group is not supported
45-
* **Virtual network peering** - VNet peering will not work for ACI if the network to which the ACI VNet is being peered to uses a public IP space. The peered network needs an RFC1918 private IP space in order for peering to work. Additionally, you currently can only peer your VNet to one other VNet
46-
* **Virtual network traffic routing** - Customer routes cannot be set up around public IPs. Routes can be set up within the private IP space of the delegated subnet in which the ACI resources are deployed
41+
* **Virtual network peering**
42+
* VNet peering will not work for ACI if the network that the ACI VNet is peering to uses a public IP space. The peered network needs an RFC 1918 private IP space in order for VNet peering to work.
43+
* You can only peer your VNet to one other VNet
44+
* **Virtual network traffic routing** - Custom routes cannot be set up around public IPs. Routes can be set up within the private IP space of the delegated subnet in which the ACI resources are deployed
4745
* **Network security groups** - Outbound security rules in NSGs applied to a subnet delegated to Azure Container Instances aren't currently enforced
4846
* **Public IP or DNS label** - Container groups deployed to a virtual network don't currently support exposing containers directly to the internet with a public IP address or a fully qualified domain name
4947
* **Internal name resolution** - Name resolution for Azure resources in the virtual network via the internal Azure DNS is not supported
@@ -95,7 +93,7 @@ Once you've deployed your first container group with this method, you can deploy
9593

9694
To deploy a container group to an existing virtual network:
9795

98-
1. Create a subnet within your existing virtual network, or empty an existing subnet of *all* other resources
96+
1. Create a subnet within your existing virtual network, use an existing subnet in which a container group is already deployed, or use an existing subnet emptied of *all* other resources
9997
1. Deploy a container group with [az container create][az-container-create] and specify one of the following:
10098
* Virtual network name and subnet name
10199
* Virtual network resource ID and subnet resource ID, which allows using a virtual network from a different resource group
@@ -111,7 +109,7 @@ The following sections describe how to deploy container groups to a virtual netw
111109

112110
First, deploy a container group and specify the parameters for a new virtual network and subnet. When you specify these parameters, Azure creates the virtual network and subnet, delegates the subnet to Azure Container instances, and also creates a network profile. Once these resources are created, your container group is deployed to the subnet.
113111

114-
Run the following [az container create][az-container-create] command that specifies settings for a new virtual network and subnet. You need to supply the name of a resource group that was created in a region that [supports](#preview-limitations) container groups in a virtual network. This command deploys the public Microsoft [aci-helloworld][aci-helloworld] container that runs a small Node.js webserver serving a static web page. In the next section, you'll deploy a second container group to the same subnet, and test communication between the two container instances.
112+
Run the following [az container create][az-container-create] command that specifies settings for a new virtual network and subnet. You need to supply the name of a resource group that was created in a region where container group deployments in a virtual network are [available](#virtual-network-deployment-limitations). This command deploys the public Microsoft [aci-helloworld][aci-helloworld] container that runs a small Node.js webserver serving a static web page. In the next section, you'll deploy a second container group to the same subnet, and test communication between the two container instances.
115113

116114
```azurecli
117115
az container create \
@@ -176,7 +174,7 @@ The log output should show that `wget` was able to connect and download the inde
176174

177175
### Deploy to existing virtual network - YAML
178176

179-
You can also deploy a container group to an existing virtual network by using a YAML file. To deploy to a subnet in a virtual network, you specify several additional properties in the YAML:
177+
You can also deploy a container group to an existing virtual network by using a YAML file, a Resource Manager template, or another programmatic method such as with the Python SDK. To deploy to a subnet in a virtual network, you specify several additional properties in the YAML:
180178

181179
* `ipAddress`: The IP address settings for the container group.
182180
* `ports`: The ports to open, if any.
@@ -221,7 +219,7 @@ properties:
221219
- protocol: tcp
222220
port: '80'
223221
networkProfile:
224-
id: /subscriptions/<Subscription ID>/resourceGroups/container/providers/Microsoft.Network/networkProfiles/aci-network-profile-aci-vnet-subnet
222+
id: /subscriptions/<Subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkProfiles/aci-network-profile-aci-vnet-subnet
225223
osType: Linux
226224
restartPolicy: Always
227225
tags: null
@@ -259,9 +257,9 @@ az container delete --resource-group myResourceGroup --name appcontaineryaml -y
259257

260258

261259
> [!NOTE]
262-
> If you recieve an error while attempting to remove the Network Profile allow 2-3 days for the platform to automatically mitigate the issue and attempt the deletion again. If you still have issues removing the Network Profile [open a support reqest.](https://azure.microsoft.com/support/create-ticket/)
260+
> If you receive an error while attempting to remove the network profile, allow 2-3 days for the platform to automatically mitigate the issue and attempt the deletion again. If you still have issues removing the network profile, [open a support request](https://azure.microsoft.com/support/create-ticket/).
263261

264-
The initial preview of this feature requires several additional commands to delete the network resources you created earlier. If you used the example commands in previous sections of this article to create your virtual network and subnet, then you can use the following script to delete those network resources.
262+
This feature currently requires several additional commands to delete the network resources you created earlier. If you used the example commands in previous sections of this article to create your virtual network and subnet, then you can use the following script to delete those network resources.
265263

266264
Before executing the script, set the `RES_GROUP` variable to the name of the resource group containing the virtual network and subnet that should be deleted. Update the name of the virtual network if you did not use the `aci-vnet` name suggested earlier. The script is formatted for the Bash shell. If you prefer another shell such as PowerShell or Command Prompt, you'll need to adjust variable assignment and accessors accordingly.
267265

0 commit comments

Comments
 (0)