Plages d'adresses IP autorisées par le serveur d'API dans Azure Kubernetes Service (AKS) - Azure Kubernetes Service (2023)

  • Article

Le serveur d'API Kubernetes est le cœur du plan de contrôle Kubernetes et constitue le moyen central d'interagir avec et de gérer vos clusters. Pour améliorer la sécurité de vos clusters et minimiser les risques d'attaques, nous vous recommandons de limiter les plages d'adresses IP pouvant accéder au serveur d'API. Pour ce faire, vous pouvez utiliser lePlages d'adresses IP autorisées pour le serveur d'APIfonctionnalité.

Cet article vous explique comment utiliserPlages d'adresses IP autorisées du serveur d'APIfonctionnalité pour limiter les adresses IP et les CIDR pouvant accéder au plan de contrôle.

Avant que tu commences

  • Vous devez installer et configurer Azure CLI version 2.0.76 ou ultérieure. Couriraz --versionpour trouver la version. Si vous devez installer ou mettre à niveau, consultezInstaller Azure CLI.
  • Pour savoir quelles adresses IP inclure lors de l'intégration de votre cluster AKS avec Azure DevOps, consultez le Azure DevOpsAdresses IP et URL de domaine autoriséesarticle.

Limites

LePlages d'adresses IP autorisées pour le serveur d'APIfonctionnalité présente les limitations suivantes :

  • LePlages d'adresses IP autorisées pour le serveur d'APIla fonctionnalité a été retirée de l'aperçu en octobre 2019. Pour les clusters créés après que la fonctionnalité a été retirée de l'aperçu, cette fonctionnalité n'est prise en charge que sur leStandardÉquilibreur de charge SKU. Tous les clusters existants sur leBasiqueÉquilibreur de charge SKU avecPlages d'adresses IP autorisées pour le serveur d'APIla fonctionnalité activée continuera de fonctionner telle quelle. Cependant, ces clusters ne peuvent pas être migrés vers unStandardÉquilibreur de charge SKU. Les clusters existants continueront de fonctionner si la version et le plan de contrôle de Kubernetes sont mis à niveau.
  • LePlages d'adresses IP autorisées pour le serveur d'APIla fonctionnalité n'est pas prise en charge sur les clusters privés.
  • Lorsque vous utilisez cette fonctionnalité avec des clusters qui utilisentIP publique du nœud, les pools de nœuds utilisant l'adresse IP publique du nœud doivent utiliser des préfixes d'adresse IP publique. Les préfixes IP publics doivent être ajoutés en tant que plages autorisées.

Présentation des plages d'adresses IP autorisées pour le serveur d'API

Le serveur d'API Kubernetes est la façon dont les API Kubernetes sous-jacentes sont exposées. Ce composant fournit l'interaction pour les outils de gestion, tels quekubectlou le tableau de bord Kubernetes. AKS fournit un plan de contrôle de cluster à locataire unique, avec un serveur d'API dédié. Par défaut, le serveur d'API se voit attribuer une adresse IP publique et vous devez contrôler l'accès à l'aide du contrôle d'accès basé sur les rôles Kubernetes (Kubernetes RBAC) ou Azure RBAC.

Pour sécuriser l'accès au plan de contrôle/serveur d'API AKS autrement accessible au public, vous pouvez activer et utiliser des plages d'adresses IP autorisées. Ces plages d'adresses IP autorisées autorisent uniquement les plages d'adresses IP définies à communiquer avec le serveur d'API. Une requête adressée au serveur d'API à partir d'une adresse IP ne faisant pas partie de ces plages d'adresses IP autorisées est bloquée. Continuez à utiliser Kubernetes RBAC ou Azure RBAC pour autoriser les utilisateurs et les actions qu'ils demandent.

Pour plus d'informations sur le serveur d'API et les autres composants du cluster, consultezConcepts de base de Kubernetes pour AKS.

Créer un cluster AKS avec les plages d'adresses IP autorisées du serveur d'API activées

Créez un cluster à l'aide deaz aks créeret précisez le--api-server-authorized-ip-rangesparamètre pour fournir une liste des plages d'adresses IP publiques autorisées. Lorsque vous spécifiez une plage CIDR, commencez par la première adresse IP de la plage. Par exemple,137.117.106.90/29est une plage valide, mais assurez-vous de spécifier la première adresse IP de la plage, telle que137.117.106.88/29.

Important

