[Tencent Cloud Finops Crane Training Camp] Установка и демонстрация гибкости EHPA

Со временем сокращение затрат и повышение эффективности стало новым лозунгом в деловом мире и организациях. В 2023 году этот слоган получил еще большее признание и значение, став ключевой целью многих организаций в их бизнес-операциях. В 2023 году многие организации начнут делать снижение затрат и повышение эффективности своей стратегической целью и интегрировать ее в культуру и рабочий процесс всей организации. Для этого требуются совместные усилия различных отделов и групп внутри организации, от высшего руководства до рядовых сотрудников, все они должны осознать важность снижения затрат и повышения эффективности и усердно работать для этого.
Существуют различные способы снижения затрат и повышения эффективности, одно из ключевых направлений — технологии и цифровая трансформация. Организации улучшают бизнес-процессы и операционную эффективность, внедряя новые технологии, цифровые инструменты и автоматизированные процессы. Например, используя расширенную аналитику данных и технологии искусственного интеллекта, организации могут лучше понимать и оптимизировать структуру затрат и выявлять потенциальные возможности экономии. В то же время применение облачных вычислений и технологий контейнеризации, таких как Kubernetes, также предоставляет новые возможности для снижения затрат и повышения эффективности, снижения затрат и повышения эффективности за счет оптимизации ресурсов и автоматизированного управления.
Итак, сегодня я познакомлю вас с Крейном .

Что такое кран?

Crane — это платформа для анализа облачных ресурсов и оптимизации затрат на основе FinOps. Его видение заключается в достижении предельного снижения затрат при условии обеспечения качества работы клиентских приложений.

Общая структура Crane выглядит следующим образом:

архитектура

Кран

Crane — это основной компонент Crane, который управляет жизненным циклом CRD и API. Craned развертывается через Deployment и состоит из двух контейнеров:

  • Craned: запускает Operators для управления CRD, предоставляет WebApi для Dashboard, а Predictors предоставляет API TimeSeries.
  • Dashboard: интерфейсный проект, разработанный на основе шаблонов TDesign Starter, обеспечивающий простые в использовании функции продукта.

Фадвизор

Fadvisor предоставляет набор биллинговых и биллинговых данных облачных ресурсов вычислительного кластера Exporter и сохраняет их в вашей системе мониторинга, такой как Prometheus. Fadvisor поддерживает API биллинга в нескольких облаках через Cloud Provider.

Метрический адаптер

Metric Adapter реализует Custom Metric Apiserver. Metric Adapter считывает информацию CRD и предоставляет данные HPA Metric на основе Custom/External Metric API.

Кран агент

Crane Agent развертывается на узлах кластера через DaemonSet.

Основные функции крана

Визуализация затрат и оценка оптимизации

  • Предоставьте набор биллинговых и биллинговых данных облачных ресурсов вычислительного кластера Exporter и сохраните их в своей системе мониторинга, например Prometheus.
    Многомерное понимание затрат и оптимизированная оценка. Поддержка мультиоблачного биллинга через облачного провайдера.
    Рекомендуемая структура

  • Предоставляет расширяемую структуру рекомендаций для поддержки анализа различных облачных ресурсов и имеет множество встроенных рекомендаций: рекомендации по ресурсам, рекомендации по репликам, рекомендации по HPA и рекомендации по бездействующим ресурсам.

Горизонтальный эластайзер на основе прогноза

EffectiveHorizontalPodAutoscaler обеспечивает устойчивость на основе прогнозирования. Он основан на HPA сообщества для лежащего в основе эластичного управления, поддерживает более богатые стратегии эластичных триггеров (прогнозирование, наблюдение, цикл), делает эластичность более эффективной и гарантирует качество обслуживания.

планировщик с учетом нагрузки

Динамический планировщик строит простую, но эффективную модель на основе фактического использования узлов и отфильтровывает высоконагруженные узлы для балансировки кластера.

