Огляд
Привіт усім, AWS Re: Invent завершився лише минулого тижня і оголосив про запуск EKS Auto Mode. EKS Auto Mode значно зменшує складність розгортання Kubernetes на AWS. Він спрощує управління кластером K8s для обчислювальних ресурсів, зберігання та мережевих ресурсів, починаючи від налаштування і закінчуючи обслуговуванням.
Що він надає?
- Чудовий вибір інстансів: Автоматично обирає оптимальні EC2 інстанси в залежності від вимог навантаження
- Безперервна оптимізація витрат: Динамічно підбирає розміри інстансів для мінімізації витрат на хмару
- Інтелектуальне масштабування: Автоматично налаштовує ресурси залежно від реального використання
- Комплексне управління мережею: Керує мережевими підключеннями подів, політиками сервісів та розподілом трафіку
- Автоматизоване обслуговування: Відповідає за патчі ОС, управління зберіганням та інтеграцію безпеки
Чому EKS Auto Mode?
Завдяки усуненню складних завдань з управління кластерами EKS, EKS Auto Mode дозволяє організаціям:
- Прискорити процес розробки.
- Зменшити загальний операційний навантаження.
- Сконцентруватися на інноваціях, замість того щоб хвилюватися про налаштування та управління кластером.
- Оптимізувати ресурси AWS.
Легко здійснити міграцію з Karpenter, EKS Managed Node Groups і EKS Fargate для розблокування більш ефективної екосистеми Kubernetes.
Як налаштувати?
Налаштування кластера:
- Відкрийте консоль AWS EKS.
- Виберіть ‘Auto Mode’
Попередня вимога: Потрібна версія Kubernetes 1.29 або новіша
Тепер натискайте кнопку створення, щоб отримати кластер EKS, готовий до виробництва, без необхідності турбуватися про будь-які файли маніфестів.
Архітектура пулу вузлів
Коли ви налаштовуєте EKS Auto Mode, ви знайдете два попередньо налаштовані пули вузлів:
1. Загальний пул вузлів
- Виконує звичайні робочі навантаження додатків
- Хостить контейнери, такі як веб-сервери, API та обробка даних
- Гнучке середовище для більшості бізнес-додатків
2. Пул вузлів для системи
- Виділений для критичних інфраструктурних компонентів
- Виконує важливі сервіси Kubernetes, такі як:
- CoreDNS
- Агенти журналювання
- Метрики сервери
- Мережеві плагіни
Перевірка
Перевірте ваші пули вузлів за допомогою команди:
$ kubectl get nodepools
Тепер ви можете розгорнути будь-який додаток за допомогою простого:
$ kubectl apply -f sample-deployment.yaml
Ці всі функції та налаштування дуже корисні для тих, хто є початківцями або хоче налаштувати кластер EKS без необхідності турбуватися про налаштування компонентів кластера, але є кілька недоліків, які, на мою думку, можуть зустріти досвідчені хмарні архітектори у цьому новому автоматичному режимі.
Розгортання додатків
Щойно додаток розгорнуто, Auto Mode починає діяти:
- Налаштовує зберігання, мережу та балансувальники навантаження.
- Автоматично надає обчислювальні вузли EKS.
- Моніторить робочі навантаження, щоб переконатися, що все працює належним чином.
- Крім того, кластер EKS автоматично масштабується вгору та вниз.
Недоліки
Незважаючи на численні переваги та зменшення витрат часу інженерів, я протестував автоматичний режим і виявив кілька недоліків:
- Auto Mode не має можливості безпосереднього доступу до вузлів у керованих NodePools. З метою безпеки та управління AWS обмежує доступ через SSH та AWS SSM.
Примітка: Для відлагодження або моніторингу робочих навантажень можна використовувати команди kubectl або AWS-незалежні сервіси, такі як Cloudwatch, консоль EKS тощо.
- Auto Mode значно залежить від Karpenter, який динамічно управляє обчислювальними ресурсами та обробляє розгортання та масштабування вузлів. Auto Mode використовує стандартні шаблони для розгортання інфраструктурних компонентів, таких як типи інстансів, томи та конфігурації вузлів. Спеціалізовані вимоги, як-от власні модулі ядра, нестандартні залежності часу виконання або робочі навантаження для GPU, можуть не співпадати з цими стандартними параметрами.
- EKS Auto Mode додає додаткові витрати на управління, залежно від тривалості та типу EC2 інстансів, які він запускає та керує.
Цей збір коштів додається до стандартних витрат на EC2 інстанси. - Неможливо безпосередньо змінювати NodePools через консоль AWS для вибору категорій інстансів, але можна використовувати власні мітки та конфігурації через API або команди CLI (eksctl) для налаштування типів інстансів для NodePool.
- Мережеву частину керується автоматично, такі як VPC і правила безпеки. Додатки, які вимагають налаштування власної мережі, наприклад статичні IP-адреси, можуть зіткнутися з проблемами, якщо ці налаштування будуть перезаписані під час оновлення вузлів або кластера.
Висновок
EKS Auto Mode робить розгортання ресурсів k8s простим процесом, з деякими обмеженнями, про які я згадував вище. Незалежно від того, чи запускаєте ви малий додаток, чи керуєте кількома кластерами EKS, цей режим значно полегшить вашу роботу. Тому обов'язково спробуйте та поділіться своїм досвідом!! 😃
Для створення через консоль - https://docs.aws.amazon.com/eks/latest/userguide/automode-get-started-console.html
Для налаштування через terraform —
https://github.com/terraform-aws-modules/terraform-aws-eks/tree/v20.31.6/examples/eks-auto-mode
Перекладено з: EKS AUTO MODE: IS IT GOOD?