EKS Auto Mode
Фон:
За тиждень до AWS re:Invent 2024, кілька моїх колег і я обговорювали найкращий спосіб інтеграції Karpenter, AWS Load Balancer та кількох інших CRD (Custom Resource Definitions) у наші AWS EKS кластери.
На AWS re:Invent я натрапив на сесію про EKS Auto Mode, і я навіть не уявляв, що ця сесія може стати важливим кроком у зміні того, як ми розгортаємо наші додатки.
Огляд:
Випуск EKS Auto Mode — це значний крок від AWS, який полегшує життя розробникам та хмарним архітекторам!
Може виникнути питання: Що саме приносить EKS Auto?
Коротка відповідь — все, що ви очікуєте.
Подивіться на модель спільної відповідальності, яка була у EKS раніше:
Модель спільної відповідальності AWS EKS
А тепер подивіться, як це виглядає з EKS Auto Mode:
Модель спільної відповідальності AWS EKS Auto Mode
Сподіваюся, ви чітко бачите різницю. Ось кілька основних моментів про EKS Auto Mode:
- Спрощене керування Kubernetes кластером:
Надає кластер, готовий до використання в продакшн з мінімальними зусиллями. Усі основні додатки вже встановлені. - Доступність та ефективність застосунку:
EKS Auto Mode динамічно додає та видаляє вузли у вашому EKS кластері, забезпечуючи його роботу з найбільш ефективними з точки зору вартості обчислювальними ресурсами. - Безпека та автоматичні оновлення/патчі:
Механізм SELinux забезпечує безпеку та надає лише права на доступ до кореневої файлової системи в режимі лише для читання. Тривалість життя кожного вузла не перевищує 21 день, після чого він перезапускається.
Технічні деталі:
Минули ті часи, коли потрібно було керувати всіма додатками та переживати через можливі проблеми в застосунку.
Тепер EKS Auto Mode керує усіма основними додатками, необхідними для вашого Kubernetes кластера, такими як Amazon VPC CNI plugin, coredns, kube-proxy, Amazon EBS CSI driver тощо.
Автоматичне налаштування Kubernetes Add Ons
Динамічне і ефективне масштабування для вашого кластеру застосунків.
Використовуючи можливості Karpenter v1.x, EKS Auto Mode масштабує Kubernetes кластер, забезпечуючи при цьому його економічну ефективність.
Безпечне середовище.
EKS Auto Mode використовує AMI Bottlerocket. Тривалість життя кожного вузла не перевищує 21 день, після чого вузли перезапускаються з урахуванням Pod Disruption Budgets (PDB) та NodePool Disruption Budgets (NDB). Також він допомагає підтримувати всі додатки актуальними.
Налаштовувані NodePools та NodeClasses:
Ви можете налаштовувати та створювати нові NodeClasses та NodePools. (Однак існує стандартний NodePool загального призначення, який не можна видалити.)
Чарівність Karpenter в EKS Auto
Load Balancer:
Не потрібно турбуватися про CRD для AWS Load Balancer. EKS Auto Mode все візьме на себе.
1. Створіть ingress і ingressClassParams для ALB
2.
Додайте специфікації у вашому сервісі для створення NLB.
Приклади налаштування різних Ingress/Service з LB:
ALB:
apiVersion: eks.amazonaws.com/v1
kind: IngressClassParams
metadata:
name: test-alb
spec:
scheme: internet-facing
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
name: test-alb
annotations:
# Використовуйте цю анотацію для того, щоб зробити IngressClass за замовчуванням
# Якщо Ingress не вказує клас, він буде використовувати клас за замовчуванням
ingressclass.kubernetes.io/is-default-class: "true"
spec:
# Налаштовує IngressClass для використання EKS Auto Mode
controller: eks.amazonaws.com/alb
parameters:
apiGroup: eks.amazonaws.com
kind: IngressClassParams
# Використовуйте ім'я IngressClassParams, яке вказано на попередньому етапі
name: test-alb
NLB:
apiVersion: v1
kind: Service
metadata:
name: testServer
annotations:
# Вказати схему балансувальника навантаження як internet-facing для створення публічного Network Load Balancer (NLB)
service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
spec:
selector:
app: testServer
ports:
- port: 80
targetPort: 8080
protocol: TCP
type: LoadBalancer
# Вказати новий клас балансувальника навантаження для NLB в рамках функції EKS Auto Mode
# Для кластерів з увімкненим Auto Mode, це поле можна не вказувати, оскільки воно є за замовчуванням
loadBalancerClass: eks.amazonaws.com/nlb
Висновок:
Після ретельного тестування EKS Auto Mode та розгортання кількох додатків на кластері, я вважаю, що це чудова технічна розробка з боку команди AWS.
Якщо у вас є питання щодо EKS Auto Mode, залишайте їх у коментарях.
Перекладено з: EKS Auto Mode: Transforming Efficiency and Automation in AWS EKS