Планировщик с учетом топологии

Crane Scheduler и Crane Agent работают вместе, чтобы поддерживать более точное планирование с учетом топологии ресурсов и несколько стратегий связывания ядер, которые могут решить «проблему шумных соседей» в сложных сценариях и сделать ресурсы более рациональными и эффективными.

Микширование на основе QOS

Возможности, связанные с QOS, обеспечивают стабильность подов, работающих в Kubernetes. Он имеет возможности обнаружения помех и активного предотвращения в условиях многомерного индекса, поддерживает точную работу и доступ к пользовательскому индексу; имеет расширенные алгоритмом прогнозирования возможности перепроданности эластичных ресурсов, повторно использует и ограничивает простаивающие ресурсы в кластере; имеет расширенные возможности управления обходом процессорного набора для улучшения эффективность использования ресурсов при привязке ядер.

Быстрый опыт:

Онлайн-демонстрация Crane Dashboard: http://dashboard.gocrane.io/

Установка и использование


Автономная простая версия (вид)

Адрес доступа к инструкции по эксперименту официального тренировочного лагеря:
https://www.aliyundrive.com/s/kn1bWt3ECah
Пакет сжатия для локального использования:
链接:https://pan.baidu.com/s/1KxtJlfvCSO0OynFKVUTdrA?pwd=7ec0 提取码:7ec0

Официальный предоставляет руководство по эксперименту для всех, используя один узел, развернутый Kind, что удобно для всех, чтобы быстро запустить эксперимент, и требуется только одна команда.

Запустите локальный кластер Kind и компоненты Crane.
Следующая команда установит Crane и его зависимости (Prometheus/Grafana).

curl -sf https://raw.githubusercontent.com/gocrane/crane/main/hack/local-env-setup.sh | sh -

export KUBECONFIG=${
    
    HOME}/.kube/config_crane
kubectl get deploy -n crane-system

kubectl -n crane-system port-forward service/craned --address 0.0.0.0 9090:9090

пользовательский кластер

Рекомендуется использовать версии до kubernetes v1.25, да и в инструкции по установке есть четкие подсказки
вставьте сюда описание изображения

изменить сценарий

wget https://raw.githubusercontent.com/gocrane/crane/main/hack/local-env-setup.sh

# 修改crane_kubeconfig变量为,原本是 config_crane
CRANE_KUBECONFIG="${
     
     HOME}/.kube/config"

# 注释掉68 69的kind命令

вставьте сюда описание изображения

Затем запустите скрипт напрямую, и окончательный эффект рендеринга будет таким, как показано на рисунке.
вставьте сюда описание изображения

Сопоставление портов

kubectl -n crane-system port-forward service/craned --address 0.0.0.0 9090:9090

вставьте сюда описание изображения

Умная устойчивость EHPA

EffectiveHorizontalPodAutoscaler (сокращенно EHPA) – это продукт эластичного масштабирования, предоставляемый Crane. Он основан на HPA сообщества в качестве базового элемента управления эластичностью, поддерживает более богатые стратегии триггеров эластичности (прогнозирование, наблюдение, цикл), делает эластичность более эффективной и гарантирует качество обслуживания. .

  • Расширение заблаговременно для обеспечения качества обслуживания. Прогнозируйте будущие пики трафика и заранее увеличивайте пропускную способность с помощью алгоритмов, чтобы избежать лавин и сбоев в стабильности обслуживания, вызванных несвоевременным расширением.
  • Сокращение недопустимого сокращения: предсказывая будущее, можно уменьшить ненужное сокращение, стабилизировать использование ресурсов рабочих нагрузок и устранить неправильные оценки.
  • Поддержка конфигурации Cron: поддержка эластичной конфигурации на основе Cron для работы с аномальными пиками трафика, такими как крупные рекламные акции.
  • Совместимость с сообществом: используя HPA сообщества в качестве исполнительного уровня гибкого управления, эта возможность полностью совместима с сообществом.

