Toegang tot Kubernetes-resources met behulp van Azure Portal
In dit artikel leert u hoe u uw AKS-resources (Azure Kubernetes Service) kunt openen en beheren met behulp van Azure Portal.
Voordat u begint
Als u Kubernetes-resources wilt weergeven in Azure Portal, hebt u een AKS-cluster nodig. Elk cluster wordt ondersteund, maar als u Microsoft Entra-integratie gebruikt, moet uw cluster gebruikmaken van door AKS beheerde Microsoft Entra-integratie. Als uw cluster gebruikmaakt van de verouderde Microsoft Entra-id, kunt u uw cluster upgraden in de portal of met de Azure CLI. U kunt azure Portal ook gebruiken om een nieuw AKS-cluster te maken.
Kubernetes-resources weergeven
Navigeer in Azure Portal naar uw AKS-clusterresource.
Selecteer Kubernetes-resources in het servicemenu. In de lijst met Kubernetes-resources worden de volgende categorieën weergegeven:
- Naamruimten bevatten informatie over de naamruimten van uw cluster.
- Workloads tonen informatie over implementaties, pods, replicasets, stateful sets, daemonsets, taken en cron-taken die zijn geïmplementeerd in uw cluster.
- Services en ingresses tonen alle service- en toegangsbeheerbronnen van uw cluster.
- Opslag toont uw Azure-opslagklassen en permanente volumegegevens.
- Configuratie toont de configuratietoewijzingen en geheimen van uw cluster.
- Aangepaste resources tonen aangepaste resources die zijn geïmplementeerd in uw cluster.
- Gebeurtenissen geven alle gebeurtenissen weer die betrekking hebben op uw cluster.
- Met de opdracht Uitvoeren kunt u opdrachten op afstand aanroepen, zoals
kubectl
enhelm
, op uw cluster via de Azure-API zonder rechtstreeks verbinding te maken met het cluster.
Een voorbeeldtoepassing implementeren
In deze sectie implementeren we de Azure Store-toepassing vanuit de AKS-quickstart.
Verbinding maken met uw cluster
Als u de Azure Store-toepassing wilt implementeren, moet u verbinding maken met uw AKS-cluster. Volg deze stappen om verbinding te maken met uw cluster met behulp van Azure Portal:
- Selecteer Verbinding maken op de pagina Overzicht van uw AKS-cluster.
- Volg de instructies om verbinding te maken met uw cluster met behulp van de opdracht Cloud Shell, Azure CLI of Uitvoeren.
De Azure Store-toepassing implementeren
Selecteer Services en ingresses in de lijst met Kubernetes-resources.
Selecteer Een YAML maken>.
Kopieer en plak de volgende YAML in de 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
Selecteer Toevoegen.
Zodra de toepassing is geïmplementeerd, ziet u de volgende services in de lijst Services :
- orderservice
- productservice
- rabbitmq
- winkel-front
Implementatie-inzichten bewaken
De bewakingsinvoegtoepassing inschakelen op uw AKS-cluster
AKS-clusters waarvoor Container Insights is ingeschakeld, hebben toegang tot verschillende implementatie-inzichten in Azure Portal. Als u bewaking niet hebt ingeschakeld voor uw cluster, kunt u deze inschakelen met behulp van de volgende stappen:
Selecteer Bewakingsinzichten>>configureren in het servicemenu van uw AKS-clusterresource.
Selecteer Configureren op de pagina Container Insights configureren.
Het kan enkele minuten duren voordat de bewakingsoplossing gegevens heeft geïmplementeerd en begint te verzamelen.
Implementatie-inzichten weergeven
- Selecteer Workloads in het servicemenu van uw AKS-clusterresource.
- Selecteer een implementatie in de lijst om implementatie-inzichten weer te geven, zoals CPU- en geheugengebruik.
Notitie
U kunt ook Bewakingsinzichten> selecteren om gedetailleerdere informatie over specifieke knooppunten en containers weer te geven.
Resources opschonen
Als u de Azure Store-toepassing niet meer nodig hebt, kunt u de services verwijderen om te voorkomen dat Azure-kosten in rekening worden gebracht.
- Selecteer Services en ingresses in de lijst met Kubernetes-resources.
- Selecteer de services die u wilt verwijderen en selecteer vervolgens Verwijderen.
Probleemoplossing
Onbevoegde toegang
Voor toegang tot de Kubernetes-resources hebt u toegang nodig tot het AKS-cluster, de Kubernetes-API en de Kubernetes-objecten. Zorg ervoor dat u een clusterbeheerder of een gebruiker bent met de juiste machtigingen voor toegang tot het AKS-cluster. Zie Toegangs- en identiteitsopties voor AKS voor meer informatie.
Resourceweergave inschakelen
Mogelijk moet u de Kubernetes-resourceweergave inschakelen voor bestaande clusters.
Tip
U kunt de AKS-functie voor geautoriseerde IP-adresbereiken van de API-server toevoegen om de toegang tot de API-server te beperken tot alleen het openbare eindpunt van de firewall. Een andere optie is het bijwerken van de --api-server-authorized-ip-ranges
/-ApiServerAccessAuthorizedIpRange
toegang tot een lokale clientcomputer of het IP-adresbereik van waaruit u door de Azure-portal bladert. Als u deze toegang wilt toestaan, hebt u het openbare IPv4-adres van de computer nodig. U vindt dit adres met behulp van de volgende Azure CLI- of Azure PowerShell-opdrachten, of u kunt zoeken in 'wat is mijn IP-adres' in uw browser.
Haal uw IP-adres op met behulp van de volgende opdracht:
CURRENT_IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
Voeg uw IP-adres toe aan de goedgekeurde AKS-lijst met behulp van de
az aks update
opdracht met de--api-server-authorized-ip-ranges
parameter.az aks update --resource-group <resource-group-name> --name <aks-cluster-name> --api-server-authorized-ip-ranges $CURRENT_IP/32
Volgende stappen
In dit artikel hebt u geleerd hoe u toegang krijgt tot Kubernetes-resources vanuit Azure Portal. Voor meer informatie over AKS, kernconcepten voor Azure Kubernetes Service (AKS).
Azure Kubernetes Service