Accéder aux ressources Kubernetes à l’aide du Portail Azure
Dans cet article, vous allez apprendre à accéder à vos ressources Azure Kubernetes Service (AKS) et à les gérer à l’aide du Portail Azure.
Avant de commencer
Pour afficher les ressources Kubernetes dans le Portail Azure, vous avez besoin d’un cluster AKS. Tout cluster est pris en charge, mais si vous utilisez l’intégration Microsoft Entra, votre cluster doit utiliser l’Intégration de Microsoft Entra managée par AKS. Si votre cluster utilise Microsoft Entra ID hérité, vous pouvez mettre à niveau votre cluster dans le portail ou à l’aide de Azure CLI. Vous pouvez également utiliser le Portail Azure pour créer un nouveau cluster AKS.
Afficher des ressources Kubernetes
Dans le Portail Azure, accédez à votre ressource de cluster AKS.
Dans le menu de gauche, sélectionnez Ressources Kubernetes. La liste des ressources Kubernetes affiche les catégories suivantes :
- Espaces de noms : affiche des informations sur les espaces de noms de votre cluster.
- Charges de travail affiche des informations sur les déploiements, les pods, les jeux de réplicas, les jeux avec état, les ensembles Daemon, les travaux et les travaux cron déployés sur votre cluster.
- Services et entrées affiche l’ensemble du service et des ressources d’entrée de votre cluster.
- Stockage affiche vos classes de stockage Azure et les informations sur les volumes persistants.
- Configuration affiche les mappages de configuration et les secrets de votre cluster.
- Ressources personnalisées : affiche les ressources personnalisées éventuellement déployées sur votre cluster.
- Événements : affiche tous les événements liés à votre cluster.
- Exécuter la commande vous permet d’appeler à distance des commandes, comme
kubectl
ethelm
, sur votre cluster via l’API Azure sans vous connecter directement au cluster.
Déployer un exemple d’application
Dans cette section, nous déployons l’application Azure Store à partir du guide de démarrage rapide AKS.
Se connecter au cluster
Pour déployer l’application Azure Store, vous devez vous connecter à votre cluster AKS. Suivez ces étapes pour vous connecter à votre cluster à l’aide du Portail Azure :
- Dans la page Vue d’ensemble de votre cluster AKS, sélectionnez Connecter.
- Suivez les instructions pour vous connecter à votre cluster en utilisant Cloud Shell, Azure CLI ou Run Command.
Déployer l’application Azure Store
Dans la liste Ressources Kubernetes, sélectionnez Services et entrées.
Sélectionnez Créer>Appliquer un YAML.
Copiez et collez le code YAML suivant dans l’éditeur :
apiVersion: apps/v1 kind: Deployment metadata: name: rabbitmq spec: replicas: 1 selector: matchLabels: app: rabbitmq template: metadata: labels: app: rabbitmq spec: nodeSelector: "kubernetes.io/os": linux containers: - name: rabbitmq image: mcr.microsoft.com/mirror/docker/library/rabbitmq:3.10-management-alpine ports: - containerPort: 5672 name: rabbitmq-amqp - containerPort: 15672 name: rabbitmq-http env: - name: RABBITMQ_DEFAULT_USER value: "username" - name: RABBITMQ_DEFAULT_PASS value: "password" resources: requests: cpu: 10m memory: 128Mi limits: cpu: 250m memory: 256Mi volumeMounts: - name: rabbitmq-enabled-plugins mountPath: /etc/rabbitmq/enabled_plugins subPath: enabled_plugins volumes: - name: rabbitmq-enabled-plugins configMap: name: rabbitmq-enabled-plugins items: - key: rabbitmq_enabled_plugins path: enabled_plugins --- apiVersion: v1 data: rabbitmq_enabled_plugins: | [rabbitmq_management,rabbitmq_prometheus,rabbitmq_amqp1_0]. kind: ConfigMap metadata: name: rabbitmq-enabled-plugins --- apiVersion: v1 kind: Service metadata: name: rabbitmq spec: selector: app: rabbitmq ports: - name: rabbitmq-amqp port: 5672 targetPort: 5672 - name: rabbitmq-http port: 15672 targetPort: 15672 type: ClusterIP --- apiVersion: apps/v1 kind: Deployment metadata: name: order-service spec: replicas: 1 selector: matchLabels: app: order-service template: metadata: labels: app: order-service spec: nodeSelector: "kubernetes.io/os": linux containers: - name: order-service image: ghcr.io/azure-samples/aks-store-demo/order-service:latest ports: - containerPort: 3000 env: - name: ORDER_QUEUE_HOSTNAME value: "rabbitmq" - name: ORDER_QUEUE_PORT value: "5672" - name: ORDER_QUEUE_USERNAME value: "username" - name: ORDER_QUEUE_PASSWORD value: "password" - name: ORDER_QUEUE_NAME value: "orders" - name: FASTIFY_ADDRESS value: "0.0.0.0" resources: requests: cpu: 1m memory: 50Mi limits: cpu: 75m memory: 128Mi initContainers: - name: wait-for-rabbitmq image: busybox command: ['sh', '-c', 'until nc -zv rabbitmq 5672; do echo waiting for rabbitmq; sleep 2; done;'] resources: requests: cpu: 1m memory: 50Mi limits: cpu: 75m memory: 128Mi --- apiVersion: v1 kind: Service metadata: name: order-service spec: type: ClusterIP ports: - name: http port: 3000 targetPort: 3000 selector: app: order-service --- apiVersion: apps/v1 kind: Deployment metadata: name: product-service spec: replicas: 1 selector: matchLabels: app: product-service template: metadata: labels: app: product-service spec: nodeSelector: "kubernetes.io/os": linux containers: - name: product-service image: ghcr.io/azure-samples/aks-store-demo/product-service:latest ports: - containerPort: 3002 resources: requests: cpu: 1m memory: 1Mi limits: cpu: 1m memory: 7Mi --- apiVersion: v1 kind: Service metadata: name: product-service spec: type: ClusterIP ports: - name: http port: 3002 targetPort: 3002 selector: app: product-service --- apiVersion: apps/v1 kind: Deployment metadata: name: store-front spec: replicas: 1 selector: matchLabels: app: store-front template: metadata: labels: app: store-front spec: nodeSelector: "kubernetes.io/os": linux containers: - name: store-front image: ghcr.io/azure-samples/aks-store-demo/store-front:latest ports: - containerPort: 8080 name: store-front env: - name: VUE_APP_ORDER_SERVICE_URL value: "http://order-service:3000/" - name: VUE_APP_PRODUCT_SERVICE_URL value: "http://product-service:3002/" resources: requests: cpu: 1m memory: 200Mi limits: cpu: 1000m memory: 512Mi --- apiVersion: v1 kind: Service metadata: name: store-front spec: ports: - port: 80 targetPort: 8080 selector: app: store-front type: LoadBalancer
Sélectionnez Ajouter.
Une fois le déploiement de l’application terminé, vous pouvez voir les services suivants dans la liste Services :
- order-service
- product-service
- rabbitmq
- store-front
Analyser les insights du déploiement
Activer le module complémentaire de monitoring sur votre cluster AKS
Les clusters AKS sur lesquels Container Insights est activé peuvent accéder à différents insights de déploiement dans le Portail Azure. Si le monitoring n’est pas activé sur votre cluster, vous pouvez l’activer en effectuant les étapes suivantes :
Dans le menu de gauche de votre ressource de cluster AKS, sélectionnez Monitoring>Insights>Configurer le monitoring.
Dans la page Configurer Container Insights, sélectionnez Configurer.
Quelques minutes peuvent être nécessaires pour que la solution de monitoring soit déployée et que la collecte des données commence.
Analyser les insights du déploiement
- Dans le menu de gauche de votre ressource de cluster AKS, sélectionnez Charges de travail.
- Sélectionnez un déploiement dans la liste pour afficher les insights du déploiement, notamment l’utilisation du processeur et de la mémoire.
Remarque
Vous pouvez également sélectionner Monitoring>Insights pour afficher des informations plus détaillées sur des nœuds et des conteneurs spécifiques.
Nettoyer les ressources
Si vous n’avez plus besoin de l’application Azure Store, vous pouvez supprimer les services pour éviter les frais générés par Azure.
- Dans la liste Ressources Kubernetes, sélectionnez Services et entrées.
- Sélectionnez les services que vous souhaitez supprimer, puis sélectionnez Supprimer.
Dépannage
Accès non autorisé
Pour accéder aux ressources Kubernetes, vous devez accéder au cluster AKS, à l’API Kubernetes et aux objets Kubernetes. Vérifiez que vous êtes un administrateur de cluster ou un utilisateur disposant des autorisations appropriées pour accéder au cluster AKS. Pour plus d’informations, consultez Options d’accès et d’identité pour AKS.
Activer l’affichage des ressources
Vous devrez peut-être activer l’affichage des ressources Kubernetes pour les clusters existants.
Conseil
Vous pouvez ajouter la fonctionnalité AKS des plages d’adresses IP autorisées du serveur d’API pour limiter l’accès du serveur d’API au point de terminaison public du pare-feu uniquement. Une autre option consiste à mettre à jour --api-server-authorized-ip-ranges
/-ApiServerAccessAuthorizedIpRange
pour inclure l’accès d’un ordinateur client local ou d’une plage d’adresses IP à partir desquels vous parcourez le Portail Azure. Pour autoriser cet accès, vous avez besoin de l’adresse IPv4 publique de l’ordinateur. Vous pouvez trouver cette adresse à l’aide des commandes Azure CLI ou Azure PowerShell suivantes, ou vous pouvez rechercher « quelle est mon adresse IP » dans votre navigateur.
Récupérez votre adresse IP à l’aide de la commande suivante :
CURRENT_IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
Ajoutez votre adresse IP à la liste approuvée AKS en utilisant la commande
az aks update
avec le paramètre--api-server-authorized-ip-ranges
.az aks update --resource-group <resource-group-name> --name <aks-cluster-name> --api-server-authorized-ip-ranges $CURRENT_IP/32
Étapes suivantes
Cet article vous a montré comment accéder aux ressources Kubernetes depuis le portail Azure. Pour plus d’informations sur AKS, consultez Concepts de base d’Azure Kubernetes Service (AKS).
Azure Kubernetes Service