Введение
Использование ресурсов является важной частью любого приложения, работающего в кластере Kubernetes. С помощью мониторинга использования ресурсов вы можете выявить проблемы с производительностью, оптимизировать использование ресурсов и повысить общую эффективность своих приложений. В этом практическом занятии (lab) мы рассмотрим, как отображать использование ресурсов в кластере Kubernetes с помощью metrics-server. Мы будем рассматривать использование ЦП (CPU) и памяти (Memory).
Запустить кластер Minikube
Перед созданием ресурсов вам нужен работающий кластер Kubernetes. Minikube - это легковесная среда Kubernetes, которая работает на вашем локальном компьютере.
Перейдите в рабочую директорию:
Откройте терминал и перейдите в папку проекта по умолчанию:
cd /home/labex/projectЗапустите Minikube:
Запустите Minikube для инициализации кластера Kubernetes:
minikube start- Эта команда настраивает однодневный кластер Kubernetes на вашем локальном компьютере.
- В зависимости от производительности вашей системы запуск Minikube может занять несколько минут.
Проверьте, что Minikube запущен:
Проверьте статус кластера Minikube:
minikube status- Проверьте, чтобы компоненты, такие как
kubeletиapiserver, были перечислены какRunning(работающие). - Если кластер не запущен, запустите команду
minikube startснова.
- Проверьте, чтобы компоненты, такие как
Если у вас возникли проблемы при запуске Minikube, используйте minikube delete для сброса среды, если это необходимо.
Включить Metrics-Server
Metrics-server - это компонент Kubernetes, который собирает метрики от различных объектов Kubernetes и предоставляет их в удобном для использования формате для других компонентов Kubernetes. Прежде чем мы сможем отображать использование ресурсов в нашем кластере Kubernetes, нам нужно включить metrics-server.
minikube addons enable metrics-server
Эта команда включит metrics-server в вашем кластере Kubernetes.
Выполните следующую команду, чтобы проверить, запущен ли metrics-server:
kubectl get pods --namespace=kube-system | grep metrics-server
Отображение использования ЦП и памяти
Для отображения использования ЦП (CPU) и памяти (Memory) в кластере Kubernetes мы будем использовать команду kubectl top. Эта команда позволяет вам просматривать использование ресурсов объектов Kubernetes в режиме реального времени.
## Отобразить использование ЦП и памяти для всех подов в определенном пространстве имен
kubectl top pods --namespace=kube-system
## Отобразить использование ЦП и памяти для всех узлов в кластере
kubectl top nodes
Эта команда отобразит текущую статистику использования ЦП и памяти для всех подов в указанном пространстве имен или для всех узлов в кластере.
Отображение использования ЦП и памяти контейнера
Для отображения использования ЦП (CPU) и памяти (Memory) контейнеров, запущенных внутри подов, мы снова будем использовать команду kubectl top.
Создайте простой под, который будет использоваться в качестве шаблона для реплик. Создайте файл с именем myapp-pod.yaml в директории /home/labex/project/ со следующим содержимым:
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
spec:
containers:
- name: myapp-container
image: nginx
ports:
- containerPort: 80
Создайте под с помощью следующей команды:
kubectl apply -f myapp-pod.yaml
Затем используйте следующую команду для отображения использования ЦП и памяти определенного контейнера внутри пода:
kubectl top pod myapp-pod --namespace=default --containers=true
Эта команда отобразит текущую статистику использования ЦП и памяти для указанного контейнера внутри указанного пода.
Резюме
Поздравляем! Вы успешно завершили лабораторную работу "Отображение использования ресурсов в Kubernetes". В рамках этой лабораторной работы вы научились отображать статистику использования ресурсов ЦП (CPU) и памяти (Memory) в кластере Kubernetes. С помощью metrics-server вы теперь можете отслеживать использование ресурсов в своих приложениях, оптимизировать ресурсы и повысить общую эффективность приложений, запущенных в кластере Kubernetes.


