Proposed Pull Request Change

title description ms.topic ms.service ms.author author ms.date
Access Kubernetes Resources using the Azure Portal Learn how to access and manage your Azure Kubernetes Service (AKS) resources using the Azure portal. how-to azure-kubernetes-service schaffererin schaffererin 01/26/2026
📄 Document Links
GitHub View on GitHub Microsoft Learn View on Microsoft Learn
Content Truncation Detected
The generated rewrite appears to be incomplete.
Original lines: -
Output lines: -
Ratio: -
Raw New Markdown
Generating updated version of doc...
Rendered New Markdown
Generating updated version of doc...
+0 -0
+0 -0
--- title: Access Kubernetes Resources using the Azure Portal description: Learn how to access and manage your Azure Kubernetes Service (AKS) resources using the Azure portal. ms.topic: how-to ms.service: azure-kubernetes-service ms.author: schaffererin author: schaffererin ms.date: 01/26/2026 # Customer intent: "As a cloud administrator, I want to access and manage Kubernetes resources in my Azure Kubernetes Service cluster through the Azure portal, so that I can effectively monitor and deploy applications within my infrastructure." --- # Access Kubernetes resources using the Azure portal In this article, you learn how to access and manage your Azure Kubernetes Service (AKS) resources using the Azure portal. ## Prerequisites - An existing AKS cluster. Any cluster is supported, but if you're using Microsoft Entra integration, your cluster must use [AKS-managed Microsoft Entra integration][aks-managed-aad]. - If your cluster uses legacy Microsoft Entra ID, you can upgrade your cluster in the portal or with the [Azure CLI][cli-aad-upgrade]. You can also use the [Azure portal][aks-quickstart-portal] to create a new AKS cluster. ## View Kubernetes resources Select **Kubernetes resources**. The Kubernetes resources list displays the following categories: - **Namespaces** shows information about the namespaces of your cluster. - **Workloads** shows information about deployments, pods, replica sets, stateful sets, daemon sets, jobs, and cron jobs deployed to your cluster. - **Services and ingresses** shows all of your cluster's service and ingress resources. - **Network policies** shows the network policy resources that control traffic flow between pods within your cluster. - **Storage** shows your Azure storage classes and persistent volume information. - **Configuration** shows your cluster's config maps and secrets. - **Custom resources** shows any custom resources deployed to your cluster. - **Events** shows all events related to your cluster. - **Run command** allows you to remotely invoke commands, like `kubectl` and `helm`, on your cluster through the Azure API without directly connecting to the cluster. :::image type="content" source="media/kubernetes-portal/kubernetes-resources.png" alt-text="Screenshot showing the Kubernetes resources displayed in the Azure portal." lightbox="media/kubernetes-portal/kubernetes-resources.png"::: ## Connect to your AKS cluster To deploy the Azure Store application, you need to connect to your AKS cluster. Follow these steps to connect to your cluster using the Azure portal: 1. From the **Overview** page of your AKS cluster, select **Connect**. 1. Follow the instructions to connect to your cluster using _Cloud Shell_, _Azure CLI_, or _Run command_. ## Deploy the Azure Store application In this section, we deploy the Azure Store application from the [AKS quickstart][aks-quickstart-portal]. 1. From the **Kubernetes resources** list, select **Services and ingresses**. 1. Select **Create** > **Apply a YAML**. 1. Copy and paste the following YAML into the editor: ```yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: rabbitmq spec: serviceName: rabbitmq replicas: 1 selector: matchLabels: app: rabbitmq template: metadata: labels: app: rabbitmq spec: nodeSelector: "kubernetes.io/os": linux containers: - name: rabbitmq image: mcr.microsoft.com/azurelinux/base/rabbitmq-server:3.13 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: 100m memory: 256Mi 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: 100m memory: 256Mi --- 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: 2m memory: 20Mi --- 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 ``` 1. Select **Apply**. Once the application finishes deploying, you see the following services in the _Services_ list: - `order-service` - `product-service` - `rabbitmq` - `store-front` :::image type="content" source="media/kubernetes-portal/portal-services.png" alt-text="Screenshot of the Azure Store application services displayed in the Azure portal." lightbox="media/kubernetes-portal/portal-services.png"::: ## Monitor deployment insights ### Enable the monitoring add-on on your AKS cluster AKS clusters with [Container Insights][enable-monitor] enabled can access various deployment insights in the Azure portal. If you don't have monitoring enabled on your cluster, you can enable it using the following steps: 1. From the service menu of your AKS cluster resource, select **Monitoring** > **Insights** > **Configure monitoring**. 1. On the **Configure Container Insights** page, select **Configure**. It might take a few minutes for the monitoring solution to deploy and begin collecting data. ### View deployment insights 1. From the service menu of your AKS cluster resource, select **Workloads**. 1. Select a deployment from the list to view deployment insights, such as CPU and memory usage. > [!TIP] > You can also select **Monitoring** > **Insights** to view more in-depth information about specific nodes and containers. ## Clean up resources If you no longer need the Azure Store application, you can delete the services to avoid incurring Azure costs. 1. From the **Kubernetes resources** list, select **Services and ingresses**. 1. Select the services you want to delete, then select **Delete**. ## Troubleshooting ### Unauthorized access To access the Kubernetes resources, you need access to the AKS cluster, Kubernetes API, and Kubernetes objects. Make sure you're either a **Cluster Administrator** or a user with the appropriate permissions delegated to access the AKS cluster. For more information, see [Access and identity options for AKS][concepts-identity]. ### Viewing Kubernetes resources is inaccessible You might need to configure authorized IP ranges to enable the Kubernetes resource view for existing clusters. > [!TIP] > You can add the AKS feature for [**API server authorized IP ranges**](api-server-authorized-ip-ranges.md) to limit API server access to only the firewall's public endpoint. Another option is to update the `--api-server-authorized-ip-ranges`/`-ApiServerAccessAuthorizedIpRange` to include access for a local client computer or the IP address range from which you're browsing the Azure portal. To allow this access, you need the computer's public IPv4 address. You can find this address using the following Azure CLI or Azure PowerShell commands. #### [Azure CLI](#tab/azure-cli) 1. Retrieve your IP address using the following command: ```azurecli-interactive CURRENT_IP=$(dig +short myip.opendns.com @resolver1.opendns.com) ``` 1. Add your IP address to the AKS approved list using the [`az aks update`][az-aks-update] command with the `--api-server-authorized-ip-ranges` parameter. ```azurecli-interactive az aks update --resource-group <resource-group-name> --name <cluster-name> --api-server-authorized-ip-ranges $CURRENT_IP/32 ``` 1. After updating your cluster's authorized IP ranges, run the following command to update and merge your kubeconfig: ```azurecli-interactive az aks get-credentials --resource-group <resource-group-name> --name <cluster-name> ``` The expected output informs you of this update: ```output Merged "<cluster-name>" as current context ... ``` #### [Azure PowerShell](#tab/azure-powershell) 1. Retrieve your IP address using the following command: ```azurepowershell-interactive $CURRENT_IP = (Invoke-RestMethod -Uri http://ipinfo.io/json).ip ``` 1. Add your IP address to the AKS approved list using the [`Set-AzAksCluster`][set-az-aks-cluster] command with the `-ApiServerAccessAuthorizedIpRange` parameter. ```azurepowershell-interactive Set-AzAksCluster -ResourceGroupName <resource-group-name> -Name <cluster-name> -ApiServerAccessAuthorizedIpRange $CURRENT_IP/32 ``` 1. After updating your cluster's authorized IP ranges, run the following command to update and merge your kubeconfig: ```azurepowershell-interactive Get-AzAksCredential -ResourceGroupName <resource-group-name> -Name <cluster-name> ``` The expected output informs you of this update: ```output Merged "<cluster-name>" as current context ... ``` --- If your AKS cluster is configured as a _private cluster_, you must access the Azure portal from a network that can reach the subnet where your AKS cluster resides. Otherwise, AKS resources are inaccessible in the portal due to network connectivity issues. To learn more, see [Access an AKS private cluster](/azure/architecture/guide/security/access-azure-kubernetes-service-cluster-api-server#access-an-aks-private-cluster). ## Related content This article showed you how to access Kubernetes resources from the Azure portal. To learn more about AKS concepts, see [Core concepts for Azure Kubernetes Service (AKS)][core-concepts]. <!-- LINKS - internal --> [concepts-identity]: concepts-identity.md [aks-quickstart-portal]: ./learn/quick-kubernetes-deploy-portal.md [core-concepts]: core-aks-concepts.md [aks-managed-aad]: managed-azure-ad.md [cli-aad-upgrade]: managed-azure-ad.md#migrate-a-legacy-azure-ad-cluster-to-integration [enable-monitor]: /azure/azure-monitor/containers/container-insights-enable-existing-clusters [az-aks-update]: /cli/azure/aks#az-aks-update [set-az-aks-cluster]: /powershell/module/az.aks/set-azakscluster
Success! Branch created successfully. Create Pull Request on GitHub
Error: