Предвид цялата сложност, която стои в основата му, е много трудно и скъпо за една организация да хоства и поддържа клъстер Kubernetes и да изпълнява своите приложения върху него. Ако не се занимавате с експлоатация на клъстери Kubernetes, може да искате да използвате услугата на Elastic Kubernetes (EKS) на Amazon за разгръщане на вашите приложения. Това значително ще намали разходите за работа и можете да бъдете спокойни, знаейки, че опитните разработчици и оператори са отговорни за това.
Предпоставки
- AWS акаунт с конзолен достъп и подходящи разрешения. Свържете се с AWS оператора на вашата фирма, за да получите съответните привилегии.
- Потребител на AWS IAM с програмен достъп. Ще действаме като този потребител, когато контролираме нашия клъстер Kubernetes. Ето как можете да инсталирате и конфигурирате AWS CLI за акаунта, под който ще бъде създаден EKS клъстер.
- Основно разбиране за Kubernetes
Създаване на клъстер Kubernetes
Можете да създадете клъстера и чрез CLI, но повечето нови потребители биха намерили графичната конзола по-приятелска. Затова вместо това ще използваме това. Ако приемем, че сте влезли във вашата AWS конзола, можем да започнем, като отидем на Услуги от горния десен ъгъл и щракване върху EKS от падащото меню:
Следващото меню ще покаже входната страница на AWS, нека отидем на Клъстери опция под подменюто EKS.
Тук можете да видите списъка с всички клъстери Kubernetes, създадени под вашия акаунт. Тъй като няма такъв, нека създадем такъв.
Кликнете върху Създаване на клъстер. Дайте му име, изберете версията на Kubernetes, която искате, към момента на писане на версия 1.11 се поддържа от Amazon. След това кликнете върху Име на ролята, защото трябва да създадем роля, която трябва да предоставим на Amazon EKS, за да може да управлява нашия клъстер.
Създаване и присвояване на роля
Преди да започнем с това, нека разберем ключова разлика между Amazon EKS (AWS услуга) и вашия клъстер Kubernetes На AWS. AWS разделя отговорностите навсякъде, където може, за да ви даде много фин контрол над всичко. Ако искате да дадете на себе си или на трета страна пълен контрол над тези ресурси, можете да направите и това.
Мисля за Amazon EKS като една такава страна, която ще управлява вашия клъстер Kubernetes (вашия EKS клъстер) от ваше име, но изисква вашето изрично разрешение да направи точно това. За целта ще „създадем“ и ще присвоим Роля за управление на EKS клъстери под нашия AWS акаунт и го присвояваме на Amazon EKS.
В новия раздел на IAM, който се отвори след щракване върху името на ролята, ще видите няколко роли по подразбиране за фактуриране и поддръжка вече са на място. Нека създадем нов за EKS. Кликнете върху Създаване на роля.
Изберете типа доверен обект като AWS услуга, за която ще бъде създадена ролята и след това изберете EKS, за да може вашият EKS клъстер да може да говори директно с Amazon EKS директно и се представете оптимално. След това щракнете Следващия.
Сега ще можете да видите разрешенията и границите на разрешенията, свързани с тази роля. Стойностите по подразбиране са наред, просто кликнете върху следващата.
Следващото меню ще ви подкани да добавите тагове (двойки ключ-стойност) към тази роля. Това е напълно незадължително, но доста полезно, ако използвате CLI за управление на вашите ресурси на AWS и има много различни роли и ресурси за управление. Няма да добавяме никакви маркери, щракнете Следващия и дайте на ролята си смислено име и описание.
И това е! Кликване върху Създаване на роля и можем да се върнем към създаването на нашия EKS клъстер. Следващият път, когато искате да създадете друг клъстер, можете да използвате тази същата роля отново.
Обратно към създаването на клъстери
Дори ако акаунтът ви в AWS е съвсем нов, все още има VPC по подразбиране (Виртуален частен облак) с няколко подмрежи, създадени в него. Те често се разпространяват в различни региони на AWS и трябва да изберете поне два от тях, за да бъде клъстер.
И изберете групата по подразбиране за защита, за да позволите на повечето входящи и изходящи трафик да вървят нормално.
Кликнете върху Създайте и вашият клъстер Kubernetes ще работи и работи за минути. След като вашият клъстер е създаден. Винаги можете да получите общ преглед, като отидете на EKS → Клъстер → myCluster. Разбира се, последната част, името на вашия клъстер ще бъде различно.
Локална настройка
Начинът на работа на платформата EKS е, че ви позволява да взаимодействате с контролната равнина в крайната точка на API на самолета. Контролната равнина е еквивалентна на главните възли във ванилови клъстери Kubernetes. Той изпълнява etcd, CA и разбира се API сървъра, който ще използвате за управление на вашия клъстер Kubernetes.
Ще трябва да конфигурирате вашия kubectl и / или таблото ви за управление с тази крайна точка на API и след като това бъде настроено, можете да започнете да изброявате всичките си ресурси, разполагания и т.н., както бихте направили с обикновен клъстер Kubernetes.
Ако все още нямате инсталиран Kubectl на вашия компютър, можете да го направите, като следвате тази връзка за Mac, Windows или любимото ви дистрибуция на Linux.
Ще ни трябва допълнителен двоичен файл, който би бил двоичен файл за удостоверяване на AWS IAM за вашата платформа. Изтеглете го от тук и го направете изпълним.
$ sudo chmod + x ./ aws-iam-удостоверителДобавете го към една от папките си $ PATH, например / usr / bin или / sbin или / usr / local / sbin. Или можете да направите както Amazon препоръчва и просто да го добавите към вашата домашна директория и да направите $ HOME част от вашата променлива PATH.
$ cp ./ aws-iam-удостоверител $ HOME / bin / aws-iam-authentication &&износ PATH = $ HOME / bin: $ PATH
Следващ тест дали двоичните файлове работят.
$ kubectl версияПомощ за $ aws-iam-удостоверител
Сега трябва да конфигурираме тези двоични файлове, за да могат те да говорят сигурно с нашия клъстер Kubernetes. Можете да го направите ръчно, ако не искате да настроите AWS CLI, но това не е надежден подход. Ето защо споменах в предпоставките, че AWS CLI е необходим. И така, ако приемем, че сте го инсталирали и конфигурирали да работи с вашия акаунт в AWS, изпълнете следната команда:
Забележка: Ако вече сте използвали kubectl за управление на друг клъстер Kubernetes, с конфигурационните файлове по подразбиране ~ /.кубе местоположение. Може да искате да архивирате тази папка, преди да изпълните следната команда.
$ aws eks update-kubeconfig --name myClusterИмето на вашия клъстер ще се различава от „myCluster ", замести това вместо това. Командата update-kubeconfig действително ще актуализира вашата конфигурация kubectl чрез редактиране на файловете в ~ /.кубе папка. Ако това местоположение не съществува, то ще създаде ново за вас.
Сега сте готови да взаимодействате с вашия клъстер.
$ Aws eks description-cluster --name myClusterКъде следва?
Сега най-накрая сте готови да добавите работни възли с помощта на CloudFormation и да разгърнете приложението си във всички региони, до които VPC на клъстера има достъп. Целият този процес също може да бъде автоматизиран до nти степен, ако решите да използвате AWS CLI за всичко, от създаването на клъстера до внедряването и мащабирането на вашите приложения.
Надявам се, че този урок ви е бил полезен и проницателен.