В этой статье вы узнаете, как получить доступ к ресурсам службы Azure Kubernetes Service (AKS) и управлять ими с помощью портала Azure.
Чтобы просмотреть ресурсы Kubernetes в портале Azure, вам необходим кластер AKS. Поддерживается любой кластер, но если вы используете интеграцию Microsoft Entra, ваш кластер должен использовать управляемую AKS интеграцию Microsoft Entra. Если ваш кластер использует устаревший Microsoft Entra ID, вы можете обновить его в портале или с помощью Azure CLI. Вы также можете использовать портал Azure для создания нового кластера AKS.
Просмотр ресурсов Kubernetes
In the Azure portal, navigate to your AKS cluster resource.
В меню сервиса выберите ресурсы Kubernetes. Список ресурсов Kubernetes отображает следующие категории:
-
Именованные пространства показывают информацию о пространстах имен вашего кластера.
-
Рабочие нагрузки показывают информацию о развертываниях, подах, наборах реплик, состояниях, наборах демонов, заданиях и кроновых заданиях, развернутых в вашем кластере.
-
Сервисы и входы отображает все ресурсы сервисов и входов вашего кластера.
-
Хранилище показывает ваши классы хранилища Azure и информацию о постоянных объемах.
-
Configuration показывает карты конфигурации и секреты вашего кластера.
-
Пользовательские ресурсы показывают любые пользовательские ресурсы, развернутые в вашем кластере.
-
События отображает все события, связанные с вашим кластером.
-
Run command позволяет вам удаленно запускать команды, такие как
kubectl
и helm
, на вашем кластере через Azure API без прямого подключения к кластеру.
Развернуть примерное приложение
В этом разделе мы развернем приложение Azure Store из быстрого старта AKS.
Подключитесь к вашему кластеру
Чтобы развернуть приложение Azure Store, необходимо подключиться к вашему кластеру AKS. Следуйте этим шагам, чтобы подключиться к вашему кластеру через портал Azure:
- На странице Обзор вашего кластера AKS выберите Подключить.
- Следуйте инструкциям для подключения к вашему кластеру с помощью Cloud Shell, Azure CLI или Run command.
Развернуть приложение Azure Store
Из списка ресурсов Kubernetes выберите Сервисы и Ingress.
Выберите Создать>Применить 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
Select Add.
Как только приложение завершит развертывание, вы увидите в списке Services следующие службы:
-
order-service
-
product-service
-
rabbitmq
-
витрина магазина
Monitor deployment insights
Включите дополнение для мониторинга в вашем кластере AKS.
Кластеры AKS с включённым Container Insights могут получить доступ к различным сведениям о развёртывании в портале Azure. Если в вашем кластере не включено мониторинг, вы можете его включить, следуя следующим шагам:
В меню сервиса вашего ресурса кластера AKS выберите Мониторинг>Аналитика>Настроить мониторинг.
На странице Настроить Container Insights выберите Настроить.
Возможно, потребуется несколько минут, чтобы решение для мониторинга развернулось и начало собирать данные.
Просмотр аналитики развертывания
- В меню сервиса вашего ресурса кластера AKS выберите Рабочие нагрузки.
- Выберите развертывание из списка, чтобы просмотреть информацию о развертывании, такую как использование CPU и памяти.
Примечание
Вы также можете выбрать Мониторинг>Аналитика, чтобы просмотреть более подробную информацию о конкретных узлах и контейнерах.
Если вам больше не нужно приложение Azure Store, вы можете удалить службы, чтобы избежать затрат на Azure.
- В списке Kubernetes resources выберите Services and ingresses.
- Выберите службы, которые вы хотите удалить, затем выберите Удалить.
Чтобы получить доступ к ресурсам 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)
Add your IP address to the AKS approved list using the az aks update
command with the --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
Retrieve your IP address using the following command:
$CURRENT_IP = (Invoke-RestMethod -Uri http://ipinfo.io/json).ip
Добавьте свой IP-адрес в список утверждённых AKS, используя команду Set-AzAksCluster
с параметром -ApiServerAccessAuthorizedIpRange
.
Set-AzAksCluster -ResourceGroupName <resource-group-name> -Name <aks-cluster-name> -ApiServerAccessAuthorizedIpRange $CURRENT_IP/32
В этой статье показано, как получить доступ к ресурсам Kubernetes через портал Azure. Для получения дополнительной информации об AKS см. Основные концепции для Azure Kubernetes Service (AKS).