Skip to content

Commit 86ad347

Browse files
authored
Merge pull request #232103 from asudbring/vnet-old-review
Review of container networking overview
2 parents b2635d0 + 79ce93e commit 86ad347

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed
Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
---
22
title: Container networking with Azure Virtual Network
33
description: Learn about the Azure Virtual Network container network interface (CNI) plug-in and how to enable containers to use an Azure Virtual Network.
4-
services: virtual-network
54
author: asudbring
6-
manager: NarayanAnnamalai
7-
tags: azure-resource-manager
85
ms.service: virtual-network
96
ms.topic: conceptual
10-
ms.workload: infrastructure-services
11-
ms.date: 9/18/2018
7+
ms.date: 03/25/2023
128
ms.author: allensu
139
---
1410

@@ -17,24 +13,30 @@ ms.author: allensu
1713
Bring the rich set of Azure network capabilities to containers, by utilizing the same software defined networking stack that powers virtual machines. The Azure Virtual Network container network interface (CNI) plug-in installs in an Azure Virtual Machine. The plug-in assigns IP addresses from a virtual network to containers brought up in the virtual machine, attaching them to the virtual network, and connecting them directly to other containers and virtual network resources. The plug-in doesn’t rely on overlay networks, or routes, for connectivity, and provides the same performance as virtual machines. At a high level, the plug-in provides the following capabilities:
1814

1915
- A virtual network IP address is assigned to every Pod, which could consist of one or more containers.
16+
2017
- Pods can connect to peered virtual networks and to on-premises over ExpressRoute or a site-to-site VPN. Pods are also reachable from peered and on-premises networks.
21-
- Pods can access services such as Azure Storage and Azure SQL Database, that are protected by virtual network service endpoints.
18+
19+
- Pods can access services such as Azure Storage and Azure SQL Database that are protected by virtual network service endpoints.
20+
2221
- Network security groups and routes can be applied directly to Pods.
22+
2323
- Pods can be placed directly behind an Azure internal or public Load Balancer, just like virtual machines
24+
2425
- Pods can be assigned a public IP address, which makes them directly accessible from the internet. Pods can also access the internet themselves.
26+
2527
- Works seamlessly with Kubernetes resources such as Services, Ingress controllers, and Kube DNS. A Kubernetes Service can also be exposed internally or externally through the Azure Load Balancer.
2628

2729
The following picture shows how the plug-in provides Azure Virtual Network capabilities to Pods:
2830

29-
![Container networking overview](./media/container-networking/container-networking-overview.png)
31+
:::image type="content" source="./media/container-networking/container-networking-overview.png" alt-text="Diagram of container networking overview.":::
3032

3133
The plug-in supports both Linux and Windows platforms.
3234

3335
## Connecting Pods to a virtual network
3436

3537
Pods are brought up in a virtual machine that is part of a virtual network. A pool of IP addresses for the Pods is configured as secondary addresses on a virtual machine's network interface. Azure CNI sets up the basic Network connectivity for Pods and manages the utilization of the IP addresses in the pool. When a Pod comes up in the virtual machine, Azure CNI assigns an available IP address from the pool and connects the Pod to a software bridge in the virtual machine. When the Pod terminates, the IP address is added back to the pool. The following picture shows how Pods connect to a virtual network:
3638

37-
![Container networking detail](./media/container-networking/container-networking-detail.png)
39+
:::image type="content" source="./media/container-networking/container-networking-detail.png" alt-text="Diagram of container networking detail.":::
3840

3941
## Internet access
4042

@@ -49,10 +51,17 @@ The plug-in supports up to 250 Pods per virtual machine and up to 16,000 Pods in
4951
The plug-in can be used in the following ways, to provide basic virtual network attach for Pods or Docker containers:
5052

5153
- **Azure Kubernetes Service**: The plug-in is integrated into the Azure Kubernetes Service (AKS), and can be used by choosing the *Advanced Networking* option. Advanced Networking lets you deploy a Kubernetes cluster in an existing, or a new, virtual network. To learn more about Advanced Networking and the steps to set it up, see [Network configuration in AKS](../aks/configure-azure-cni.md?toc=%2fazure%2fvirtual-network%2ftoc.json).
54+
5255
- **AKS-Engine**: AKS-Engine is a tool that generates an Azure Resource Manager template for the deployment of a Kubernetes cluster in Azure. For detailed instructions, see [Deploy the plug-in for AKS-Engine Kubernetes clusters](deploy-container-networking.md#deploy-the-azure-virtual-network-container-network-interface-plug-in).
56+
5357
- **Creating your own Kubernetes cluster in Azure**: The plug-in can be used to provide basic networking for Pods in Kubernetes clusters that you deploy yourself, without relying on AKS, or tools like the AKS-Engine. In this case, the plug-in is installed and enabled on every virtual machine in a cluster. For detailed instructions, see [Deploy the plug-in for a Kubernetes cluster that you deploy yourself](deploy-container-networking.md#deploy-plug-in-for-a-kubernetes-cluster).
58+
5459
- **Virtual network attach for Docker containers in Azure**: The plug-in can be used in cases where you don’t want to create a Kubernetes cluster, and would like to create Docker containers with virtual network attach, in virtual machines. For detailed instructions, see [Deploy the plug-in for Docker](deploy-container-networking.md#deploy-plug-in-for-docker-containers).
5560

5661
## Next steps
5762

58-
[Deploy the plug-in](deploy-container-networking.md) for Kubernetes clusters or Docker containers
63+
* [Deploy container networking for a stand-alone Linux Docker host](/azure/virtual-network/deploy-container-networking-docker-linux)
64+
65+
* [Deploy container networking for a stand-alone Windows Docker host](/azure/virtual-network/deploy-container-networking-docker-windows)
66+
67+
* [Deploy the plug-in](deploy-container-networking.md) for Kubernetes clusters or Docker containers

0 commit comments

Comments
 (0)