IP-Adressplanung für Ihre Azure Kubernetes Service-Cluster
Dieser Artikel enthält Anleitungen zur IP-Adressplanung für Azure Kubernetes Service-Cluster.
Spezifische Anleitungen zur IP-Adressplanung für einzelne CNI-Optionen finden Sie im Abschnitt Nächste Schritte. Dort finden Sie auch Links zur Plug-In-Dokumentation.
Subnetzdimensionierung
Ihr Azure-VNet-Subnetz muss groß genug für Ihren Cluster sein. Dies hängt davon ab, ob Sie ein Überlagerungsnetzwerk oder ein flaches Netzwerk verwenden.
Überlagerungsnetzwerke
Bei Überlagerungsnetzwerken wie Azure CNI Overlay muss Ihr Subnetz groß genug sein, um Ihren Knoten IP-Adressen zuzuweisen. Pods werden IP-Adressen aus einem separaten, privaten CIDR-Bereich zugewiesen und benötigen keine VNet-IP-Adressen. Das VNet-Subnetz, das Sie für Ihren Cluster verwenden, kann kleiner als bei flachen Netzwerken sein.
Es ist wichtig, genügend Speicherplatz in Ihrem privaten CIDR-Bereich für Ihre Pods zuzuweisen, um die Skalierung zu ermöglichen. Bei der Planung Ihrer IP-Adressbereichsgrößen sollten Sie die maximale Anzahl von Pods berechnen. Jedem Knoten in Ihrem Cluster wird ein /24-Subnetz (256 IP-Adressen) für Pods zugewiesen. Sie sollten ihr Überlagerungsnetzwerksubnetz so planen, dass die maximale Anzahl der Knoten berücksichtigt wird, die Sie ausführen möchten.
Flache Netzwerke
Flache Netzwerke wie Azure CNI Pod Subnet benötigen ein großes Subnetz, um Knoten und Pods aufzunehmen. Da Knoten und Pods IP-Adressen von Ihrem VNet empfangen, müssen Sie die maximale Anzahl der Knoten und Pods planen, die Sie erwarten. Azure CNI Pod Subnet verwendet ein Subnetz für Ihre Knoten und ein separates Subnetz für Ihre Pods, daher müssen Sie für beides planen.
Dimensionierung der IP-Adressen
Überlegungen zu Upgrades und Skalierung
Bei der IP-Adressplanung für Ihren AKS-Cluster sollten Sie die Anzahl der IP-Adressen berücksichtigen, die für Upgrade- und Skalierungsvorgänge erforderlich sind. Wenn Sie den IP-Adressbereich so einstellen, dass er nur eine feste Anzahl von Knoten unterstützt, können Sie Ihren Cluster weder upgraden noch skalieren.
Wenn Sie Ihren AKS-Cluster upgraden, wird im Cluster ein neuer Knoten bereitgestellt. Dienste und Workloads werden auf dem neuen Knoten ausgeführt, und ein älterer Knoten wird aus dem Cluster entfernt. Dieser rollende Aktualisierungsprozess erfordert, dass mindestens ein zusätzlicher Block von IP-Adressen verfügbar ist. Die Knotenanzahl ist dann n + 1
, wobei n
die Anzahl der Knoten in Ihrem Cluster ist.
Wenn Sie Ihren AKS-Cluster skalieren, wird im Cluster ein neuer Knoten bereitgestellt. Dienste und Workloads werden auf dem neuen Knoten ausgeführt. Bei Ihrem IP-Adressbereich muss berücksichtigt werden, wie Sie die Anzahl der Knoten und Pods, die Ihr Cluster unterstützen kann, hochskalieren können. Mindestens einen zusätzlichen Knoten für Upgradevorgänge oder die Anzahl der Knoten, die durch die Option „Knoten-Surge-Upgrade anpassen festgelegt werden, sollten ebenfalls enthalten sein. Die Knotenanzahl ist dann n + number-of-additional-scaled-nodes-you-anticipate + max surge
.
Wenn Sie Azure CNI Pod Subnet verwenden und erwarten, dass Ihre Knoten die maximale Anzahl von Pods ausführen und regelmäßig Pods zerstören und bereitstellen, sollten Sie auch zusätzliche IP-Adressen pro Knoten einplanen. Es kann eine Latenz von einigen Sekunden entstehen, um einen Dienst zu löschen und seine IP-Adresse freizugeben, bevor ein neuer Dienst bereitgestellt und die Adresse abgerufen werden kann. Die zusätzlichen IP-Adressen schaffen diese Möglichkeit.
Der IP-Adressplan eines AKS-Clusters enthält neben einem virtuellen Netzwerk mindestens ein Subnetz für Knoten und Pods sowie einen Kubernetes-Dienstadressbereich.
Azure-Ressource | Adressbereich | Grenzwerte und Dimensionierung |
---|---|---|
Azure Virtual Network | Maximale Größe: /8. Grenzwert von 65.536 konfigurierten IP-Adressen. Ausnahmen finden Sie unter Statische Blockzuteilung in Azure CNI Pod Subnet. | Überlappende Adressräume in Ihrem Netzwerk können Probleme verursachen. |
Subnetz | Muss groß genug sein, um Knoten, Pods und alle Kubernetes- und Azure-Ressourcen in Ihrem Cluster aufzunehmen. Wenn Sie beispielsweise eine interne Azure Load Balancer-Instanz bereitstellen, werden deren Front-End-IP-Adressen aus dem Clustersubnetz zugeordnet, nicht die öffentlichen IP-Adressen. | Die Subnetzgröße sollte auch Upgradevorgänge und zukünftige Skalierungsanforderungen berücksichtigen. Verwenden Sie die folgende Formel, um die minimale Subnetzgröße zu berechnen, einschließlich eines zusätzlichen Knotens für Upgradevorgänge: Beispiel für einen 50-Knoten-Cluster: Beispiel für einen 50-Knoten-Cluster, Vorbereiten der Hochskalierung um zusätzliche 10 Knoten mit max. Anstieg von 1 Knoten: Wenn Sie beim Erstellen des Clusters keine maximale Anzahl von Pods pro Knoten angeben, wird diese auf 30 festgelegt. Die mindestens erforderliche Anzahl von IP-Adressen basiert auf diesem Wert. Wenn Sie Ihre mindestens erforderliche Anzahl von IP-Adressen anhand eines anderen Maximalwerts berechnen, finden Sie Informationen zum Festlegen dieses Werts beim Bereitstellen des Clusters unter Maximale Anzahl von Pods pro Knoten. |
Adressbereich für Kubernetes Service | Netzwerkelemente, die sich in diesem virtuellen Netzwerk befinden oder mit diesem verbunden sind, dürfen diesen Bereich nicht verwenden. | Der Dienstadress-CIDR muss kleiner als /12 sein. Sie können diesen Bereich für unterschiedliche AKS-Cluster wiederverwenden. |
Kubernetes-DNS-Dienst – IP-Adresse | Die IP-Adresse innerhalb des Kubernetes-Dienstadressenbereichs, der von der Clusterdienstermittlung verwendet wird. | Verwenden Sie nicht die erste IP-Adresse Ihres Adressbereichs. Die erste Adresse Ihres Subnetzbereichs wird für die Adresse kubernetes.default.svc.cluster.local genutzt. |
Maximale Pods pro Knoten
Die maximale Anzahl von Pods pro Knoten in einem AKS-Cluster ist 250. Standardmäßig variiert die maximale Anzahl von Pods pro Knoten zwischen kubenet- und Azure CNI-Netzwerken sowie je nach Methode für die Clusterbereitstellung.
CNI | Standardmäßiger Podgrenzwert | Bei der Bereitstellung konfigurierbar |
---|---|---|
Azure CNI Overlay | 250 | Ja (bis zu 250) |
Azure CNI Pod Subnet | 110 | Ja (bis zu 250) |
Azure CNI (Legacy) | 30 | Ja (bis zu 250) |
Kubenet | 110 | Ja (bis zu 250) |
Konfigurieren der maximalen Pods pro Knoten für Ihre Cluster
Sie können die maximale Anzahl von Pods pro Knoten bei der Clusterbereitstellung oder beim Hinzufügen von neuen Knotenpools konfigurieren. Sie können den Wert für die maximale Anzahl von Pods pro Knoten auf maximal 250 festlegen.
Ein Mindestwert für maximale Pods pro Knoten wird erzwungen, um Platz für Systempods zu garantieren, die für die Clusterintegrität entscheidend sind. Der Mindestwert, der für maximale Pods pro Knoten festgelegt werden kann, ist nur dann 10, wenn die Konfiguration der einzelnen Knotenpools Platz für mindestens 30 Pods bietet. Wenn Sie z. B. die maximale Podanzahl pro Knoten auf mindestens 10 festlegen, muss jeder einzelne Knotenpool mindestens drei Knoten aufweisen. Diese Anforderung gilt auch für jeden neu erstellten Knotenpool, d. h., wenn für die maximale Podanzahl pro Knoten der Wert 10 definiert ist, muss jeder weitere hinzugefügte Knotenpool mindestens drei Knoten aufweisen.
Netzwerk | Minimum | Maximum |
---|---|---|
Azure CNI | 10 | 250 |
Kubenet | 10 | 250 |
Hinweis
Der Mindestwert in der obigen Tabelle wird vom AKS-Dienst strikt erzwungen. Sie können für maxPods keinen niedrigeren Wert als den angezeigten Mindestwert festlegen, da dadurch der Start des Clusters verhindert werden kann.
Neue Cluster
Sie können einen Podgrenzwert pro Knoten definieren, wenn Sie einen neuen Cluster mit einer der folgenden Methoden erstellen:
- Azure CLI: Geben Sie das
--max-pods
-Argument an, wenn Sie einen Cluster mit dem Befehlaz aks create
bereitstellen. - Azure Resource Manager-Vorlage: Geben Sie die
maxPods
-Eigenschaft im Objekt „ManagedClusterAgentPoolProfile“ an, wenn Sie einen Cluster mit einer Azure Resource Manager-Vorlage bereitstellen. - Azure-Portal: Ändern Sie das Feld
Max pods per node
in den Knotenpooleinstellungen beim Erstellen eines Clusters oder Hinzufügen eines neuen Knotenpools.
Vorhandene Cluster
Sie können den Podgrenzwert pro Knoten definieren, wenn Sie einen neuen Knotenpool erstellen. Wenn Sie die Einstellung maxPods in einem vorhandenen Cluster erhöhen müssen, fügen Sie einen neuen Knotenpool mit dem neuen gewünschten Wert für maxPods hinzu. Nachdem Sie Ihre Pods zum neuen Pool migriert haben, löschen Sie den älteren Knotenpool.
Nächste Schritte
Azure Kubernetes Service