На 24 ноември приключи Slurm Mega, интензивен курс за напреднали по Kubernetes.
Идеята на Slurm Mega: ние гледаме под капака на клъстера, анализираме на теория и практикуваме тънкостите на инсталирането и конфигурирането на готов за производство клъстер („не-толкова-лесният начин“), разглеждаме механизмите за осигуряване на сигурност и отказоустойчивост на приложенията.
Мега бонус: Тези, които преминат Slurm Basic и Slurm Mega, получават всички необходими знания, за да преминат изпита
Специални благодарности на Selectel за предоставянето на облак за практика, благодарение на който всеки участник работеше в свой собствен пълноценен клъстер и не трябваше да добавяме допълнителни 5 хиляди към цената на билета за това.
Slurm Мега. Първи ден.
В първия ден на Slurm Mega заредихме участниците с 4 теми. Павел Селиванов разказа за процеса на създаване на отказоустойчив клъстер отвътре, за работата на Kubeadm, както и за тестването и отстраняването на проблеми с клъстера.
Първа кафе пауза. Обикновено „учителски звънец“, но в Slurm, докато учениците пият кафе, учителите продължават да отговарят на въпроси.
И въпреки факта, че над главата на Павел Селиванов е надвиснал облакът „Break II“, съдбата му не е да излезе на почивка.
Сергей Бондарев и Марсел Ибраев чакат своя ред да излязат на амвона.
По време на почивката се приближих до Сергей Бондарев и попитах: „Какъв съвет бихте дали на всички инженери на Kubernetes въз основа на вашия опит в работата с клъстерите на нашите клиенти?“
Сергей даде проста препоръка: „Блокирайте достъпа от интернет до API сървъра. Тъй като от време на време има заплахи за сигурността, които позволяват на неоторизирани потребители да получат достъп до клъстера.»
След няколко минути и бутилка минерална вода, Павел Селиванов се впусна в битка със сянката на темата „Оторизация в клъстер с помощта на външен доставчик“, а именно LDAP (Nginx + Python) и OIDC (Dex + Gangway).
По време на следващата почивка Марсел Ибраев, говорител на Slurm, сертифициран администратор на Kubernetes, даде съветите си на инженерите на Kubernetes: „Ще кажа нещо на пръв поглед тривиално, но като се има предвид колко често се сблъсквам с това, имам подозрение, че не всеки го взема предвид. Не бива да вярвате сляпо на никакви инструкции от Интернет, които ще ви кажат колко страхотно работи това или онова решение. В контекста на Kubernetes това придобива специално значение. Тъй като Kubernetes е сложна система и добавянето на решение към нея, което не е тествано във вашия конкретен проект и вашата клъстерна инсталация, може да доведе до ужасни последици, въпреки факта, че са писали в интернет за неговата прохлада. Дори самият Kubernetes без балансиран подход може да навреди на вашия проект, „това, което е добро за руснака, е смърт за германеца“. Затова ние тестваме, проверяваме и тестваме всяко решение, преди да го внедрим сами. Само така ще вземете предвид всички нюанси, които могат да възникнат.".
След обяд Сергей Бондарев влезе в битката. Неговата тема е Мрежова политика, а именно въведение в CNI и политиката за мрежова сигурност.
Интернет е пълен със статии за мрежовата политика. Има мнение сред администраторите, че мрежовите правила могат да бъдат изоставени, но специалистите по сигурността наистина харесват този инструмент и изискват мрежовите правила да бъдат активирани.
Павел Селиванов пое кормилото на Kubernetes от Сергей Бондарев с темата „Сигурни и високо достъпни приложения в клъстер“. Той има любими теми: PodSecurityPolicy, PodDisruptionBudget, LimitRange/ResourceQuota.
Темата на Mega, която Павел говори на DevOpsConf:
След като казаха колко лесно може да бъде хакнат клъстер на Kubernetes, скептично настроените администратори казаха: „Да, казах ви, вашият Kubernetes е пълен с дупки.“ Павел обяснява, че е възможно да се конфигурира сигурността в клъстер и не е трудно, просто настройките за сигурност са деактивирани по подразбиране. Подробности в стенограмата
— Кой счупи клъстера? Той счупи клъстера! Виждам идеално от тук!
В Slurms никога всичко не е просто и лесно, за да не скучаете. Но този път Telegram реши да покаже на всички петата точка:
Марсель Ибраев, [22 нояб. 2019 г., 16:52:52]:
Коллеги, в данный момент наблюдаются сбои в работе Телеграм, имейте это ввиду
С това приключи първият ден, ярък и изпълнен с практически знания. На втория ден ще има още повече практика, стартиране на клъстер от база данни, използвайки PostgreSQL като пример, стартиране на RabbitMQ клъстер, управление на тайни в Kubernetes.
Slurm Мега. Втори ден.
Водещият започна втория ден с весел анонс: „На сутринта, както се изрази Павел вчера, ни очаква истински хардкор. На езика на хирурзите ще влезем в червата на Kubernetes!“
Масовият артист е друга история. Един от проблемите на Slurm е, че хората се изключват от информационното претоварване и заспиват. Винаги търсихме начин да направим нещо по въпроса и малките игри с публика се справиха добре на последния Slurm. Този път наехме специално обучен човек. В чата имаше много шеги за „интересни състезания“, но фактът остава, че никога не сме виждали толкова весели участници.
Те дойдоха на помощ на Марсел Ибраев - и той започна да изучава Stateful приложения в клъстера. А именно, стартиране на клъстер на база данни с помощта на PostgreSQL като пример и стартиране на клъстер RabbitMQ.
След обяд Сергей Бондарев започна работа по K8S. А темата беше „Пазене на тайни“. Мълдър и Скъли го покриваха. Изучава тайно управление в Kubernetes и Vault. А също и „Истината е някъде там“.
Което продължи до късно вечерта, когато Павел Селиванов започна да говори за Horizontal Pod Autoscaler
Slurm Мега. Третият ден.
Рязко и весело, още от сутринта, Сергей Бондарев разбуни публиката с резервно копие и възстановяване от провали. Проверих архивирането и възстановяването на клъстера с помощта на Heptio Velero и etcd лично.
Сергей продължи темата за годишната ротация на сертификати в клъстера: подновяване на сертификати за контролна равнина с помощта на kubeadm. Точно преди обяд, за да събуди апетита на участниците или напълно да го убие, Павел Селиванов повдигна темата за внедряването на приложението.
Бяха разгледани шаблони и инструменти за внедряване, както и стратегии за внедряване.
Павел Селиванов говори за нова тема: Service Mesh, Istio монтаж. Темата се оказа толкова богата, че можете да направите отделен интензивен курс по нея. Обсъждаме планове, очаквайте съобщения.
Основното е, че всичко работи правилно. Защото е време за практика:
изграждане на CI/CD за едновременно стартиране на внедряване на приложение и актуализация на клъстера. В образователните проекти всичко работи добре. А животът понякога е пълен с изненади.
Нека Slurm бъде с вас!
Източник: www.habr.com