24 листопада закінчився Слерм Мега, просунутий інтенсивність Kubernetes.
Ідея Сльорма Мега: заглядаємо під капот кластера, розбираємо в теорії та на практиці тонкощі установки та конфігурації production-ready кластера («the-not-so-easy-way»), розглядаємо механізми забезпечення безпеки та відмовостійкості додатків.
Бонус Меги: ті, хто проходить Слер Базовий і Слер Мега, отримують всі знання, необхідні для складання іспиту на
Окреме дякую Selectel за те, що надали хмару для практики, завдяки чому кожен учасник працював у власному повноцінному кластері, а нам не довелося за це додавати до ціни квитка зайві 5 тисяч.
Слерм Мега. Перший день.
Першого дня Сльорма Мега ми навантажили учасників 4 темами. Павло Селіванов розповів про процес створення відмовостійкого кластера зсередини, про роботу Kubeadm, а також про тестування та траблшутинг кластера.
Перший кавобрейк. Зазвичай "дзвінок для вчителя", але на Слермі, поки учні п'ють каву, викладачі продовжують відповідати на запитання.
І незважаючи на те, що над головою Павла Селіванова витає хмарка «Перерва II», піти на перерву йому не судилося.
Сергій Бондарєв та Марсель Ібраєв чекають своєї черги виходити до кафедри.
Під час перерви я підійшов до Сергія Бондарєва і запитав: «Що б ти порадив усім інженерам Kubernetes зі свого досвіду роботи з кластерами наших клієнтів?»
Сергій дав просту рекомендацію: «Закривайте доступ з Інтернету до API-сервера. Тому що періодично є загрози безпеці, які дозволяють отримати доступ до кластера неавторизованим користувачам.»
Через кілька хвилин і пляшку мінералки Павло Селіванов кинувся в бій із тінню темою «Авторизація в кластері за допомогою зовнішнього провайдера», а саме LDAP (Nginx+Python) та OIDC (Dex+Gangway).
У наступну перерву свою пораду інженерам Kubernetes дав Марсель Ібраєв, речник Сльорма, Certified Kubernetes Administrator: «Скажу начебто банальну річ, але враховуючи, наскільки часто я з цим стикаюся, є підозра, що це не всі враховують. Не варто сліпо вірити всяким How-To з Інтернету, в яких розкажуть, як класно працює те чи інше рішення. У контексті Кубернетес це набуває особливого сенсу. Бо Кубернетес складна система і додавання до неї рішення, яке не було протестоване у конкретно вашому проекті та вашій інсталяції кластера, може призвести до сумних наслідків, незважаючи на те, що в Інтернеті писали про його крутість. Навіть просто сам Кубернетес без виваженого підходу може зашкодити вашому проекту, «що російській добре, то німцеві смерть». Тому тестуємо, перевіряємо, обкатуємо будь-яке рішення перед тим, як запровадити його в себе. Тільки так ви врахуєте всі нюанси, що можуть виникнути».
Після обіду вступив у бій Сергій Бондарєв. Його тема Network policy, а саме введення до CNI та Network Security Policy.
В інтернеті повно статей про Network Policy. Серед адмінів зустрічається думка, що без Network Policies можна обійтися, але безпечники дуже люблять цей інструмент і вимагають включення Network Policies.
Штурвал Kubernetes у Сергія Бондарєва перехопив Павло Селіванов з темою «Безпечні та високодоступні програми у кластері». Є у нього улюблені теми: PodSecurityPolicy, PodDisruptionBudget, LimitRange/ResourceQuota.
Тема Меги, з якою Павло виступав на DevOpsConf:
Після розповіді, як легко зламується кластер Kubernetes, скептично налаштовані адміни кажуть: "Ага, я ж казав, ваш Кубернетес - дірка фігня". Павло пояснює, що налаштувати безпеку в кластері можна, і це нескладно, просто за замовчуванням налаштування безпеки вимкнуто. Подробиці у розшифровці
- Хто зламав кластер? Ось він зламав кластер! Мені звідси чудово видно!
На Слермах не буває все просто і легко, щоб не нудьгував. Але цього разу Telegram вирішив показати всім п'яту точку:
Марсель Ибраев, [22 нояб. 2019 г., 16:52:52]:
Коллеги, в данный момент наблюдаются сбои в работе Телеграм, имейте это ввиду
На цьому яскравий та наповнений практичними знаннями перший день завершився. На другий день буде ще більше практики, запуск кластера БД на прикладі PostgreSQL, запуск кластера RabbitMQ, управління секретами Kubernetes.
Слерм Мега. Другий день.
Ведучий почав другий день бадьорим оголошенням: «З ранку, як висловився вчора Павло, на нас чекає справжній хардкор. Висловлюючись мовою хірургів, ми ліземо в кишки Кубернетеса!
Масовик-витівник – це окрема історія. Одна з проблем Сльорма – люди від інформаційного навантаження відключаються та засинають. Ми завжди шукали спосіб щось із цим зробити, і на минулому Сльормі добре показали себе невеликі ігри з аудиторією. На цей раз ми найняли спеціально навчену людину. У чаті багато приколювалися над «цікавими конкурсами», але факт залишається фактом — таких бадьорих учасників ми ще не бачили.
Марселю Ібраєву прийшли на допомогу - і він почав вивчати державні додатки в кластері. А саме запуск кластера БД на прикладі PostgreSQL та запуск кластера RabbitMQ.
Після обіду приступив до K8S Сергій Бондарєв. І його темою була «Зберігання секретів». Його прикривали Малдер та Скаллі. Вивчали управління секретами в Kubernetes та Vault. А також "The truth is out there".
Що й тривало до пізнього вечора, коли Павло Селіванов заговорив про Horizontal Pod Autoscaler
Слерм Мега. Третій день.
Різко і бадьоро з самого ранку Сергій Бондарєв розгальмував аудиторію резервним копіюванням та відновленням після збоїв. Бекап та відновлення кластера із застосуванням Heptio Velero та etcd перевірили особисто.
Сергій продовжив тему щорічної ротації сертифікатів у кластері: продовження сертифікатів control-plane за допомогою kubeadm. Перед обідом, щоб нагуляти учасникам апетит або відбити його остаточно, Павло Селіванов порушив тему деплою програми.
Розглядалися інструменти темплейтування та деплою, а заодно стратегії деплою.
Павло Селіванов розповів нову тему: Service Mesh, встановлення Istio. Тема виявилася настільки багатою, що по ній можна робити окремий інтенсив. Обговорюємо плани, стежте за анонсами.
Головне, щоби все правильно працювало. Тому що настав час практики:
побудова CI/CD, щоб одночасно запустити деплой програми та оновлення кластера. У навчальних проектах все працює добре. А життя часом сповнене несподіванок.
May the Slurm be with you!
Джерело: habr.com