Про те, як Plesk на KubeCon побував

Цього року Plesk вирішив відправити кількох людей на KubeCon – головну подію щодо Kubernetes у світі. Профільних конференцій у Росії на цю тему немає. Звичайно, про K8s у нас говорять, і всі його хочуть, але стільки компаній, що його практикують, в одному місці більше не збирається ніде. Я виявився одним із учасників, тому що працюю над платформою, заснованою на Kubernetes.

Про те, як Plesk на KubeCon побував

Про організацію

Масштаби конференції приголомшують: 7000 учасників, величезний виставковий центр. Перехід із одного залу в інший займав 5-7 хвилин. Одночасно йшло по 30 доповідей на різні теми. Було безліч компаній зі своїми стендами, на деяких розігрували багато непоганих і трохи відмінних призів, а також роздавали всяке у вигляді футболок, ручок та інших милих речей. Все спілкування було англійською мовою, але жодних труднощів я не зазнав. Якщо це єдиний чинник, через який ви не їдете на закордонні конференції, сміливо їдьте. Англійська в ІТ простіше звичайної англійської завдяки безлічі звичних слів, які щодня пишеш і читаєш у коді та документації. У сприйнятті доповідей також проблем не було. Інформації на думку було прошито дуже багато. До вечора я нагадував сервер, на якому скористалися переповненням буфера, і лили просто у підсвідомість.

Про доповіді

Я хочу коротко розповісти про доповіді, які найбільше сподобалися мені, і я рекомендував би їх подивитися.

Intro to CNAB: Packaging Cloud Native Applications with Multiple Toolchains — Chris Crone, Docker

Ця доповідь справила на мене належне враження тому, що натиснула на сильний біль. У нас багато розрізнених сервісів, їх підтримують та розробляють різні люди в команді. Ми слідуємо підходам інфраструктура як код, але є деякі невирішені проблеми. Є репозиторій з кодом на Ansible, але поточний стейт і інвентори зберігаються у розробника, що запускає скрипт, на машині, там же креди. Частину інформації можна знайти у confluence, але не завжди очевидно де. Нема місця, де можна просто натиснути кнопку, і стане добре. Пропонується зробити опис і покласти в репозиторій як код, а й інструменти деплою. Описати, де брати стейт та креди, робити make Install і насолоджуватися результатом. Я хотів би більше порядку в сервісах, стежитиму за релізами CNAB, використовувати у себе, впроваджувати, переконувати. Хороше лекало для оформлення Readme у ріпі.

Keep the Space Shuttle Flying: Writing Robust Operators - Illya Chekrygin, Upbound

Дуже багато інформації про граблі при написанні операторів. Вважаю доповідь обов'язковою для перегляду тим, хто зібрався написати свій оператор для Kubernetes. Там враховані всі речі на кшталт статусів, збору сміття, конкурентності та всього. Дуже змістовно. Сильно сподобалася цитата із коду persistent volumes Kubernetes'a:
Про те, як Plesk на KubeCon побував

The Kubernetes Control Plane for Busy People Who Like Pictures - Даніал Сміт, Google

K8s сповідує складність інтеграції для простоти реалізації.

Ця доповідь розкриває у деталях один із основних архітектурних елементів кластера — control plane, а саме набір контролерів. Описується їх роль та архітектура, базові засади створення власного контролера на прикладі вже існуючих.

Із найоригінальніших моментів — рекомендація не маскувати позаштатні ситуації за коректною поведінкою контролера, а змінювати поведінку певним чином, щоб дати сигнал системі виникнення проблем.

Running eBay's High-Performance Workloads with Kubernetes — Xin Ma, eBay

Дуже цікавий досвід, дуже багато інформації з рецептами про те, що потрібно врахувати, коли у тебе справді високе навантаження. У Kubernetes вони залізли добре, підтримують 50 кластерів. Розповіли про всі аспекти вичавлювання максимальної продуктивності. Рекомендую подивитися доповідь, перед прийняттям якихось технічних рішень щодо кластерів.

