Доступ к ресурсам Kubernetes с помощью портал Azure
В этой статье вы узнаете, как получить доступ к ресурсам Служба Azure Kubernetes (AKS) и управлять ими с помощью портал Azure.
Подготовка к работе
Для просмотра ресурсов Kubernetes в портале Azure требуется кластер AKS. Любой кластер поддерживается, но если вы используете интеграцию Microsoft Entra, кластер должен использовать интеграцию Microsoft Entra под управлением AKS. Если в кластере используется устаревший идентификатор Microsoft Entra, вы можете обновить кластер на портале или с помощью Azure CLI. Кроме того, вы можете использовать портал Azure, чтобы создать новый кластер AKS.
Просмотр ресурсов Kubernetes
В портал Azure перейдите к ресурсу кластера AKS.
В меню службы выберите ресурсы Kubernetes. Список ресурсов Kubernetes отображает следующие категории:
- Пространства имен отображают сведения о пространствах имен кластера.
- Ресурс Рабочие нагрузки отображает сведения о развертываниях, модулях pod, наборах реплик, наборах с отслеживанием состояния, наборах демонов, заданиях и заданиях cron, развернутых в кластере.
- Ресурс Службы и входящий трафик показывают все службы и ресурсы входящего трафика кластера.
- Ресурс Хранилище отображает классы хранения Azure и сведения о постоянном томе.
- Ресурс Конфигурация отображает карты и секреты конфигурации кластера.
- Пользовательские ресурсы отображают все настраиваемые ресурсы , развернутые в кластере.
- События отображают все события, связанные с кластером.
- Команда run позволяет удаленно вызывать команды, такие как
kubectl
иhelm
в кластере, через API Azure без прямого подключения к кластеру.
Развертывание примера приложения
В этом разделе мы развернем приложение Магазина Azure из краткого руководства по AKS.
Подключение к кластеру
Чтобы развернуть приложение Магазина Azure, необходимо подключиться к кластеру AKS. Выполните следующие действия, чтобы подключиться к кластеру с помощью портал Azure:
- На странице обзора кластера AKS выберите "Подключиться".
- Следуйте инструкциям по подключению к кластеру с помощью Cloud Shell, Azure CLI или команды Run.
Развертывание приложения Магазина Azure
В списке ресурсов Kubernetes выберите службы и входящий трафик.
Выберите "Создать>применить YAML".
Скопируйте и вставьте следующий YAML в редактор:
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
Выберите Добавить.
После завершения развертывания приложения в списке служб отображаются следующие службы:
- order-service
- product-service
- rabbitmq
- store-front
Мониторинг аналитики развертывания
Включение надстройки мониторинга в кластере AKS
Кластеры AKS с поддержкой Container Insights могут получить доступ к различным аналитическим сведениям о развертывании в портал Azure. Если вы не включили мониторинг в кластере, его можно включить, выполнив следующие действия.
В меню службы ресурса кластера AKS выберите "Мониторинг>аналитики>" "Настройка мониторинга".
На странице "Настройка аналитики контейнеров" выберите "Настроить".
Для развертывания и начала сбора данных решение мониторинга может занять несколько минут.
Просмотр аналитических сведений о развертывании
- В меню службы ресурса кластера AKS выберите рабочие нагрузки.
- Выберите развертывание из списка для просмотра аналитических сведений о развертывании, таких как использование ЦП и памяти.
Примечание.
Вы также можете выбрать Аналитику мониторинга>, чтобы просмотреть более подробные сведения о конкретных узлах и контейнерах.
Очистка ресурсов
Если вам больше не нужен приложение Магазина Azure, вы можете удалить службы, чтобы избежать затрат На Azure.
- В списке ресурсов Kubernetes выберите службы и входящий трафик.
- Выберите службы, которые нужно удалить, и нажмите кнопку "Удалить".
Устранение неполадок
Несанкционированный доступ
Чтобы получить доступ к ресурсам Kubernetes, необходимо получить доступ к кластеру AKS, API Kubernetes и объектам Kubernetes. Убедитесь, что вы являетесь администратором кластера или пользователем с соответствующими разрешениями для доступа к кластеру AKS. Дополнительные сведения см. в разделе "Параметры доступа и удостоверения" для AKS.
Включение представление ресурсов
Возможно, потребуется включить представление ресурсов Kubernetes для существующих кластеров.
Совет
Вы можете добавить функцию AKS для авторизованных диапазонов IP-адресов сервера API, чтобы ограничить доступ сервера API только к общедоступной конечной точке брандмауэра. Другим вариантом является обновление --api-server-authorized-ip-ranges
/-ApiServerAccessAuthorizedIpRange
доступа к локальному клиентскому компьютеру или диапазону IP-адресов, из которого вы просматриваете портал Azure. Чтобы разрешить такой доступ, вам нужно знать общедоступный IPv4-адрес компьютера. Этот адрес можно найти с помощью следующих команд Azure CLI или Azure PowerShell или поиска "что такое мой IP-адрес" в браузере.
Получите IP-адрес с помощью следующей команды:
CURRENT_IP=$(dig +short myip.opendns.com @resolver1.opendns.com)
Добавьте IP-адрес в утвержденный список AKS с помощью
az aks update
команды с параметром--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
Следующие шаги
В этой статье показано, как получить доступ к ресурсам Kubernetes из портал Azure. Дополнительные сведения об AKS основные понятия для Служба Azure Kubernetes (AKS)
Azure Kubernetes Service