Uzyskiwanie dostępu do zasobów platformy Kubernetes przy użyciu witryny Azure Portal
Z tego artykułu dowiesz się, jak uzyskiwać dostęp do zasobów usługi Azure Kubernetes Service (AKS) i zarządzać nimi przy użyciu witryny Azure Portal.
Zanim rozpoczniesz
Aby wyświetlić zasoby platformy Kubernetes w witrynie Azure Portal, potrzebny jest klaster usługi AKS. Każdy klaster jest obsługiwany, ale jeśli korzystasz z integracji z firmą Microsoft Entra, klaster musi korzystać z integracji firmy Microsoft Entra zarządzanej przez usługę AKS. Jeśli klaster używa starszego identyfikatora Microsoft Entra ID, możesz uaktualnić klaster w portalu lub za pomocą interfejsu wiersza polecenia platformy Azure. Możesz również użyć witryny Azure Portal do utworzenia nowego klastra usługi AKS.
Wyświetlanie zasobów platformy Kubernetes
W witrynie Azure Portal przejdź do zasobu klastra usługi AKS.
Z menu usługi wybierz pozycję Zasoby kubernetes. Lista zasobów platformy Kubernetes zawiera następujące kategorie:
- Przestrzenie nazw zawierają informacje o przestrzeniach nazw klastra.
- Obciążenia zawierają informacje o wdrożeniach, zasobnikach, zestawach replik, zestawach stanowych, zestawach demonów, zadaniach i zadaniach cron wdrożonych w klastrze.
- Usługi i ruch przychodzący pokazują wszystkie zasoby usługi i ruchu przychodzącego klastra.
- Usługa Storage przedstawia klasy magazynu platformy Azure i trwałe informacje o woluminie.
- Konfiguracja przedstawia mapy konfiguracji klastra i wpisy tajne.
- Zasoby niestandardowe zawierają wszystkie zasoby niestandardowe wdrożone w klastrze.
- Zdarzenia pokazują wszystkie zdarzenia związane z klastrem.
- Uruchom polecenie umożliwia zdalne wywoływanie poleceń, takich jak
kubectl
ihelm
, w klastrze za pośrednictwem interfejsu API platformy Azure bez bezpośredniego nawiązywania połączenia z klastrem.
Wdrażanie przykładowej aplikacji
W tej sekcji wdrożymy aplikację ze Sklepu Azure z przewodnika Szybki start usługi AKS.
Nawiązywanie połączenia z klastrem
Aby wdrożyć aplikację sklepu Azure Store, musisz nawiązać połączenie z klastrem usługi AKS. Wykonaj następujące kroki, aby nawiązać połączenie z klastrem przy użyciu witryny Azure Portal:
- Na stronie Przegląd klastra usługi AKS wybierz pozycję Połącz.
- Postępuj zgodnie z instrukcjami, aby nawiązać połączenie z klastrem przy użyciu usługi Cloud Shell, interfejsu wiersza polecenia platformy Azure lub uruchom polecenie.
Wdrażanie aplikacji ze sklepu Azure Store
Z listy Zasobów platformy Kubernetes wybierz pozycję Usługi i ruch przychodzący.
Wybierz pozycję Utwórz>zastosuj plik YAML.
Skopiuj i wklej następujący kod YAML do edytora:
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
Wybierz Dodaj.
Po zakończeniu wdrażania aplikacji na liście Usługi zostaną wyświetlone następujące usługi:
- order-service
- product-service
- rabbitmq
- store-front
Monitorowanie szczegółowych informacji o wdrożeniu
Włączanie dodatku do monitorowania w klastrze usługi AKS
Klastry AKS z włączoną usługą Container Insights mogą uzyskiwać dostęp do różnych szczegółowych informacji dotyczących wdrażania w witrynie Azure Portal. Jeśli w klastrze nie włączono monitorowania, możesz ją włączyć, wykonując następujące czynności:
Z menu usługi zasobu klastra usługi AKS wybierz pozycję Monitorowanie>szczegółowych informacji>Skonfiguruj monitorowanie.
Na stronie Konfigurowanie usługi Container Insights wybierz pozycję Konfiguruj.
Wdrożenie rozwiązania do monitorowania i rozpoczęcie zbierania danych może potrwać kilka minut.
Wyświetlanie szczegółowych informacji o wdrożeniu
- Z menu usługi zasobu klastra usługi AKS wybierz pozycję Obciążenia.
- Wybierz wdrożenie z listy, aby wyświetlić szczegółowe informacje dotyczące wdrażania, takie jak użycie procesora CPU i pamięci.
Uwaga
Możesz również wybrać pozycję Szczegółowe informacje dotyczące monitorowania>, aby wyświetlić bardziej szczegółowe informacje o określonych węzłach i kontenerach.
Czyszczenie zasobów
Jeśli nie potrzebujesz już aplikacji ze sklepu Azure Store, możesz usunąć usługi, aby uniknąć ponoszenia kosztów platformy Azure.
- Z listy Zasobów platformy Kubernetes wybierz pozycję Usługi i ruch przychodzący.
- Wybierz usługi, które chcesz usunąć, a następnie wybierz pozycję Usuń.
Rozwiązywanie problemów
Nieautoryzowany dostęp
Aby uzyskać dostęp do zasobów platformy Kubernetes, potrzebujesz dostępu do klastra AKS, interfejsu API Kubernetes i obiektów Kubernetes. Upewnij się, że jesteś administratorem klastra lub użytkownikiem z odpowiednimi uprawnieniami dostępu do klastra usługi AKS. Aby uzyskać więcej informacji, zobacz Opcje dostępu i tożsamości dla usługi AKS.
Włączanie widoku zasobów
Może być konieczne włączenie widoku zasobów kubernetes dla istniejących klastrów.
Napiwek
Możesz dodać funkcję AKS dla autoryzowanych zakresów adresów IP serwera interfejsu API, aby ograniczyć dostęp serwera interfejsu API tylko do publicznego punktu końcowego zapory. Inną opcją jest zaktualizowanie --api-server-authorized-ip-ranges
/-ApiServerAccessAuthorizedIpRange
elementu w celu uwzględnienia dostępu dla lokalnego komputera klienckiego lub zakresu adresów IP, z którego przeglądasz witrynę Azure Portal. Aby zezwolić na ten dostęp, potrzebny jest publiczny adres IPv4 komputera. Ten adres można znaleźć przy użyciu następujących poleceń interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell albo wyszukać "jaki jest mój adres IP" w przeglądarce.
Pobierz swój adres IP przy użyciu następującego polecenia:
CURRENT_IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
Dodaj swój adres IP do listy zatwierdzonych przez usługę AKS przy użyciu
az aks update
polecenia z parametrem--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
Następne kroki
W tym artykule pokazano, jak uzyskać dostęp do zasobów platformy Kubernetes z witryny Azure Portal. Aby uzyskać więcej informacji na temat usługi AKS, podstawowe pojęcia dotyczące usługi Azure Kubernetes Service (AKS).
Azure Kubernetes Service