Тази година Plesk реши да изпрати няколко души на KubeCon — основното събитие по Kubernetes в света. В Русия няма тематични конференции по тази тема. Разбира се, говорят за K8s и всеки го иска, но толкова много компании, които го прилагат, не се събират на едно място никъде другаде. Аз се оказах един от участниците, защото работя по платформа, основана на Kubernetes.
За организацията
Мащабът на конференцията впечатлява: 7000 участници, огромен изложбен център. Преходът от една зала в друга отнемаше 5-7 минути. Паралелно вървяха по 30 доклада на различни теми. Имаше огромен брой компании с техните щандове, на някои от които раздаваха страхотни и малко отлични награди, както и различни неща като тениски, химикалки и други симпатични вещи. Всичкото общуване беше на английски език, но не срещнах никакви затруднения. Ако това е единственият фактор, заради който не отивате на чуждестранни конференции, спокойно се отправете. Английският в ИТ е по-лесен от обикновения английски заради множеството познати думи, които пишем и четем всеки ден в кода и документацията. Нямаше проблеми и в разбирането на докладите. Информацията, която получих, беше много. Към вечерта приличах на сървър, на който е постигнато препълване на буфера и информацията течеше направо в подсъзнанието ми.
За докладите
Искам накратко да разкажа за докладите, които ми харесаха най-много, и да ги препоръча за гледане.
Този доклад ми остави силно впечатление, тъй като натисна върху голяма болка. Имаме много разпокъсани услуги, които се поддържат и разработват от различни хора в екипа. Следваме принципите на инфраструктурата като код, но има някои нерешени проблеми. Има хранилище с код на Ansible, но текущото състояние и инвентара са на машината на разработчика, който стартира скрипта, заедно с кредите. Част от информацията може да се намери в Confluence, но не винаги е очевидно къде. Няма място, където просто да натиснете бутон и всичко да се оправи. Предлага се да се направи описание и да се остави в хранилището не само код, но и инструменти за разгръщане. Да се опише откъде да се взима състоянието и кредитите, да се прави make Install и да се наслаждаваме на резултата. Искам повече ред в услугите, ще следя версиите на CNAB, ще ги използвам, ще внедрявам, ще убеждавам. Добра шаблонна структура за оформлението на Readme в хранилището.
Има много информация за капаните при написването на оператори. Смятам, че докладът е задължителен за гледане от тези, които искат да напишат свой оператор за Kubernetes. Там са взети предвид всички неща, като статуси, събиране на боклук, конкурентност и всичко останало. Много съдържателно. Изключително ми хареса цитатът от кода на постоянните обеми на Kubernetes:
K8s проповядва сложността на интеграцията в името на простотата на реализиране.
Този доклад подробно разглежда един от основните архитектурни елементи на клъстера — контролния план, а именно набор от контролери. Описва тяхната роля и архитектура, основните принципи за създаване на собствен контролер, базиран на вече съществуващи.
От най-оригиналните моменти — препоръката да не maskирате нестандартни ситуации с коректното поведение на контролера, а да променяте поведението по някакъв начин, за да сигнализирате на системата за възникнали проблеми.
Много интересен опит, много информация с рецепти относно това, което трябва да се вземе предвид, когато имате наистина високо натоварване. В Kubernetes те влязоха добре, поддържат 50 клъстера. Разказаха за всички аспекти на извличането на максимална производителност. Препоръчвам да се гледа докладът преди приемането на каквито и да е технически решения за клъстерите.
Доклад, след който осъзнах, че Loki трябва задължително да се пробва за логовете в клъстера и вероятно ще остана с него. Същността: Elasticsearch е тежък. Grafana искаше да разработи леко и мащабируемо решение, подходящо за отстраняване на проблеми. Решението се оказа елегантно: Loki извлича мета информация от Kubernetes (етикети, подобно на Prometheus) и по тях разпределя логовете. Така, може да изберете части от лога по услуга, да намерите конкретен под, да зададете конкретно време и да филтрирате по код на грешка. Тези филтри работят без пълнотекстово търсене. Така, постепенно свивайки кръга на търсене, можете да стигнете до конкретната необходима грешка. В края на краищата търсенето все пак се активира, но тъй като кръгът е свит, скоростта е достатъчна без индексиране. При натискане на нея се зарежда контекст — няколко реда преди и няколко реда лог след. Така, това изглежда като търсене на файл с логове и grepping по него, но малко по-удобно и в същия интерфейс, където са метриките. Умее да брои количеството на срещанията на търсенето. Самите търсения приличат на езика на Prometheus и изглеждат просто. Докладчикът ни обърна внимание на това, че решението не е особено подходящо за аналитика. Изключително го препоръчвам на всички, които се нуждаят от логове, много лесна представа.
Изключително нагледно са показани процесите на канаречното и сине-зеленото разгръщане. Препоръчвам да се погледне докладът на тези, които все още не са се запознали с темата. Докладчиците представят решението под формата на разширение за перспективната CI-CD система ARGO. Английската реч на докладчика от Русия е по-лесна за слушане в сравнение с речите на останалите докладчици.
Един от най-сложните аспекти при управлението на клъстера остава настройката на сигурността, в частност правата на достъп до ресурсите. Вградените примитиви на K8s позволяват да се настрои удостоверяване по всякакъв начин. Как безболезнено да ги поддържате актуални? Как да разберете какво се случва с правата на достъп и да отстраните грешки в създадените роли? В този доклад е представен не само преглед на няколко инструмента за отстраняване на грешки в удостоверяването в k8s, но са споделени и общи препоръки за изграждане на прости и ефективни политики.
Други доклади
Не бих могъл да препоръчам. Някои бяха капитански, други пък изключително сложни. Препоръчвам ви да разгледате този плейлист и да видите всичко, което е обозначено като keynote. Това ще ви позволи да придобиете широк поглед върху индустрията около Cloud Native Apps, а след това трябва да натиснете ctrl+f и да търсите по интересуващите ви ключови думи, компании, продукти и подходи.
Тук е връзката към плейлиста с докладите, обърнете внимание на нея.
За щандовете на компаниите
На щанда на Haproxy ми подариха тениска за сина. Съмнявам се, че ще заменя Nginx с haproxy заради това, но те ми останаха най-силно в паметта. Кой знае какво ще направят новите собственици с Nginx.
На щанда на IBM в продължение на три дни се провеждаха кратки доклади, и те привличаха хора, разигравяйки Oculus Go, слушалки Beats и квадрокоптер. Трябваше да прекараме по половин час на щанда. Два пъти през трите дни опитах късмета си — не спечелих. Кратки доклади имаше и от VMWare и Microsoft.
На щанда на Ubuntu направих нещо, което, изглежда, всички правиха — снимах се със Шаттлворт. Общителен тип, радваше се да чуе, че я ползвам от 8.04 и че сървърът с нея работи вече 10 години без dist upgrade и без един единствен срив (вярно, без достъп до интернет).
Ubuntu разработва своя MicroK8s — Бърз, Лек, Upstream Developer Kubernetes
Не можех да мина покрай изморения Дмитрий Столяров, разговарях с него за трудните будни на инженерите, които поддържат Kubernetes. Четенето на докладите той ще делегира на своите колеги, но подготвя някакъв нов формат за представяне на материала. Призоваваше да се абонирате за канала на Фланта в youtube.
IBM, Cisco, Microsoft, VMWare инвестираха много средства в щандовете си. По-скромни бяха щандовете на опенсорсните колеги. Разговарях на щанда с представители на Grafana, убедиха ме — трябва да пробвам Loki. Всъщност, изглежда, че пълнотекстовото търсене в система за логиране е необходимо само за аналитика, а за решение на проблеми стига и системно ниво Loki. Разговарях с разработчиците на Prometheus. Те не планират да правят дългосрочно хранилище за метрики и да намалят данните. Препоръчват да се гледат cortex и thanos като средство за решаване. Имаше много щандове, необходим беше цял ден, за да обиколя всички. Десет решения за мониторинг като услуга. Пет секюрити услуги. Пет перформанс услуги. Десет UI за Kubernetes. Много компании, които предоставят k8s като услуга. Всички искат своя дял от пазара.
Amazon и Google наеха площадки с изкуствена трева на покрива, поставиха там шезлонги. Amazon раздаваше чаши и разливаше лимонада, а на щанда разказваше за нововъведенията в работата с spot инстанции. Google раздаваше сладки с логото на Kubernetes и направи страхотна фотозона, а на щанда ловеше голяма enterprise риба.
За Барселона
Влюбен в Барселона. Бях там втори път, първия път през 2012 година на обиколка. Удивително е, но много факти изплуваха в паметта ми, успях да разкажа много на колегите си, бях малък гид. Чистият морски въздух мигновено ме избави от алергията. Вкусни морски деликатеси, паеля, сангрия. Много топла, слънчева архитектура. Ниска етажност, много зеленина. През тези три дни изминахме пеша около 50 километра, в този град искаш да се разхождаш отново и отново. Всичко това след доклади, вечерите.
Какво най-важно разбрах
Много се радвам, че ми се предостави възможност да участвам в тази конференция. Тя подреди нещата, които преди това бяха без ред. Вдъхнови ме, направи някои неща очевидни.
Червената нишка минаваше през мисълта: Kubernetes не е финална точка, а инструмент. Платформа за създаване на платформи.
А основната задача на цялото движение: да събира и стартира мащабируеми приложения
Основните направления, по които работи общността, се кристализираха. Приблизително, както в свое време се появиха 12 фактора за приложения, се появи списък с това какво и как да се прави за инфраструктурата като цяло. Ако искате, можете да наречете това трендове:
- Динамични среди
- Обществени, хибридни и частни облаци
- Контейнери
- Сервизна мрежа
- Микросервизи
- Непроменима инфраструктура
- Декларативно API
Тези техники позволяват изграждането на системи с такива характеристики:
- Защитени от загуба на данни
- Еластични (приспособяващи се към натоварването)
- Обслужвани
- Наблюдаеми (три стълба: мониторинг, логване, проследяване)
- Които имат възможност да внедряват сериозни промени често и предсказуемо безопасно.
CNCF избира най-добрите проекти (малък списък) и подкрепя такива неща:
- Разумна автоматизация
- Отворен код
- Свобода в избора на предоставячи на услуги
Kubernetes е сложен. Идеологически той е прост и отделните му части също, но като цяло е сложен. Никой не е показал all-in-one решение. На пазара на k8s като услуга и на всичко останало, има див запад: поддръжката се продава както за 50$, така и за 1000$ на месец. Всеки се задълбочава в определена част и се копае в нея. Някой в мониторинга и дашбордовете, друг в производителността, трети в сигурността.
K8S, всичко едва сега започва!
Източник: habr.com