Par défaut, votre cluster utilise leÉquilibreur de charge SKU standardque vous pouvez utiliser pour configurer la passerelle sortante. Lorsque vous activez les plages d'adresses IP autorisées du serveur d'API lors de la création du cluster, l'adresse IP publique de votre cluster est également autorisée par défaut en plus des plages que vous spécifiez. Si vous spécifiez""ou pas de valeur pour--api-server-authorized-ip-ranges, les plages d'adresses IP autorisées du serveur d'API seront désactivées. Notez que si vous utilisez PowerShell, utilisez--api-server-authorized-ip-ranges=""(avec le signe égal) pour éviter tout problème d'analyse.

L'exemple suivant crée un cluster à nœud unique nommémonAKSClusterdans le groupe de ressources nommémongroupe de ressourcesavec les plages d'adresses IP autorisées du serveur d'API activées. Les plages d'adresses IP autorisées sont73.140.245.0/24:

az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 1 \ --vm-set-type VirtualMachineScaleSets \ --load-balancer-sku standard \ --api-server-authorized-ip -plages 73.140.245.0/24 \ --generate-ssh-keys

Note

Vous devez ajouter ces plages à une liste d'autorisation :

  • L'adresse IP publique du pare-feu
  • Toute plage représentant les réseaux à partir desquels vous administrerez le cluster

La limite supérieure du nombre de plages IP que vous pouvez spécifier est de 200.

Les règles peuvent prendre jusqu'à deux minutes pour se propager. Veuillez prévoir jusqu'à ce moment lors du test de la connexion.

Spécifiez les adresses IP sortantes pour l'équilibreur de charge SKU standard

Lors de la création d'un cluster AKS, si vous spécifiez les adresses IP sortantes ou les préfixes du cluster, ils sont également autorisés. Par exemple:

az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 1 \ --vm-set-type VirtualMachineScaleSets \ --load-balancer-sku standard \ --api-server-authorized-ip -ranges 73.140.245.0/24 \ --load-balancer-outbound-ips , \ --generate-ssh-keys

Dans l'exemple ci-dessus, toutes les adresses IP fournies dans le paramètre--load-balancer-outbound-ip-prefixessont autorisés avec les adresses IP dans le--api-server-authorized-ip-rangesparamètre.

Au lieu de cela, vous pouvez spécifier le--load-balancer-outbound-ip-prefixesparamètre pour autoriser les préfixes IP de l'équilibreur de charge sortant.

Autoriser uniquement l'adresse IP publique sortante de l'équilibreur de charge SKU standard

Lorsque vous activez les plages d'adresses IP autorisées du serveur d'API lors de la création du cluster, l'adresse IP publique sortante de l'équilibreur de charge SKU standard pour votre cluster est également autorisée par défaut en plus des plages que vous spécifiez. Pour autoriser uniquement l'adresse IP publique sortante de l'équilibreur de charge SKU standard, utilisez0.0.0.0/32lors de la spécification du--api-server-authorized-ip-rangesparamètre.

Dans l'exemple suivant, seule l'adresse IP publique sortante de l'équilibreur de charge SKU standard est autorisée, et vous ne pouvez accéder au serveur d'API qu'à partir des nœuds du cluster.

az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --node-count 1 \ --vm-set-type VirtualMachineScaleSets \ --load-balancer-sku standard \ --api-server-authorized-ip -plages 0.0.0.0/32 \ --generate-ssh-keys

Mettre à jour les plages d'adresses IP autorisées du serveur d'API d'un cluster

Pour mettre à jour les plages d'adresses IP autorisées du serveur d'API sur un cluster existant, utilisezaz aks mise à jourcommandez et utilisez le--api-server-authorized-ip-ranges,--load-balancer-outbound-ip-prefixes,--load-balancer-outbound-ips, ou--load-balancer-outbound-ip-prefixesparamètres.

L'exemple suivant met à jour les plages d'adresses IP autorisées du serveur d'API sur le cluster nommémonAKSClusterdans le groupe de ressources nommémongroupe de ressources. La plage d'adresses IP à autoriser est73.140.245.0/24:

az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --api-server-authorized-ip-ranges 73.140.245.0/24

Vous pouvez aussi utiliser0.0.0.0/32lors de la spécification du--api-server-authorized-ip-rangespour autoriser uniquement l'adresse IP publique de l'équilibreur de charge SKU standard.

Désactiver les plages d'adresses IP autorisées

Pour désactiver les plages d'adresses IP autorisées, utilisezaz aks mise à jouret spécifiez une plage vide pour désactiver les plages d'adresses IP autorisées du serveur d'API. Par exemple:

az aks update \ --resource-group myResourceGroup \ --name myAKSCluster \ --api-server-authorized-ip-ranges ""

Important

Lors de l'exécution de cette commande à l'aide de PowerShell dans Azure Cloud Shell ou à partir de votre ordinateur local, la valeur de chaîne entre guillemets pour le--api-server-authorized-ip-rangersl'argument doit êtreentre guillemets simples.Sinon, un message d'erreur est renvoyé indiquant qu'un argument attendu est manquant.