Презентация кейса

Этот случай представляет собой демонстрационный случай, предоставленный официальным лицом, который показывает, что по мере увеличения запроса нагрузка на ЦП будет постепенно увеличиваться.Благодаря EHPA он автоматически расширяет емкость, увеличивает или уменьшает Pod и поддерживает эластичность, эффективность и качество обслуживания.

Установить сервер метрик

kubectl apply -f installation/components.yaml
kubectl get pod -n kube-system

Создать тестовое приложение

Запустите развертывание с помощью следующей команды, чтобы запустить контейнер с образом hpa-example, а затем предоставить его как службу:

kubectl apply -f https://raw.githubusercontent.com/gocrane/crane/main/examples/autoscaling/php-apache.yaml
kubectl apply -f https://raw.githubusercontent.com/gocrane/crane/main/examples/analytics/nginx-deployment.yaml

Создать эффективный HPA

kubectl apply -f https://raw.githubusercontent.com/gocrane/crane/main/examples/autoscaling/effective-hpa.yaml

Выполните следующую команду, чтобы просмотреть текущий статус EffectiveHPA:

kubectl get ehpa

вставьте сюда описание изображения

генерировать нагрузку

kubectl run -i --tty load-generator --rm --image=busybox:1.28 --restart=Never -- /bin/sh -c "while sleep 0.01; do wget -q -O- http://php-apache; done"

вставьте сюда описание изображения

наблюдать

kubectl get hpa ehpa-php-apache --watch

Как видно из рисунка ниже, когда нагрузка трафика увеличивается, Ehpa автоматически расширяется, чтобы снизить нагрузку на целевое значение.Когда трафик прекращается, он автоматически сокращается, чтобы уменьшиться до MinPods для достижения эластичности, эффективности и высокой доступности.

вставьте сюда описание изображения

Подведем итог

Как новичок в k8s я случайно попал на это событие.Благодаря этому событию мне посчастливилось узнать о кранах и получить общее представление о функциях и характеристиках кранов.В то же время увеличение затрат и повышение эффективности действительно очень важный момент.Через панель инструментов Crane пользователи могут четко видеть использование и стоимость всего кластера kubernetes, а также могут управлять им с помощью правил, рекомендованных платформой, чтобы достичь требований по снижению затрат. В то же время я также использовал Steampipe.io . Его запрос стоимости немного похож на Fadvisor в gocrane, но с точки зрения конечной цели у Fadvisor, похоже, больше преимуществ. Comparator — это облачная мультиоблачная цена. компаратор, который может автоматически идентифицировать тип рабочей нагрузки платформы, разделенный на бессерверные и серверные рабочие нагрузки, и генерировать рекомендуемые спецификации ресурсов, и, наконец, дать разумную стратегию миграции и оптимизацию затрат.

Об учебном лагере Tencent Cloud Finops Crane:
Учебный лагерь Finops Crane предназначен в основном для разработчиков и направлен на улучшение практических навыков разработчиков в развертывании контейнеров и уровне K8s. отправляйте вопросы и отзывы об ошибках и т. д., а также проводите ряд технических мероприятий, таких как онлайн-трансляции в прямом эфире, формирование практической экспериментальной группы и отмеченные наградами эссе. Это не только позволит разработчикам получить более глубокое представление о проекте с открытым исходным кодом Finops Crane благодаря этому событию, но и поможет разработчикам получить существенный прирост навыков работы с облачными технологиями.
Чтобы поощрить разработчиков, мы специально создали задачи по накоплению баллов и обмену соответствующими подарками.

Доставка презентации мероприятия: https://marketing.csdn.net/p/038ae30af2357473fc5431b63e4e1a78

Проект с открытым исходным кодом: https://github.com/gocrane/crane

Supongo que te gusta

Origin blog.csdn.net/fly1574/article/details/130543332
Recomendado
Clasificación