Verwenden von Azure Virtual Network-Funktionen für Container
Um die umfassenden Azure-Netzwerkfunktionen in Containern zu nutzen, können Sie den gleichen Software-Defined Networking-Stapel wie bei virtuellen Computern verwenden. Das CNI-Plug-In (Container Network Interface) von Azure Virtual Network wird auf einem virtuellen Azure-Computer installiert. Das Plug-In weist Containern IP-Adressen aus einem virtuellen Netzwerk zu, die auf dem virtuellen Computer genutzt werden. Es fügt sie an das virtuelle Netzwerk an und verbindet sie direkt mit anderen Containern und virtuellen Netzwerkressourcen.
Das Plug-In ist für Verbindungen nicht auf Überlagerungsnetzwerke oder Routen angewiesen und bietet die gleiche Leistung wie virtuelle Computer. Allgemein bietet das Plug-In die folgenden Funktionen:
- Weisen Sie jedem Pod eine IP-Adresse des virtuellen Netzwerks zu, auch wenn dieser einen oder mehrere Container umfassen kann.
- Verbinden Sie Pods mit virtuellen Netzwerken mit Peering und lokalen Netzwerken über Azure ExpressRoute oder ein Site-to-Site-VPN (Virtuelles privates Netzwerk). Pods sind zudem über mittels Peering verknüpfte und lokale Netzwerke erreichbar.
- Greifen Sie mit Pods auf Dienste zu. Beispielsweise werden Azure Storage und Azure SQL-Datenbank durch Dienstendpunkte des virtuellen Netzwerks geschützt.
- Wenden Sie Netzwerksicherheitsgruppen und Routen direkt auf Pods an.
- Platzieren Sie Pods direkt hinter einem internen oder öffentlichen Lastenausgleich, genau wie virtuelle Computer.
- Weisen Sie Pods eine öffentliche IP-Adresse zu, um sie direkt über das Internet zugänglich zu machen. Pods können zudem auf das Internet zugreifen.
- Verwenden Sie Pods für die nahtlose Zusammenarbeit mit Kubernetes-Ressourcen wie z. B. Diensten, Eingangsdatencontrollern und Kube-DNS. Ein Kubernetes-Dienst kann auch intern oder extern über Azure Load Balancer verfügbar gemacht werden.
Die folgende grafische Darstellung zeigt, wie das Plug-In Azure Virtual Network-Funktionen für Pods bereitstellt.
Das Plug-In unterstützt sowohl Linux- als auch Windows-Plattformen.
Verbinden von Pods mit einem virtuellen Netzwerk
Pods werden in einem virtuellen Computer genutzt, der Teil eines virtuellen Netzwerks ist. Ein Pool von IP-Adressen für die Pods wird als sekundäre Adressen in der Netzwerkschnittstelle eines virtuellen Computers konfiguriert. Das Azure CNI richtet die grundlegende Netzwerkkonnektivität für Pods ein und verwaltet die Nutzung der IP-Adressen im Pool. Wenn ein Pod im virtuellen Computer angezeigt wird, weist die Azure CNI eine verfügbare IP-Adresse aus dem Pool zu und verbindet den Pod mit einer Softwarebrücke im virtuellen Computer. Nach Beendigung des Pods wird die IP-Adresse wieder dem Pool hinzugefügt. Die folgende grafische Darstellung zeigt, wie Pods mit einem virtuellen Netzwerk verbunden werden.
Zugriff auf das Internet
Damit Pods auf das Internet zugreifen können, werden mit dem Plug-In iptables-Regeln konfiguriert, sodass eine Netzwerkadressenübersetzung (Network Address Translation, NAT) des Internetdatenverkehrs von Pods durchgeführt wird. Die IP-Quelladresse des Pakets wird in die primäre IP-Adresse in der Netzwerkschnittstelle des virtuellen Computers übersetzt. Virtuelle Windows-Computer führen automatisch eine Netzwerkadressenübersetzung für die Quelle des Datenverkehrs durch, der für IP-Adressen außerhalb des Subnetzes bestimmt ist, in dem sich der virtuelle Computer befindet. Normalerweise wird der gesamte Datenverkehr für eine IP-Adresse außerhalb des IP-Adressbereichs des virtuellen Netzwerks übersetzt.
Einschränkungen
Das Plug-In unterstützt bis zu 250 Pods pro virtuellem Computer und bis zu 16.000 Pods in einem virtuellen Netzwerk. Für Azure Kubernetes Service (AKS) gelten andere Einschränkungen.
Verwenden des Plug-Ins
Sie können das Plug-In auf folgende Weise verwenden, um die grundlegende Anfügung virtueller Netzwerke für Pods oder Docker-Container bereitzustellen:
- Azure Kubernetes Service: Verwenden Sie das Plug-In zur Integration in AKS, indem Sie die Option Erweiterte Netzwerke auswählen. Mit erweiterten Netzwerken können Sie einen Kubernetes-Cluster in einem vorhandenen oder neuen virtuellen Netzwerk bereitstellen. Weitere Informationen zu den erweiterten Netzwerken und den Schritten zum Einrichten finden Sie unter Netzwerkkonfiguration in AKS.
- AKS-Engine:: Verwenden Sie die AKS-Engine, um eine Azure Resource Manager-Vorlage für die Bereitstellung eines Kubernetes-Clusters in Azure zu generieren. Ausführliche Anweisungen finden Sie unter Bereitstellen des Plug-Ins für AKS-Engine-Kubernetes-Cluster.
- Erstellen Ihres eigenen Kubernetes-Clusters in Azure: Verwenden Sie das Plug-In, um grundlegende Netzwerke für Pods in Kubernetes-Clustern bereitzustellen, die Sie selbst ohne AKS oder Tools wie die AKS-Engine bereitstellen. In diesem Fall wird das Plug-In installiert und auf allen virtuellen Computern in einem Cluster aktiviert. Ausführliche Anweisungen finden Sie unter Bereitstellen des Plug-Ins für einen eigenen Kubernetes-Cluster.
- Anfügung virtueller Netzwerke für Docker-Container in Azure: Verwenden Sie das Plug-In, wenn Sie keinen Kubernetes-Cluster, sondern stattdessen Docker-Container mit der Anfügung virtueller Netzwerke auf virtuellen Computern erstellen möchten. Ausführliche Anleitungen finden Sie unter Bereitstellen des Plug-Ins für Docker-Container.
Zugehöriger Inhalt
- Bereitstellen von Containernetzwerken für einen eigenständigen Linux-Docker-Host.
- Bereitstellen von Containernetzwerken für einen eigenständigen Windows-Docker-Host.
- Bereitstellen des Plug-Ins für Kubernetes-Cluster oder Docker-Container