Grafana Loki: Як Prometheus, But for logs. - Tom Wilkie, Grafana Labs

Доповідь, після якої я зрозумів, що Loki потрібно обов'язково спробувати для ліг в кластері і, швидше за все, з ним залишитися. Суть: еластик важкий. Графана хотіла розробити легке масштабоване рішення, придатне для проблем. Рішення вийшло елегантним: Loki вибирає з Kubernetes мета інформацію (лейбли, як Prometheus), і на них розкладає логи. Таким чином, можна вибрати шматки лога за сервісом, знайти конкретний під, вибрати конкретний час, відфільтрувати за кодом помилки. Ці фільтри працюють без повнотекстового пошуку. Так, поступово звужуючи коло пошуку, можна дістатися конкретної потрібної помилки. Наприкінці пошук таки задіюється, але оскільки коло звужений, вистачає швидкості без індексування. Після натискання на неї підвантажується контекст - пара рядків до та пара рядків лога після. Таким чином, це виглядає як пошук файлу з логами і грипом по ньому, але трохи зручніше і в тому ж інтерфейсі, де метрики. Вміє рахувати кількість входжень пошукового запиту. Самі пошукові запити нагадують мову Прометея і виглядають просто. Доповідач звернув увагу на те, що рішення не дуже підходить для аналітики. Вкрай раджу подивитися всім, кому потрібні логи, дуже легка подача.

How Intuit Does Canary and Blue Green Deployments with K8s Controller — Daniel Thomson

Дуже наочно показані процеси канаркового та синьо-зеленого деплою. Раджу подивитися доповідь тим, хто ще не перейнявся цим. Доповідачі презентують рішення як розширення для перспективної CI-CD системи ARGO. Англійську мову доповідача з Росії легше слухати, ніж мова інших доповідачів.

Smarter Kubernetes Access Control: A Simpler Approach to Auth - Rob Scott, ReactiveOps

Одним із найскладніших аспектів управління кластером залишається налаштування безпеки, зокрема прав доступу до ресурсів. Вбудовані примітиви K8s дозволяють налаштувати авторизацію як завгодно. Як безболісно підтримувати їх у актуальному стані? Як розібратися з тим, що відбувається з правами доступу, та налагодити створені ролі? На цій доповіді представлено не лише огляд кількох інструментів налагодження авторизації в k8s, а й озвучено загальні рекомендації щодо побудови простих та ефективних політик.

Інші доповіді

Я рекомендувати не буду. Якісь були капітанськими, якісь, навпаки, дуже складними. Я раджу залізти ось у цей плейлист і подивитися все, що позначено як keynote. Це дозволить широким поглядом охопити індустрію навколо Cloud Native Apps, а далі варто натискати ctrl+f і шукати за ключовими словами, компаніями, продуктами і підходами.

Тут посилання на плейлист з доповідями, зверніть на неї увагу

Плейлист Youtube

Про стенди компаній

На стенді Haproxy мені подарували футболку для сина. Сумніваюся, що я через це заміню в продакшені Nginx на haproxy, але запам'ятав їх найсильніше. Хтозна, що з Nginx зроблять нові власники.

Про те, як Plesk на KubeCon побував
На стенді IBM усі три дні йшли короткі доповіді, і вони заманювали людей, розігруючи Oculus Go, навушники Beats та квадрокоптер. Потрібно було півгодини перебувати на стенді. Двічі за три дні випробовував долю — не випало. Також короткі доповіді були у VMWare та Microsoft.

На стенді Ubuntu зробив те, що, здається, робили все – сфотографувався із Шаттлвортом. Комунікабельний мужик, порадувався, дізнавшись, що я користуюсь її починаючи з 8.04 і що сервер з нею пропрацював 10 років без dist upgrade без єдиного розриву (правда без доступу до Інтернету).

Про те, як Plesk на KubeCon побував
Ubuntu пиляє свій MicroK8s - Fast, Light, Upstream Developer Kubernetes microk8s.io

