Как да

Автомащабиране на Amazon EKS въз основа на клъстерни показатели

Автомащабиране на Amazon EKS въз основа на клъстерни показатели

Едно от многото предимства, които Kubernetes може да предложи, е автоматично мащабиране. Това позволява автоматично осигуряване на ресурси въз основа на трафика / търсенето. Тъй като търсенето на трафик се увеличава, се осигуряват повече ресурси и обратно. Kubernetes предлага три вида мащабиране:

Изпълнението на Kubernetes на AWS (EKS) предлага опция за мащабиране на вашите клъстерни възли въз основа на показатели от използването на ресурсите на клъстера ви. Тази статия ръководи читателя за конфигуриране на автоматично мащабиране въз основа на клъстерни показатели. Ще използваме показателя за използване на паметта на клъстерните възли, за да мащабираме нашите възли.

N / B: Това е възможно само на EKS клъстер с управлявана група възли (Provisioned Worker Nodes), а не на EKS Fargate клъстер. С Fargate няма нужда да предоставяте екземпляри за вашия клъстер, защото той осигурява изчислителен капацитет за вашите контейнери. Той също така автоматично се мащабира за вас, ресурси, базирани на изискванията за трафик.

Изисквания / предпоставки

Част 1: Създайте AWS EKS SNS Тема и абонаменти

Ще създадем две теми на SNS, Мащабиране и Мащабиране на теми и ще добавим абонаменти по имейл към темите. За това могат да се използват долупосочените шаблони за CloudFormation.

Мащабиране на тема и шаблон за абонаменти.

AWSTemplateFormatVersion: "2010-09-09" Описание: "Шаблон за създаване на тема и абонаменти на SNS" Параметри: Име: Тип: Описание на низа: Името на темата по подразбиране: EKS_CLUSTER_MEMORY_LESS_THAN_50 Ресурси: Email1Notification: Тип: AWS :: SNS :: Абонаментни свойства: Крайна точка: [имейл защитен] Протокол: имейл TopicArn: !Ref ScaleDownTopic Email2Notification: Тип: AWS :: SNS :: Абонаментни свойства: Крайна точка: [имейл защитен] Протокол: имейл TopicArn: !Ref ScaleDownTopic ScaleDownTopic: Тип: AWS :: SNS :: Свойства на темата: Етикети: - Ключ: Име Стойност: !Ref Name - Key: createdBy Value: Maureen Barasa - Key: Project Value: test-blog TopicName: !Ref Име на изхода: ScaleDown: Описание: Темата за намаляване на стойността Стойност: !Ref ScaleDownTopic Export: Име: "EKSScaleDown" Стойност: !Ref ScaleDownTopic

N / B: Потребителят трябва да персонализира шаблона. Имената на ресурси, крайни точки по имейл и етикети трябва да съответстват на специфичните изисквания на потребителя.

Мащабиране на тема и шаблон за абонаменти

AWSTemplateFormatVersion: "2010-09-09" Описание: "Шаблон за създаване на тема и абонаменти на SNS" Параметри: Име: Тип: Описание на низа: Името на темата по подразбиране: EKS_CLUSTER_MEMORY_MORE_THAN_70 Ресурси: Email1Notification: Тип: AWS :: SNS :: Абонаментни свойства: Крайна точка:  Протокол: имейл TopicArn: !Ref ScaleUpTopic Email2Notification: Тип: AWS :: SNS :: Абонаментни свойства: Крайна точка:  Протокол: имейл TopicArn: !Ref ScaleUpTopic ScaleUpTopic: Тип: AWS :: SNS :: Свойства на темата: Етикети: - Ключ: Име Стойност: !Ref Name - Key: createdBy Value:  - Ключ: Стойност на проекта:  TopicName: !Ref Име на изхода: ScaleUp: Описание: Темата за увеличаване на стойността Стойност: !Ref ScaleUpTopic Export: Име: "EKSScaleUp" Стойност: !Ref ScaleUpTopic

N / B: Потребителят трябва да персонализира шаблона. Имената на ресурси, крайни точки по имейл и етикети трябва да съответстват на специфичните изисквания на потребителя.

Под Изходи сме позволили нашите стойности да бъдат експортирани, за да можем да ги използваме в шаблона, който ще създаде алармите CloudWatch.

След като темите и абонаментите на SNS са създадени, отидете на дадените крайни точки по имейл и потвърдете абонамента. Вече сме готови да създадем политики за мащабиране и аларми в CloudWatch.

Част 2: Създайте политики за мащабиране и прикачете към вашия AWS EKS NodeGroup ASG

