Accedere alle risorse di Kubernetes tramite il portale di Azure
In questo articolo, viene illustrato come accedere e gestire le risorse del servizio Azure Kubernetes (AKS) tramite il portale di Azure.
Operazioni preliminari
Per visualizzare le risorse Kubernetes nel portale di Azure, hai bisogno di un cluster del servizio Azure Kubernetes. Qualsiasi cluster è supportato, ma se usi l'integrazione di Microsoft Entra, il tuo cluster deve usare l'integrazione di Microsoft Entra gestita dal servizio Azure Kubernetes. Se il tuo cluster usa l'ID Microsoft Entra legacy, puoi aggiornare il cluster nel portale o con l'interfaccia della riga di comando di Azure. Puoi anche usare il portale di Azure per creare un nuovo cluster del servizio Azure Kubernetes.
Visualizza risorse Kubernetes
Nel portale di Azure, passare alla risorsa del cluster del servizio Azure Kubernetes.
Nel menu del servizio selezionare Risorse Kubernetes. L'elenco delle risorse di Kubernetes visualizza le categorie seguenti:
- Spazi dei nomi: mostra le informazioni sugli spazi dei nomi del cluster.
- I carichi di lavoro mostrano informazioni su distribuzioni, pod, set di repliche, set con stato, set di daemon, processi e processi cron distribuiti nel cluster.
- Servizi e dati in ingresso mostra tutte le risorse del servizio e dell'ingresso del cluster.
- Archiviazione mostra le classi di archiviazione di Azure e le informazioni sul volume permanente.
- Configurazione mostra le mappe di configurazione e i segreti del cluster.
- Risorse personalizzate: mostra tutte le risorse personalizzate distribuite nel cluster.
- Eventi: mostra tutti gli eventi correlati al cluster.
- Esegui comando consente di chiamare in remoto i comandi, ad esempio
kubectl
ehelm
, nel cluster tramite l’API di Azure evitando di connettersi direttamente al cluster.
Distribuire un'applicazione di esempio
In questa sezione viene distribuita l'applicazione Azure Store dall’Avvio rapido del servizio Azure Kubernetes.
Connettersi al cluster
Per distribuire l'applicazione Azure Store, è necessario connettersi al cluster del servizio Azure Kubernetes. Seguire questa procedura per connettersi al cluster tramite il portale di Azure:
- Nella pagina Panoramica del cluster del servizio Azure Kubernetes, selezionare Connetti.
- Seguire le istruzioni per connettersi al cluster tramite Cloud Shell, l'interfaccia della riga di comando di Azure o Esegui comando.
Distribuire l'applicazione Azure Store
Nell'elenco delle risorse di Kubernetes, selezionare Servizi e dati in ingresso.
Selezionare Crea>Applica a un file YAML.
Copiare e incollare il file YAML seguente nell'editor:
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
Selezionare Aggiungi.
Al termine della distribuzione dell'applicazione, l’elenco Servizi visualizza i servizi seguenti:
- order-service
- product-service
- rabbitmq
- store-front
Monitorare le informazioni dettagliate sulla distribuzione
Abilitare il componente aggiuntivo di monitoraggio nel cluster del servizio Azure Kubernetes
I cluster del servizio Azure Kubernetes con l’opzione Dati analitici sui contenitori abilitata possono accedere a varie informazioni dettagliate sulla distribuzione nel portale di Azure. Se non si è abilitato il monitoraggio nel cluster, è possibile farlo tramite la procedura seguente:
Dal menu del servizio della risorsa del cluster del servizio Azure Kubernetes selezionare Monitoraggio>Insights>Configurare il monitoraggio.
Nella pagina Configura Informazioni dettagliate sul contenitore, selezionare Configura.
Potrebbero essere necessari alcuni minuti perché la soluzione di monitoraggio venga distribuita e inizi a raccogliere i dati.
Visualizzare le informazioni dettagliate sulla distribuzione
- Dal menu del servizio della risorsa cluster del servizio Azure Kubernetes selezionare Carichi di lavoro.
- Selezionare una distribuzione dall'elenco per visualizzare le informazioni dettagliate sulla distribuzione, ad esempio l'utilizzo della CPU e della memoria.
Nota
È anche possibile selezionare Monitoraggio>Informazioni dettagliate per visualizzare informazioni più approfondite su nodi e contenitori specifici.
Pulire le risorse
Se l'applicazione Azure Store non è più necessaria, è possibile eliminare i servizi per evitare di incorrere nei costi di Azure.
- Nell'elenco delle risorse di Kubernetes, selezionare Servizi e dati in ingresso.
- Selezionare i servizi da eliminare e quindi selezionare Elimina.
Risoluzione dei problemi
Accesso non autorizzato
Per accedere alle risorse di Kubernetes, è necessario accedere al cluster del servizio Azure Kubernetes, all'API Kubernetes e agli oggetti Kubernetes. Assicurarsi di essere un amministratore del cluster o un utente con le autorizzazioni appropriate per accedere al cluster del servizio Azure Kubernetes. Per altre informazioni, vedere Opzioni di accesso e identità per il servizio Azure Kubernetes.
Abilitare la visualizzazione delle risorse
Per i cluster esistenti, è possibile che sia necessario abilitare la visualizzazione delle risorse di Kubernetes.
Suggerimento
Puoi aggiungere la funzionalità servizio Azure Kubernetes per intervalli IP autorizzati del server API per limitare l'accesso del server API solo all'endpoint pubblico del firewall. Un'altra opzione consiste nell'aggiornare --api-server-authorized-ip-ranges
/-ApiServerAccessAuthorizedIpRange
per includere l'accesso a un computer client locale o all'intervallo di indirizzi IP da cui si sta esplorando il portale di Azure. Per consentire l'accesso, è necessario l'indirizzo IPv4 pubblico del computer. È possibile trovare questo indirizzo tramite l'interfaccia della riga di comando di Azure o i comandi di Azure PowerShell seguenti, oppure digitando "qual è l'indirizzo IP personale" nella barra di ricerca del browser.
Recuperare l'indirizzo IP usando il comando seguente:
CURRENT_IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
Aggiungere l'indirizzo IP all'elenco del servizio Azure Kubernetes approvato tramite il comando
az aks update
con il parametro--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
Passaggi successivi
Questo articolo ti ha spiegato come accedere alle risorse Kubernetes dal portale di Azure. Per altre informazioni, vedere Concetti di base relativi al servizio Azure Kubernetes (AKS).
Azure Kubernetes Service