Rechercher des plages d'adresses IP autorisées existantes

Pour rechercher des plages d'adresses IP autorisées, utilisezle spectacle akset spécifiez le nom du cluster et le groupe de ressources. Par exemple:

az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query apiServerAccessProfile.authorizedIpRanges

Mettre à jour, désactiver et rechercher des plages d'adresses IP autorisées à l'aide du portail Azure

Les opérations ci-dessus d'ajout, de mise à jour, de recherche et de désactivation des plages d'adresses IP autorisées peuvent également être effectuées dans le portail Azure. Pour y accéder, accédez àLa mise en réseausousParamètresdans le panneau de menu de votre ressource de cluster.

Plages d'adresses IP autorisées par le serveur d'API dans Azure Kubernetes Service (AKS) - Azure Kubernetes Service (1)

Comment trouver mon IP à inclure dans--api-server-authorized-ip-ranges?

Vous devez ajouter vos machines de développement, vos outils ou vos adresses IP d'automatisation à la liste des plages IP approuvées du cluster AKS pour accéder au serveur d'API à partir de là.

Une autre option consiste à configurer un jumpbox avec les outils nécessaires à l'intérieur d'un sous-réseau séparé dans le réseau virtuel du pare-feu. Cela suppose que votre environnement dispose d'un pare-feu avec le réseau respectif et que vous avez ajouté les adresses IP du pare-feu aux plages autorisées. De même, si vous avez forcé le tunneling du sous-réseau AKS vers le sous-réseau du pare-feu, il est également acceptable d'avoir le jumpbox dans le sous-réseau du cluster.

Pour ajouter une autre adresse IP aux plages approuvées, utilisez les commandes suivantes.

# Récupérez votre adresse IPCURRENT_IP=$(dig +short "myip.opendns.com" "@resolver1.opendns.com")
# Ajouter à AKS approuvé listaz aks update -g $RG -n $AKSNAME --api-server-authorized-ip-ranges $CURRENT_IP/24,73.140.245.0/24

Note

L'exemple ci-dessus ajoute une autre adresse IP aux plages approuvées. Notez qu'il inclut toujours l'adresse IP deMettre à jour les plages d'adresses IP autorisées du serveur d'API d'un cluster. Si vous n'incluez pas votre adresse IP existante, cette commande la remplacera par la nouvelle au lieu de l'ajouter aux plages autorisées. Pour désactiver les plages d'adresses IP autorisées, utilisezaz aks mise à jouret spécifiez une plage vide "".

Une autre option consiste à utiliser la commande suivante sur les systèmes Windows pour obtenir l'adresse IPv4 publique, ou vous pouvez suivre les étapes deTrouver votre adresse IP.

Appelez-RestMethod http://ipinfo.io/json | Sélectionnez -exp ip

Vous pouvez également trouver cette adresse en cherchant surquelle est mon adresse IPdans un navigateur Internet.

Prochaines étapes

Dans cet article, vous avez activé les plages d'adresses IP autorisées du serveur d'API. Cette approche fait partie de la façon dont vous pouvez exécuter en toute sécurité un cluster AKS. Pour plus d'informations, voirConcepts de sécurité pour les applications et les clusters dans AKSetMeilleures pratiques pour la sécurité des clusters et les mises à niveau dans AKS.

FAQs

What is the IP address of the Kubernetes API server? ›

Kubernetes API Server Options​

By default, the service cluster IP range is 10.43. 0.0/16 . If you change this value, then it must also be set with the same value on the Kubernetes Controller Manager ( kube-controller ).

What is the difference between AKS and Kubernetes? ›

Kubernetes is the de-facto open source platform for container orchestration but typically requires a lot of overhead in cluster management. AKS helps manage much of the overhead involved, reducing the complexity of deployment and management tasks.

How many IP addresses are reserved by the Azure networking fabric in an AKS cluster with configured with the Azure CNI networking plugin? ›

Each node is configured with a primary IP address. By default, 30 additional IP addresses are pre-configured by Azure CNI that are assigned to pods scheduled on the node.

What is Azure Kubernetes service used for? ›

Azure Kubernetes Service (AKS) offers the quickest way to start developing and deploying cloud-native apps in Azure, datacenters, or at the edge, with built-in code-to-cloud pipelines and guardrails. As a hosted Kubernetes service, Azure handles critical tasks, like health monitoring and maintenance.

How do I change my IP address on Kubernetes cluster? ›

Procedure
  1. From a Terminal session (as root or a non-root user ID enabled to run kubectl commands), enter the following command on the master node: kubectl -n kube-system edit svc.
  2. Go to the first occurrence of two sections that list externalIPs. ...
  3. To change the external IP address, edit one of the lines.

What is Kubernetes cluster IP address? ›

The ClusterIP provides a load-balanced IP address. One or more pods that match a label selector can forward traffic to the IP address. The ClusterIP service must define one or more ports to listen on with target ports to forward TCP/UDP traffic to containers.

Is there anything better than Kubernetes? ›

If you want a less complicated container management service than K8s, consider using OpenShift, Rancher, or Docker. A serverless platform such as Fargate or Cloud Run simplifies K8s deployments. With managed Kubernetes platforms like Amazon EKS and GKE, you don't need to worry about infrastructure management.

What is Kubernetes best for? ›

Kubernetes services provide load balancing and simplify container management on multiple hosts. They make it easy for an enterprise's apps to have greater scalability and be flexible, portable and more productive. In fact, Kubernetes is the fastest growing project in the history of open-source software, after Linux.

How is AWS better than Azure? ›

In terms of government cloud offerings, it has an advantage over Azure as AWS provides comprehensive security measures, better controls, auditing, security credentials, hybrid IT infrastructure. There is a limited reach when it comes to government cloud offerings.

What are the 5 IP addresses that are reserved for Azure services in subnet? ›

Azure reserves the first four and last IP address for a total of 5 IP addresses within each subnet. For example, the IP address range of 192.168. 1.0/24 has the following reserved addresses: 192.168.

What is the maximum number of private IP addresses in Azure? ›

Networking limits - Azure Resource Manager
ResourceLimit
Private IP addresses per virtual network65,536
Total Private Addresses for a group of Peered Virtual networks128,000
Private IP addresses per network interface256
Private IP addresses per virtual machine256
24 more rows

What is the minimum number of public IP addresses required in Azure? ›

Two public IP addresses in the on-premises data center, and two public IP addresses in the VNET. The most reliable option is to combine the active-active gateways on both your network and Azure, as shown in the diagram below. Every Azure VPN gateway consists of two instances in an active-standby configuration.

What is the purpose of Azure VPN? ›

Azure VPN Gateway connects your on-premises networks to Azure through Site-to-Site VPNs in a similar way that you set up and connect to a remote branch office. The connectivity is secure and uses the industry-standard protocols Internet Protocol Security (IPsec) and Internet Key Exchange (IKE).

Which API is used by Azure Kubernetes service? ›

With Azure Kubernetes Service (AKS), you can quickly deploy and operate a microservices-based architecture in the cloud. You can then leverage Azure API Management (API Management) to publish your microservices as APIs for internal and external consumption.

What is Kubernetes secret? ›

Secrets can be defined as Kubernetes objects used to store sensitive data such as user name and passwords with encryption. There are multiple ways of creating secrets in Kubernetes. Creating from txt files. Creating from yaml file.

How do I access my Kubernetes API server? ›

Once the proxy is running, you can access the Kubernetes API server by making requests to localhost or 127.0. 0.1 on the designated port. Running kubectl in proxy mode provides a secure and convenient way to access the Kubernetes API server, allowing you to interact with and manage your cluster from your local machine.

How do I find my Kubernetes IP address? ›

How to get the IP address of a Kubernetes pod
  1. Go to the kubectl command-line tool. ‍ ...
  2. Run the “kubectl get pods” command. Once you have installed the kubectl command-line tool, run the below command on Kubernetes node to find the pod's name. ...
  3. Copy the pod's name and run the “kubectl get pods server deployment” command.
Jul 18, 2022

Where is Kubernetes API server? ›

At the center of the Kubernetes control plane is the API server and the HTTP API that it exposes, allowing you to query and manipulate the state of Kubernetes objects.

Does Kubernetes have IP address? ›

The Kubernetes networking model relies heavily on IP addresses. Services, Pods, containers, and nodes communicate using IP addresses and ports. Kubernetes provides different types of load balancing to direct traffic to the correct Pods.

References

Top Articles
Latest Posts
Article information

Author: Prof. An Powlowski

Last Updated: 09/04/2023

Views: 5953

Rating: 4.3 / 5 (44 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Prof. An Powlowski

Birthday: 1992-09-29

Address: Apt. 994 8891 Orval Hill, Brittnyburgh, AZ 41023-0398

Phone: +26417467956738

Job: District Marketing Strategist

Hobby: Embroidery, Bodybuilding, Motor sports, Amateur radio, Wood carving, Whittling, Air sports

Introduction: My name is Prof. An Powlowski, I am a charming, helpful, attractive, good, graceful, thoughtful, vast person who loves writing and wants to share my knowledge and understanding with you.