След това ще създадем две политики и ще ги прикачим към групата за автоматично мащабиране на групата възли на EKS. Използвайте долния шаблон за формиране на облак.

AWSTemplateFormatVersion: "2010-09-09" Описание: "създайте политика за мащабиране и я приложите към EKS ASG Group" Ресурси: ScaleDownPolicy: Тип: AWS :: AutoScaling :: ScalingPolicy Properties: AdjustmentType: "ChangeInCapacity" PolicyType: "SimpleScaling" Cooldown : "300" AutoScalingGroupName: "eks-ASG-GroupName" ScalingAdjustment: -2 ScaleUpPolicy: Type: AWS :: AutoScaling :: ScalingPolicy Properties: AdjustmentType: "ChangeInCapacity" PolicyType: "SimpleScaling" Cooldown: "300" AutoSameingGroup ASG-GroupName "МащабиранеРегулиране: 2 изхода: ScaleUp: Описание: Политика за увеличаване на стойност Стойност: !Ref ScaleUpPolicy Export: Име: "EKSScaleUpPolicy" Стойност: !Ref ScaleUpPolicy ScaleDown: Описание: Политика за намаляване на мащаба Стойност: !Ref ScaleDownPolicy Export: Име: "EKSScaleDownPolicy" Стойност: !Ref ScaleDownPolicy

Част 3: Създайте алармите AWS EKS CloudWatch

Накрая ще създадем алармите CloudWatch. Тук ще използваме стойности, създадени от горните шаблони. i.д. Темите на SNS и политиките за мащабиране.

На конзолата CloudWatch изберете аларми. След това щракнете върху създаване на аларми.

Създаване на аларма

Под Изберете метрика изберете „Статистика за контейнера”Пространство от имена, след което изберете по Име на клъстера. Под вашето име на EKS Cluster изберете node_memory_utilization метрика и щракнете върху изберете метрика. След това посочете метрични условия. За Период може да се избере период от минута до 1 ден. Времето е необходимо за анализ на метриката или израза за създаване на отделни точки от данни за аларма.

Посочете метрични условия

След това определяме условията за алармата. За първия случай ще създадем аларма, при която използването на паметта на възела е по-голямо от 70. Щракнете върху следващия.

Определете условията за аларма

След това конфигурираме действия, които да се предприемат при задействане на алармата. В нашия случай първото ни действие е да изпратим известие до съответната тема на SNS, създадена в част 1 по-горе. Например, когато средната стойност на използване на паметта е по-голяма от 70, тя трябва да изпрати известие до EKS_CLUSTER_MEMORY_MORE_THAN_70 Тема на SNS.

Конфигуриране на действия за аларма

Второто действие, което трябва да се предприеме, ще бъде мащабиране въз основа на политиките за мащабиране, дефинирани в част 2 на тази статия. Уверете се, че сте избрали EKS клъстерния възел, група за мащабиране. За алармата за високо използване на паметта изберете създадената политика за мащабиране и щракнете напред.

Изберете Действие за мащабиране

И накрая, създавате име и описание за алармите, както е показано по-долу, и щракнете върху следващия. След внимателна оценка на вашите конфигурации, вече можете да щракнете, да създадете аларма.

Създайте име и описание на алармата

Също толкова важно е да създадете алармата за ниско използване на паметта, следвайте същите стъпки, както по-горе. Този път се уверете, че за алармата, при определени условия, трябва да изберем съответната тема на SNS и политики за мащабиране. Например използвайте темата EKS_CLUSTER_MEMORY_LESS_THAN_50 SNS и политиката за намаляване на мащаба за мащабиране на действия.

Вече успешно конфигурирахте автоматично мащабиране на клъстера EKS с помощта на CloudWatch Alarms и SNS теми.

Създадените аларми за CloudWatch

Важни връзки:

Други ръководства за Kubernetes:

Щастлива сграда!!!

Как да добавите компютърен хост към oVirt виртуализация
Последните ни статии обхващаха инсталирането на oVirt Engine, използвайки двата стандартни метода - Специализиран екземпляр и използване на хостван дв...
Инсталирайте Quipucords / QPC на CentOS 8 | RHEL 8
В днешното ръководство ще ви преведа през инсталацията на Quipucords / QPC на CentOS 8 или RHEL 8 Linux сървър. Quipucords е инструмент, създаден, за ...
Стратегия за игрални автомати Как да подобрите шансовете си
Днес можете да играете на слот машини на места с тухли и хоросан, както и чрез бързо развиващата се екосистема на онлайн казиното, така че ако сте фен...