Что такое автомасштабирование Kubectl?
Автомасштабирование — это основная функция кластера Kubernetes, благодаря которой ресурсы автоматически обновляются без необходимости делать это вручную. Ручное обновление ресурсоемких ресурсов требует очень много времени и ресурсов. Автомасштабирование Kubernetes предоставляет автоматические средства для оптимизации ресурсов.
Автомасштабирование может создавать и уничтожать количество узлов в соответствии с требованиями. Автомасштабирование снижает потери ресурсов. Автомасштабирование Kubectl автоматически выбирает модули, которые в данный момент выполняются внутри кластера Kubernetes.
Существует два типа масштабирования: (1) HorizontalPodScaler и (2) вертикальное масштабирование. Горизонтальный масштабатор отличается от Вертикального масштабатора. HorizontalPodScaler помогает уменьшить или увеличить количество модулей, когда это необходимо. С другой стороны, вертикальное масштабирование использует такие ресурсы, как ЦП и память.
Вот все шаги, которые вы можете выполнить в своей системе, и посмотрите результат для лучшего понимания.
Шаг 1: Запуск кластера Minikube
На первом этапе запустите инструмент minikube для запуска кластера Kubernetes, чтобы мы могли выполнить команду «kubectl autoscale». Вы можете настроить свои узлы, модули и даже кластер в среде Kubernetes, используя кластер minikube. Для этого используйте следующую команду, чтобы миникуб оставался в активном режиме:
~$ запустить миникуб
Как видно на следующем снимке экрана, эта команда включает кластер minikube и делает среду Kubernetes пригодной для использования:
Шаг 2. Получите сведения о модуле
На этом этапе кластер Kubernetes успешно работает. Теперь мы получаем детали модуля в кластере. Pod в Kubernetes — это набор модулей, которые совместно используют ресурсы. Следующий сценарий выполняется путем запуска следующей команды в вашем кластере minikube:
~$ kubectl получить стручкиИспользуя предыдущую команду «kubectl get pods», мы можем получить список всех pod’ов, работающих в кластере Kubernetes.
После выполнения команды «get pods» мы получаем следующий вывод:
Шаг 3: Получите развертывание Pod
В предыдущей команде «kubectl get pods» мы получаем подробную информацию о pod’ах. Теперь мы используем команду «получить развертывание», чтобы получить список созданных развертываний. Для этого выполняется следующий скрипт:
~$ kubectl получить развертыванияПосле выполнения команды на следующем снимке экрана показан результат:
Шаг 4. Автоматическое масштабирование развертывания
Команда автомасштабирования используется для автоматического выбора модулей, работающих в кластере. Развернув автомасштабирование в кластере, мы автоматически вставляем и завершаем количество узлов. Следующий скрипт выполняется в кластере minikube и показывает имя файла, минимальное количество модулей и максимальное количество модулей, где количество модулей должно быть от 2 до 10:
~$ развертывание kubectl с автоматическим масштабированием nginx1-deployment1 --мин '=' 2 --Макс '=' 10После выполнения команды генерируется следующий вывод:
Шаг 5. Создайте YAML-файл Kubernetes
На этом этапе вы научитесь создавать файл YAML в кластере. Файл YAML полезен для развертывания и тестирования приложений. В Kubernetes существуют различные типы для создания и редактирования файла.
В этой статье мы используем команду «nano» для создания файла YAML, потому что это самый простой способ и лучший выбор для начинающих.
Выполните указанные здесь шаги, чтобы создать файл YAML с помощью nano:
- Чтобы создать новый файл или изменить существующий, перейдите в нужный каталог.
- Введите «нано». После этого напишите имя файла. Например, если вы хотите создать новое имя файла, запишите его — «deploo.yaml».
Запустите следующий скрипт и создайте файл YAML в каталоге проекта:
~$ нано deploo.yamlПосле создания файла «deploo.yaml» следующим шагом будет настройка файла YAML. Мы объясним это на следующем шаге.
Шаг 6: Содержимое файла YAML
На этом шаге мы можем легко настроить сервер Apache и файлы PHP. Прежде чем использовать HorizontalPodScaler, мы должны настроить монитор рабочей нагрузки. Как показано в следующем фрагменте кода, вид: развертывание, порт веб-браузера — 90, а ограничение ЦП — 200 м.
Вы можете увидеть полную информацию о файле «deploo.yaml» здесь:
версия API : приложения/v1добрый : Развертывание
метаданные :
имя : php
спец. :
селектор :
matchLabels :
бегать : php-apache
шаблон :
метаданные :
этикетки :
бегать : php-apache
спец. :
контейнеры :
- имя : php
изображение : реестр.k8s.io/hpa-пример
порты :
- контейнерПорт : 90
Ресурсы :
пределы :
Процессор : 200м
Запросы :
Процессор : 100м
---
версия API : v1
добрый : Услуга
метаданные :
имя : php
этикетки :
бегать : php-apache
спец. :
порты :
- порт : 70
селектор :
бегать : php-apache
Шаг 7: Создайте развертывание
На этом этапе давайте создадим файл YAML с именем «deploo.yaml». В кластере minikube выполняется следующий скрипт:
~$ kubectl create -f deploo.yamlВывод вышеупомянутой команды, которую мы выполнили, можно увидеть на следующем снимке экрана. Вывод показывает, что файл YAML создан:
Шаг 8: Создайте HorizontalPodScaler
На этом шаге мы покажем вам команду для создания HorizontalPodAutoscaler. Модули вставляются и отключаются автоматически в зависимости от спроса. Он отличается от вертикального масштабирования, при котором ресурсы ЦП и памяти назначаются автоматически. В кластере minikube выполняется следующий скрипт:
~$ развертывание kubectl с автоматическим масштабированием php -- Процессор - процент '=' пятьдесят -- мин '=' 10 -Макс '=' двадцатьЗдесь вы можете видеть, что мы установили значения для минимума и максимума на 10 и 20.
Прикреплен вывод предыдущей команды:
Шаг 9. Проверьте HorizontalPodScaler
На этом шаге мы проверяем текущий статус только что созданного HorizontalPodAutoscaler. Выполняется следующая команда:
~$ kubectl получить HPAЗаключение
Одной из самых полезных функций Kubernetes является «автомасштабирование kubectl», которое обеспечивает автоматическое обновление ресурсов в кластере Kubernetes. Автомасштабирование помогает, когда кластеру необходимо увеличить или уменьшить количество модулей. В этой статье мы изучили два метода автомасштабирования: один из них — автомасштабирование по умолчанию, а другой — HorizontalPodScaler.
Сначала мы развернули модули и объявили их. Затем мы создали средство автомасштабирования и настроили сервер Apache для развертывания монитора рабочей нагрузки перед развертыванием HorizontalPodScaler. После этого мы создали файл YAML и файл HorizontalPodScaler. В этой статье подробно рассматриваются этапы создания, настройки и развертывания Kubernetes с автоматическим масштабированием.