Не зміг пройти повз втомлений Дмитро Столяров, поговорив з ним про нелегкі будні інженерів, які підтримують Kubernetes. Читання доповідей він делегуватиме своїм колегам, але готує якийсь новий формат подачі матеріалу. Закликав підписуватись на канал Фланта на youtube.

Про те, як Plesk на KubeCon побував
Дуже багато грошей в стенди вклали IBM, Cisco, Microsoft, VM Ware. Скромніші стенди були в опенсорсних товаришів. Поспілкувався на стенді із представниками Grafana, переконали мене – треба пробувати Loki. Взагалі, здається, що повнотекстовий пошук у системі логування потрібен лише для аналітики, а для трабблшутинга вистачить систем рівня Loki. Поспілкувався із розробниками Prometheus. Вони не планують робити довге сховище метрик та даунсемплінг даних. Радять дивитися cortex та thanos як засіб для вирішення. Дуже багато стендів, потрібен був цілий день, щоб оминути всіх. Десяток рішень для моніторингу як обслуговування. П'яток сек'юріті сервісів. П'яток перформанс сервісів. Десяток UI для Kubernetes. Багато тих, хто надає k8s як сервіс. Усі хочуть свій шматочок ринку.

Amazon та Google орендували дворики зі штучною травою на даху, поставили там шезлонги. Amazon роздавав гуртки та розливав лимонад, а на стенді розповідав про нововведення в роботі зі spot інстансами. Google видавав печиво з лого Kubernetes і зробив класну фотозону, а на стенді рибалив на велику enterprise рибу.

Про Барселону

Закоханий у Барселону. Я був там вдруге, вперше у 2012 році на оглядовій екскурсії. Це дивно, але багато фактів спливли в пам'яті, я багато зумів розповісти своїм колегам, був міні-гідом. Чисте морське повітря миттєво позбавило мене алергії. Смачні морепродукти, паелья, сангрія. Дуже тепла сонячна архітектура. Невелика поверховість, багато зелені. Ми пройшли пішки за ці три дні близько 50 кілометрів, цим містом хочеться гуляти ще й ще. Все це після доповідей, вечорами.

Про те, як Plesk на KubeCon побував
Про те, як Plesk на KubeCon побував
Про те, як Plesk на KubeCon побував

Що головне зрозумів

Я дуже радий, що я отримав можливість відвідати цю конференцію. Вона розклала по поличках те, що раніше було розкладено. Надихнула, зробила очевидними деякі речі.

Червоною ниткою пройшла думка: Kubernetes не кінцева точка, а інструмент. Платформа для створення платформ.

А головне завдання усієї движухи: збирати і запускати масштабовані програми

Основні напрямки, над якими працює співтовариство, викристалізувалися. Приблизно, як у свій час з'явилися 12 факторів для додатків, з'явився перелік того, що і як робити для інфраструктури загалом. Якщо хочете, можна назвати це трендами:

  • Dynamic environments
  • Public, hybrid і private clouds
  • Контейнери
  • Сервісна сітка
  • Мікросервіс
  • Immutable infrastructure
  • Декларативний API

Ці техніки дозволяють будувати системи з такими характеристиками:

  • Захищені від втрат даних
  • Еластичні (які підлаштовуються під навантаження)
  • Обслуговуються
  • Спостерігаються (три стовпи: monitoring, logging, tracing)
  • Ті, що мають можливість викочувати серйозні зміни, часто і передбачувано безпечно.

CNCF відбирає найкращі проекти (невеликий список) та топить за такі речі:

  • Здорова автоматизація
  • Відкритий код
  • Свобода у виборі постачальника послуг

Kubernetes складний. Він простий ідеологічно і частинами, але складний загалом. Ніхто не показав рішення all-in-one. На ринку k8s як сервісу, та й на решті ринку дикий захід: підтримку продають і за 50$, і за 1000$ на місяць. Кожен заглиблюється в якусь частину і копає її. Хтось у моніторинг та дашборди, хтось у продуктивність, хтось у безпеку.

K8S, все тільки починається!

Джерело: habr.com

Додати коментар або відгук