{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Лайвлупинг, медиапродакшн и все эти ваши компьютеры: заметки с тегом k8s",
    "_rss_description": "Алексей Батищев. Заметки обо всём, что происходит со мной и окружающим миром",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/www.batishchev.ru\/blog\/tags\/k8s\/",
    "feed_url": "https:\/\/www.batishchev.ru\/blog\/tags\/k8s\/json\/",
    "icon": "https:\/\/www.batishchev.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1604346823",
    "authors": [
        {
            "name": "Алексей Батищев",
            "url": "https:\/\/www.batishchev.ru\/blog\/",
            "avatar": "https:\/\/www.batishchev.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1604346823"
        }
    ],
    "items": [
        {
            "id": "3801",
            "url": "https:\/\/www.batishchev.ru\/blog\/all\/konferenciya-bekon-2026\/",
            "title": "Конференция БеКон 2026",
            "content_html": "<p>Посетил очередную ежегодную конфу по безопасности контейнерных сред БеКон 2026 от Luntry.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_09.jpg\" width=\"1280\" height=\"720\" alt=\"\" \/>\n<\/div>\n<p>Ивент растёт год от года, оставаясь ключевым событием страны, фокусирующимся на этой теме. В этот раз появилось разделение на два трека — про технологии и про процессы (или людей), программа разрослась, а условия для участников стали ещё более комфортными.<\/p>\n<p>Кайфанул, узнал нового, пообедал, встретил старых приятелей, развиртуализировался с коллегами с новой работы, опять же.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"450\" data-ratio=\"0.5625\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_02.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_01.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_03.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_04.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_05.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_06.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_07.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_08.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_10.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_12.jpg\" width=\"450\" height=\"800\" alt=\"\" \/>\n<\/div>\n<\/div>\n<p>По содержимому — было как всегда много деталей, реального опыта, граблей и полезной инфы, и уже становящийся традиционным Секретный Доклад в финале. Технология матереет, оставаясь довольно сложной в части обеспечения безопасности, и изменения в системе и появляющиеся новые инструменты это двигают в сторону улучшения и упрощения, но — и это моё личное мнение — сама суть контейнеризации оставляет слишком большую поверхность атаки и возможность облажаться администратору, так что лёгкой жизни тут пока не предвидится ни у кого (кроме злоумышленников).<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"600\" data-ratio=\"0.75\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_11.jpg\" width=\"600\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_13.jpg\" width=\"600\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_14.jpg\" width=\"600\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_15.jpg\" width=\"600\" height=\"800\" alt=\"\" \/>\n<\/div>\n<\/div>\n<p>Кстати про облегчение труда — неприятным открытием для меня стало полное отсутствие контекста нейросетей на событии. Я вижу в своих экспериментах как ИИ ловко справляется с задачами редактирования конфигов, кода, контроля и анализа содержимого текстов, как они фигачат программы, конфигурят сетевое оборудование через cli или, например, выполняют задачи системного администрирования в linux и windows. Странно не применять эту магию для написания манифестов, чартов и политик, для контроля и проверки их содержимого, для анализа конфигов и зависимостей, с учетом что из этих текстовиков кубера для админа и состоят чуть менее чем полностью. Но нет, докладов об этом не было, и такое ощущение что пузырь ИИ пролетел мимо кубероводов. Возможно это просто я недонетворкал.<\/p>\n<p>Всем лофт, посоны!<\/p>\n",
            "summary": "Посетил очередную ежегодную конфу по безопасности контейнерных сред БеКон 2026 от Luntry",
            "date_published": "2026-06-05T22:49:16+03:00",
            "date_modified": "2026-06-05T22:49:29+03:00",
            "tags": [
                "k8s",
                "TG",
                "безопационная информасность"
            ],
            "image": "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_09.jpg",
            "_date_published_rfc2822": "Fri, 05 Jun 2026 22:49:16 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "3801",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_09.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_02.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_01.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_03.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_04.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_05.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_06.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_07.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_08.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_10.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_12.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_11.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_13.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_14.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2026_06_05_15.jpg"
                ]
            }
        },
        {
            "id": "3562",
            "url": "https:\/\/www.batishchev.ru\/blog\/all\/kurs-devops-dlya-ekspluatacii-i-razrabotki-v-yandeks-praktikume\/",
            "title": "Курс DevOps для эксплуатации и разработки в Яндекс Практикуме",
            "content_html": "<p>Закончил большой девятимесячный курс про технологии DevOps в Практикуме.<\/p>\n<p>Ещё лучше понял <s>, что творится под крышечкой в головах у всех этих йуных смузихлёбов-манифестофилов <\/s>  кухню производства веб-приложений. Но это если <a href=\"https:\/\/batishchev.ru\/blog\/all\/naivnye-deti-kikshering-i-yamlovoe-varenye\/\">продолжать юмористически хейтить эту тему<\/a>, а если серьёзно — сейчас расскажу.<\/p>\n<p>Первое и главное — это колоссальный практический опыт. Курс построен в виде квеста-приключения от лица специалиста, который проходит все этапы развития технологического стека в области разработки и эксплуатации веб-приложения. Это особо ценно, потому что ты постепенно погружаешься и получаешь возможность побывать в разных состояниях реализации подобного проекта, а ещё буквально на себе проходишь эволюцию технологии.<\/p>\n<p>С позиции стека технологий — в одной точке курса ты побываешь в слабо развитой компании с минимумом инструментов (которая тем не менее уже выдаёт продукт, и с похожей на которую ты вполне можешь столкнуться на реальном рынке), в другой точке — в компании покруче, и так далее. Очень напоминает курсы по программированию и операционкам в институте, где я и память на ферритовых кольцах пощупал, и собственный менеджер памяти для учебной ОС на ассемблере писал. Уже тогда это были неактуальные и скрытые под вареньем прогресса кирпичики технологий — но именно через понимание и буквально трогание руками деталек под капотом формируется комплексный взгляд. Не знаю, насколько такая парадигма ещё актуальна в турбореактивном 21 веке, но моим мозгам так лучше понимается.<\/p>\n<p>Итоговый перечень попробованных лично на курсе решений довольно обширен, про некоторые я слышал и раньше но руки не дотягивались по ходу работы, а про некоторые — был приятно удивлён существованию таких инструментов. Это тоже плюс: получаешь возможность поэксплуатировать сервисы и решения, которые самостоятельно развернуть было бы отдельной сложной задачей, а тут тебе и из пушки пострелять дали и космолёт поводить, без необходимости собирать их из исходников.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2025-10-09100_1652996028.png.jpg\" width=\"1534.0823970037\" height=\"800\" alt=\"\" \/>\n<\/div>\n<p>Второй плюс (хотя иногда он казался минусом) — качество материалов курса. Студента вовлекают историей, погружают в контекст «как-бы-работы» в команде, за время курса у тебя появляется несколько виртуальных героев-коллег со своими характерами и особенностями. Практические задания вплетены в ткань повествования — например, ты не просто в какой-то момент чинишь систему, а чинишь потому что «дежурный» ночью что-то сделал не то, а смог он сделать это из-за архитектурного просчёта, и дальше этот прогал в процессах и инструментах ты тоже устранишь. Но вместе с этим, на таком красивом обмазанном сторителлингом и инструкциями пути, регулярно возникают затыки. Тут команда не работает, там флаг в примере неправильный, здесь ключ в предоставленном шаблоне не тот. Поначалу бесишься, и принимаешь это за непроработанность и несистемность подхода (и возможно так оно и есть) — но в итоге, каждый такой затык оборачивается дебагом-до-утра, изучением информации, и более глубоким погружением в тему. Относиться к этому можно по-разному, но моё личное мнение — в результате тут больше пользы для обучения чем вреда, хотя деморализует местами сильно.<\/p>\n<p>Третий плюс — дополнительные сопутствующие темы. Кроме технологий, в курсе много классной инфы о подходах к архитектуре и разработке приложений, даются базисные и системные вещи вроде <a href=\"https:\/\/12factor.net\/ru\/\">The Twelve-Factor App<\/a>,  концепции бережливого производства и muda, и даже всякое рядом лежащее типа основ логики и микротем по взаимодействию в команде и софт-скиллам. Было интересно и полезно.<\/p>\n<p>С точки зрения декларируемого подхода — на мою любовь к программированию, автоматизации и контролю роботами всего, где чилавеки могут накосячить, это ложится безупречно. Я ещё и кэнк-фишками всё обмазал, создавая для преподавателя автоматизированные скрипты разворачивания-настройки и проверки чеклистов по домашкам. От практической части курса получил много удовольствия.<\/p>\n<p>Теперь про минусы. Объём большой, сил и времени на прохождение нужно потратить много, у курса есть более сжатая по времени версия и проходить её одновременно с работой и другими бытовыми делами было бы совсем тяжело. Местами кривая обучения очень крутая, и в некоторые темы приходится вгрызаться как в отвесную гранитную скалу (плюс нюансики материалов курса, о которых говорил выше). А в паре мест курс повторно касается некоторых тем, как будто его составили из нескольких более мелких и не очень аккуратно сшили.<\/p>\n<p>Очень большая переменная — наставник, который должен выступать человеческим проводником между учебником и учениками на курсе. Здесь всё зависит от того, кто вам попадётся — и вполне может быть что это будет человек так себе квалификации и софт-скиллов, от которого нечего взять по знаниям, у которого нельзя получить помощи при затыках, и с которым сложно выстроить коммуникацию в части выполнения и защиты множества практических работ (и от этого аспекта уйти уже не получится никак). В случае если выпал именно такой наставник, можно попробовать перевестись на следующий поток, ну и конечно же функции помощи при попадании в капкан и обмена опытом отлично выполняют другие ребята на курсе — большинство своих сложностей я решил именно при поддержке одноклассников, разгребая проблемы вместе с ними или изучая уже заданные вопросы и ответы в тредах чятика.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2025-10-09momo-web.png\" width=\"1024\" height=\"436\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Дипломная работа — опубликованный в интернете магазин пельменей, развёрнутый по принципам IaC<\/div>\n<\/div>\n<p>В части дипломной работы, если делать всё по-максимуму, придётся самостоятельно изучить несколько технологий, о которых в курсе нет информации (и инструменты для которых во время учёбы предоставляются уже развёрнутыми и настроенными). С другой стороны, очень жёстких критериев на объём выполненной дипломной работы нет, так что острые и непонятные углы при необходимости можно обойти. Но фишка, когда в дипломной работе ты в сжатые сроки ещё раз проходишь все темы курса с другим приложением и в чуть другой инфраструктуре — мегаполезная для закрепления, хотя интенсивность работы в эти недели выходит жестковатой. Знаю примеры, когда люди брали отпуска на работе чтобы сделать диплом.<\/p>\n<p>Так как существенная часть курса проходит в облаке яндекса, которое некоторыми деталями реализации отличается от стандартов того же AWS, иногда бывают затыки от того что типовые примеры и решения в интернетах используют как раз эти стандарты.<\/p>\n<p>Ещё мне не очень понятно позиционирование курса — изначально наш герой переходит в девопс из программирования (что само по себе фантастический на мой взгляд сценарий), но дальше по ходу курса лично я много опирался на уже имеющиеся знания во множестве областей — от операционок и программирования до тех же ранее встреченных девопс инструментов. Как было бы оказаться на курсе без этой базы — например, чистому незамутнённому посторонними знаниями фронтендеру, сисадмину, или как одна моя знакомая, ручному тестировщику — не знаю. Но кажется, что курс точно не для новичков.<\/p>\n<h2>AI как помощник<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2025-10-09-tools.png\" width=\"1072.2513089005\" height=\"800\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Проверяем отступы в yaml с помощью правильных tools<\/div>\n<\/div>\n<p>Часть курса я проходил при поддержке агента Cursor и браузерных чатботов, оттестировав при этом приёмы работы с ними. Как и <a href=\"https:\/\/batishchev.ru\/blog\/all\/vaybkodim-s-cursor-pir-na-poroge-chumy\/\">в случае вайб-кодинга<\/a>, совсем в самостоятельное плавание иишечки пока ходить не готовы, а вот как учителя и как скилластые, но отвлекающиеся джуны-исполнители (девопсята) вполне себе годятся.<\/p>\n<p>AI очень хорошо объясняет моменты, недостаточно раскрытые в курсе, и вообще классно работает как тьютор. Причем на текущий момент оно прекрасно пережёвывает всё — от кусков манифестов, до скриншотов с лекций. Просишь обьяснить — и обьясняет.<\/p>\n<p>А вот то, что касается использования как справочник или как создателя (кода, конфига итп) — работает хуже. Чатбот может на голубом глазу выдумать несуществующие опции у команд или набредить свои эндпоинты в известном всем API. Здесь я придумал приём, который очень помогает — сохранить в проект документацию и примеры из систем (того же Яндекс облака как вариант) и дать в промте задачу формировать конфиги и команды исходя из них.<\/p>\n<p>Хорошо себя показал плагин SpecStory, который включает журналирование всех действий и диалогов, и помогает документировать работу и разбираться в истории изменений. Ещё в разрезе курса классно работает приём, когда по итогам выполненной практики просишь агента сформировать скрипт, который инструментально проверяет работу по чек-листу (который обычно есть в задании) и резюмирует проведённую работу.<\/p>\n<p>Кстати ещё, не знаю когда это появилось, но на днях узнал что оплачивать подписку на Cursor теперь можно рублями через сервис оплаты МТС, так что скайнетик для нас становится всё доступнее.<\/p>\n<p>За время использования сам Cursor многократно обновлялся и менялся, на ходу перекраивая паттерны работы, и иногда эту работу просто ломая. Так что тут тоже опыт: внутри спринта инструмент лучше не обновлять (ровно так же как не стоит например в такой момент отпускать джуна в недельный отпуск). Всё как у людей )<\/p>\n<h2>Итоги<\/h2>\n<p>Сильно расширил кругозор, хорошо прокачал системную часть в Linux и автоматизацию, уже заметил сдвиги в сознании и подходе к работе — собственно там уже во время курса часть рутины стал мыслить в парадигме SecOps, IaC и SaC. Скоро всё запрограммируем, загитируем, заманифестируем и отдадим, наконец роботам делать всю рутину. Ура!<\/p>\n",
            "summary": "Закончил большой девятимесячный курс про технологии DevOps в Практикуме",
            "date_published": "2025-10-14T14:06:28+03:00",
            "date_modified": "2025-10-16T12:17:51+03:00",
            "tags": [
                "devsecops",
                "k8s",
                "TG",
                "безопационная информасность"
            ],
            "image": "https:\/\/www.batishchev.ru\/blog\/pictures\/2025-10-09100_1652996028.png.jpg",
            "_date_published_rfc2822": "Tue, 14 Oct 2025 14:06:28 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "3562",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2025-10-09100_1652996028.png.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2025-10-09momo-web.png",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2025-10-09-tools.png"
                ]
            }
        },
        {
            "id": "1041",
            "url": "https:\/\/www.batishchev.ru\/blog\/all\/naivnye-deti-kikshering-i-yamlovoe-varenye\/",
            "title": "Наивные дети, кикшеринг и yamlовое варенье",
            "content_html": "<p>Одной из целей при прохождении <a href=\"https:\/\/batishchev.ru\/blog\/drafts\/kurs-otus-vnedrenie-i-rabota-v-devsecops\/\">курса по devsecops<\/a> для меня было более глубокое и детальное погружение в контейнеризацию и безопасность в ней. Дело в том что с самого знакомства с этой технологией мой скепсис и недовольство тем, как в ней устроен подход к ИБ, не утихали. Окей, решил я, возможно это просто страх неизвестности, надо изучить этого зверя лучше, и всё пройдет.<\/p>\n<p>Ну что, после познания инфернальных глубин предметной области могу сказать, что все мои претензии только усилились. Действительно, все эти ваши новомодные кубернетисы дают невероятную свободу, мощь и удобство — но во многом это происходит за счёт инфантильного отношения к ИБ. Самое яркое сравнение которое у меня есть на текущий момент — кикшеринг: это тоже новомодное, не покрытое регуляторикой, выбивающееся из общепринятых принципов общественной безопасности, доступное любому безответственному непрофессионалу (возможно, нетрезвому и недееспособному) средство быстро достигать цели, попутно создавая смертельные риски для окружающих.<\/p>\n<blockquote>\n<p>«Девопс — как малое дитя. Подбирает всякую гадость в интернете и ПРОД тащит»<\/p>\n<\/blockquote>\n<p>В этом смысле тыщи супер-востребованных ныне девопсов, запускающих неизвестно какие образы в неизвестно какой среде с неизвестно каким конфигом и без малейшей мысли о безопасности, тоже позволяют лихо масштабировать бизнесы, запускать в космос модные стартапы и радовать акционеров у контор постарше. Правда, потом они эти же наивные дети поднимают упавшие глобальные сервисы сутками, и за утекающие изо всех щелей данные клиентов никак не отвечают, зато модно и эффективно.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2024-05-31-devops.png\" width=\"800\" height=\"800\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Обколются своими плейбуками и сидят по подьездам, воистину<\/div>\n<\/div>\n<p>Надеюсь, скепсис и понимание чего именно эти бодрые ребята с ясными глазами и докерхабом за пазухой могут натворить, поможет в работе. Хотя кажется, сошедший по микросервисам с ума мир уже не спасти.<\/p>\n",
            "summary": "Одной из целей при прохождении курса по devsecops для меня было более глубокое и детальное погружение в контейнеризацию и безопасность в ней...",
            "date_published": "2024-05-31T22:17:50+03:00",
            "date_modified": "2024-11-25T20:11:17+03:00",
            "tags": [
                "devsecops",
                "k8s",
                "безопационная информасность",
                "все эти ваши компьютеры",
                "размышлизмы"
            ],
            "image": "https:\/\/www.batishchev.ru\/blog\/pictures\/2024-05-31-devops.png",
            "_date_published_rfc2822": "Fri, 31 May 2024 22:17:50 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1041",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2024-05-31-devops.png"
                ]
            }
        },
        {
            "id": "1037",
            "url": "https:\/\/www.batishchev.ru\/blog\/all\/kurs-otus-vnedrenie-i-rabota-v-devsecops\/",
            "title": "Курс OTUS «Внедрение и работа в DevSecOps»",
            "content_html": "<p>Завершил обучение на курсе <a href=\"https:\/\/otus.ru\/lessons\/devsecops\/\">«Внедрение и работа в DevSecOps» в OTUS<\/a>.<\/p>\n<p>Курс идёт примерно полгода, за это время на лекциях и самостоятельных домашках покрываются три больших блока знаний:<\/p>\n<ul>\n<li>актуальные языки программирования, их слабые места и уязвимости (включая популярные фреймворки), подходы к производству безопасного кода на них<\/li>\n<li>безопасность в контейнерных средах — от базовых причин возникновения уязвимостей до обзора инструментария обеспечения безопасности тут<\/li>\n<li>безопасность DevOps в различных проекциях — от общих принципов построения безопасных процессов разработки на предприятии, до конкретных инструментов безопасности на отдельных этапах цикла DevOps<\/li>\n<\/ul>\n<p>Кроме того, по ходу немного затронули моделирование угроз и тестирование на проникновение, был небольшой модуль по безопасности операционок и инфраструктуры, и другие общебезопасниковые вещи.<\/p>\n<p>Основная ценность курса — лекции от практиков из индустрии, когда преподаватель реально горит делом, умеет в вопрос и буквально только что «с полей». Также очень ценны домашки, не всегда лёгкие и доступно сформулированные — но именно в бессонных ночах борьбы с которыми появляется настоящий практический опыт. Особо отмечу лекции и практические задания от Анастасии Порхун — ультравосторг!<\/p>\n<p>Слабая сторона курса — не все темы были покрыты такими вот настоящими мастерами, часть лекций читают теоретики-мультистаночники, и дополнительной пользы к презентации (подготовленной практиком) их невнятное бурчание не приносит. Можно конечно позадавать вопросы — но толку из этого мало.<\/p>\n<p>В целом полезно и для общего развития и для работы. Будем применять<\/p>\n",
            "summary": "Завершил обучение на курсе «Внедрение и работа в DevSecOps» в OTUS",
            "date_published": "2024-05-28T23:26:01+03:00",
            "date_modified": "2024-11-25T20:11:03+03:00",
            "tags": [
                "devsecops",
                "k8s",
                "безопационная информасность",
                "все эти ваши компьютеры"
            ],
            "_date_published_rfc2822": "Tue, 28 May 2024 23:26:01 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "1037",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "984",
            "url": "https:\/\/www.batishchev.ru\/blog\/all\/seti-v-k8s\/",
            "title": "Сети в к8s",
            "content_html": "<p>Цикл заметок о сетях в Kubernetes от <a href=\"https:\/\/medium.com\/google-cloud\/understanding-kubernetes-networking-pods-7117dd28727\">Mark Betz<\/a> переводился на хабре несколькими участниками. Поэтому в нормальный единый цикл заметки не объединены, но поиском по имени оригинального автора их можно найти. А можно воспользоваться этим списком:<\/p>\n<ul>\n<li><a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/441576\/\">https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/441576\/<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/companies\/southbridge\/articles\/346314\/\">https:\/\/habr.com\/ru\/companies\/southbridge\/articles\/346314\/<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/442646\/\">https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/442646\/<\/a><\/li>\n<\/ul>\n",
            "summary": "Цикл заметок о сетях в Kubernetes от Mark Betz переводился на хабре несколькими участниками. Поэтому в нормальный единый цикл заметки не объединены, но поиском по имени оригинального автора их можно найти",
            "date_published": "2023-05-02T16:25:26+03:00",
            "date_modified": "2025-04-14T12:23:54+03:00",
            "tags": [
                "k8s",
                "безопационная информасность",
                "все эти ваши компьютеры",
                "документация и статьи"
            ],
            "_date_published_rfc2822": "Tue, 02 May 2023 16:25:26 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "984",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "59",
            "url": "https:\/\/www.batishchev.ru\/blog\/all\/udobnye-aliasy-dlya-upravleniya-k8s\/",
            "title": "Удобные алиасы для управления k8s",
            "content_html": "<p>По ходу прохождения курса (и во многом в попытках успеть за лектором) наработал сокращения для типовых операций с k8s, сильно убыстряющих всю эту вашу компьлюктерную магию с буковками на чорном фоне. В отличие от гита, сокращения для которого в неизменном виде повторяются в тысячах статей, для кубера такого общепринятого стандарта я не встретил. Пока непонятно почему, буду пользоваться, возможно что-то всплывёт.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">alias kgn=&quot;kubectl get nodes -o wide&quot;\nalias ka=&quot;kubectl apply -f&quot;\nalias kd=&quot;kubectl delete -f&quot;\nalias kgp=&quot;kubectl get po -o wide -n&quot;\nalias kgpa=&quot;kubectl get po -A&quot;\nalias kgs=&quot;kubectl get svc -n&quot;\nalias kge=&quot;kubectl get ep -n&quot;\nalias kgi=&quot;kubectl get ing -o wide -n&quot;\nalias kns=&quot;kubectl run --generator=run-pod\/v1 tmp-shell --rm -i --tty --image nicolaka\/netshoot -- \/bin\/bash&quot;<\/code><\/pre>",
            "summary": "По ходу прохождения курса (и во многом в попытках успеть за лектором) наработал сокращения для типовых операций с k8s, сильно убыстряющих всю эту вашу компьлюктерную магию с буковками на чорном фоне",
            "date_published": "2020-11-24T01:52:59+03:00",
            "date_modified": "2020-11-24T11:11:42+03:00",
            "tags": [
                "k8s",
                "все эти ваши компьютеры",
                "технологии"
            ],
            "_date_published_rfc2822": "Tue, 24 Nov 2020 01:52:59 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "59",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "58",
            "url": "https:\/\/www.batishchev.ru\/blog\/all\/proshel-kurs-po-k8s\/",
            "title": "Прошел курс по k8s от DataLine",
            "content_html": "<p>Закончил <a href=\"https:\/\/uni.dtln.ru\/courses\/kubernetes\/kurs-molodogo-boyca-po-kubernetes-4\">курс по Кubernetes  от DataLine<\/a><\/p>\n<ul>\n<li>немножко научился в Докер — скачивать, модифицировать, запускать, заливать на свой репозиторий контейнеры, настраивать в докере сеть и постоянные хранилища<\/li>\n<li>немножко научился в k8s — узнал про архитектуру и компоненты, научился скачивать контейнеры и запускать их в систему с помощью разных контроллеров, пошуршал в системах управления доступом и управления ресурсами, разобрался с сетями (дико навороченная там штука) и постоянными хранилищами, узнал и пощупал руками логирование, мониторинг и пакетный менеджмент.<\/li>\n<\/ul>\n<p>В целом технология и методология термоядерные, для продуктовых компаний например страшно полезные.  Программно-определяемые сети вообще огонь. Впечатлен и заинтересован, буду разбираться дальше.<\/p>\n<p>Чуть позже у DataLine должна пройти ещё одна часть курса, с глубоким погружением в практику, куда обещают взять лучших по итогам теста. Тест уже сдан вполне успешно, рассчитываю на приглашение.<\/p>\n<p>Огромный плюс курса — предоставляемый преднастроенный кластер, где можно и входящую в состав занятий практику повыполнять, и глубже (дальше) в тему продвинуться. Преподаватели мастеровитые, практики, в теме разбираются, объясняют внятно, проведена большая подготовительная работа — от слайдов и презентаций до манифестов и готовых образов с нужным для занятий функционалом. И это всё ещё плюсом к тому — бесплатно.<\/p>\n<p>Удобно, что лекции пишутся, и есть возможность после сесть и вдумчиво сделать практику — материал непростой, сразу вникнуть удавалось не всегда.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/2020-11-19-22.53.37@2x.jpg\" width=\"640\" height=\"434\" alt=\"\" \/>\n<\/div>\n<p>Курс ведут Станислав Миллер и Сергей Старицын (в его лекциях также активное участие принимают коты). Это был уже четвёртый поток, анонсы следующих (и занятий на другие темы) — в <a href=\"https:\/\/t.me\/unidataline\">телеграм канале Даталайн<\/a>, отчаянно рекомендую.<\/p>\n",
            "summary": "Закончил курс по Кubernetes от DataLine",
            "date_published": "2020-11-19T23:03:15+03:00",
            "date_modified": "2020-11-24T01:53:35+03:00",
            "tags": [
                "k8s",
                "все эти ваши компьютеры"
            ],
            "image": "https:\/\/www.batishchev.ru\/blog\/pictures\/2020-11-19-22.53.37@2x.jpg",
            "_date_published_rfc2822": "Thu, 19 Nov 2020 23:03:15 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "58",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/2020-11-19-22.53.37@2x.jpg"
                ]
            }
        },
        {
            "id": "55",
            "url": "https:\/\/www.batishchev.ru\/blog\/all\/upravlenie-resursami-v-k8s\/",
            "title": "Управление ресурсами в Kubernetes",
            "content_html": "<p><i> Прохожу очень полезный курс о Kubernetes от <a href=\"https:\/\/www.dtln.ru\/\">DataLine<\/a>, долго вникал в тему управления ресурсами, вот краткий конспект словами, понятными мне. Возможно, пригодится и вам.<\/i><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/k8sfire.jpg\" width=\"700\" height=\"368\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Знаменитый мем «Миграция контейнеров в облако»<\/div>\n<\/div>\n<h2>Что вообще можно сделать для управления ресурсами<\/h2>\n<p>По умолчанию в k8s поды(контейнеры) могут потреблять столько ресурсов, сколько хотят (из физически доступных на ноде). Но можно активировать механизмы k8s, управляющие этим.<\/p>\n<p>k8s здесь может действовать в двух ролях :<\/p>\n<ul>\n<li>во время работы системы k8s может следить за контейнерами (подами) и карать те, что потребляют ресурсов больше чем обещали максимально потреблять<\/li>\n<\/ul>\n<ul>\n<li>на запуске пода (контейнера) k8s может решать, запускать ли объект (и где именно его запускать), исходя из того сколько ресурсов он требует для работы в норме и сколько обещает потреблять в максимальном случае<\/li>\n<\/ul>\n<h2>Что для надо для управления ресурсами<\/h2>\n<ul>\n<li>В правилах системы управления должны быть описаны принципы (политики), по которым системе эти требования и обещания контейнера проверяются на то, подходят они или нет k8s<\/li>\n<\/ul>\n<ul>\n<li>свойствах контейнера (пода) должны быть прописаны его потребности при работе в норме (requests), они же минимальные требования для старта. Также в свойствах контейнера (пода) должны быть прописаны его максимально допустимые аппетиты (limits): сколько он обещает пожирать в самом-самом плохом случае. Если контейнер не сообщает свои требования и обещания, но они нужны для работы политик — они будут назначены этими политиками принудительно сверху (сам виноват).<\/li>\n<\/ul>\n<h2>Не даем запущенному пожрать сверх договорённостей<\/h2>\n<p>Этот функционал реализуется на основе мониторинга процессов. Здесь необходимы значения максимально допустимых аппетитов (limits) объекта — они должны быть описаны в свойствах, либо должны быть заданы принудительно политиками Limit Ranges (про них чуть дальше).<\/p>\n<p>Если контейнер (под) пережирает сверх обещанного, k8s может тротлить процессор (при нарушении лимитов CPU) или останавливать\\перезапускать под, если идет перебор по памяти. Таким образом, гарантируется что контейнер будет во время работы есть от 0 до limits ресурсов процессора и памяти.<\/p>\n<h2>Не запускаем объекты, если нам это не подходит<\/h2>\n<p>Второй механизм управления работает в момент запуска объекта. В каждом namespace может быть использованы две политики, и при запуске пода(контейнера) будут проверяться его запросы (минимальные и максимальные), а также состояние системы после его запуска, на соответствие этим политикам. Если принято решение что в результате политика(и) не будет нарушена — старт разрешен. Далее соответствие политике не контролируется.<\/p>\n<p>Политика <b>Limit Range<\/b>. Задает в namespace ограничения на запросы и лимиты подов(контейнеров). Если pod (контейнер) просит (requests) меньше, чем нижний лимит (min limits) политики, или обещает максимальное потребление (limits) больше, чем верхний лимит (max limits) политики — он запущен не будет. Здесь может возникнуть путаница из-за несогласованного использования термина limits, важно не запутаться.<\/p>\n<p>Нюансы:<\/p>\n<ul>\n<li>Если под не сообщает свой лимит или запрос, они задаются принудительно значениями из политики по умолчанию (default [это шаблон для limits] и DefaultRequest [это шаблонное значение для requests]) — и в дальнейшем эти значения могут влиять на ограничения при работе pod, описанные ранее (с ними будет сравниваться его реальное потребление).<\/li>\n<\/ul>\n<ul>\n<li>Limit Range может быть задан для подов или контейнеров. В случае, если Limit Range задан на контейнеры, и хотя бы один контейнер в поде не подходит под значения политики, не стартанёт весь pod.<\/li>\n<\/ul>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/www.batishchev.ru\/blog\/pictures\/photo_2020-11-16_20-49-37@2x.jpg\" width=\"640\" height=\"428\" alt=\"\" \/>\n<div class=\"e2-text-caption\">иллюстрация Limit Range от НИИ Быстрых Иллюстраций<\/div>\n<\/div>\n<ul>\n<li>В отличие от мониторинга уже запущенных контейнеров, здесь принимается решение в том числе на базе минимально запрошенных требований (requests). Это дает k8s возможность распределять ресурсы равномерней а также не запускать объекты, которые уже точно не влазят в мощности инфраструктуры. Следует стараться задавать эти значения, чтобы не оказаться в ситуации когда контейнер запущен в среде с нехваткой ресурсов (не сказал сколько надо — получи минимальный минимум)<\/li>\n<\/ul>\n<p>Политика <b>Resource Quotas<\/b>. Задает в namespace максимальный предел ресурсов, которые могут быть запрошены суммарно всеми подами или контейнерами этого namespace, на основании указанных в конфигурации подов(контейнеров) данных (важно, не фактически потребляемых, а именно запрашиваемых в манифесте). Политика не дает зарезервировать больше ресурсов или создать больше сущностей, чем админ готов потратить на все объекты namespace. Нюансы:<\/p>\n<ul>\n<li>для cpu и ram политика может задавать верхний предел для любых значений — и requests (что фактически значит «не позволить назапускать объектов которые захотят жрать все вместе как мимимум столько то»), и limits (что фактически значит «не позволить назапускать объектов, которые все вместе при фиговом раскладе в максимуме сожрут столько то»).<\/li>\n<\/ul>\n<ul>\n<li>также здесь могут быть заданы ограничения для суммарного количества других сущностей в namespace (секреты итп).<\/li>\n<\/ul>\n<h2>Ссылочки<\/h2>\n<p>Материалы по теме:<br \/>\n<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/manage-resources-containers\/\">https:\/\/kubernetes.io\/docs\/concepts\/configuration\/manage-resources-containers\/<\/a><br \/>\n<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/policy\/\">https:\/\/kubernetes.io\/docs\/concepts\/policy\/<\/a><\/p>\n<p>Канал DataLine в телеге (где бывают в том числе анонсы их учебных программ) — <a href=\"https:\/\/t.me\/unidataline\">https:\/\/t.me\/unidataline<\/a><\/p>\n",
            "summary": "Прохожу очень полезный курс о Kubernetes от DataLine, долго вникал в тему управления ресурсами, вот краткий конспект словами, понятными мне",
            "date_published": "2020-11-16T21:07:46+03:00",
            "date_modified": "2020-11-24T01:54:22+03:00",
            "tags": [
                "k8s",
                "все эти ваши компьютеры"
            ],
            "image": "https:\/\/www.batishchev.ru\/blog\/pictures\/k8sfire.jpg",
            "_date_published_rfc2822": "Mon, 16 Nov 2020 21:07:46 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "55",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/k8sfire.jpg",
                    "https:\/\/www.batishchev.ru\/blog\/pictures\/photo_2020-11-16_20-49-37@2x.jpg"
                ]
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}