🤔 Очередной #дайджест для DevOps-ов
⏏️ Как сделать Kubernetes еще круче — о том, как повысить стабильность приложений в К8s кластерах с высокой критичностью для бизнеса
⏏️ Оптимизируем масштабируемость и экономическую эффективность Kubernetes с помощью Karpenter — узнаете обоснование и подход для повышения масштабируемости и эффективности кластера Kubernetes
⏏️ Оптимизация DevOps — как персональные стенды и Grafana улучшают разработку и мониторинг
⏏️ Развертывание веб-приложения на Docker Swarm — как запилить автоматизированное создание образа Docker для сайта
⏏️ Пишем оператор Kubernetes: руководство для начинающих — как создать кастомный оператор ConfigmapSync для синхронизации Configmap между пространствами имен
⏏️ Как сделать Kubernetes еще круче — о том, как повысить стабильность приложений в К8s кластерах с высокой критичностью для бизнеса
⏏️ Оптимизируем масштабируемость и экономическую эффективность Kubernetes с помощью Karpenter — узнаете обоснование и подход для повышения масштабируемости и эффективности кластера Kubernetes
⏏️ Оптимизация DevOps — как персональные стенды и Grafana улучшают разработку и мониторинг
⏏️ Развертывание веб-приложения на Docker Swarm — как запилить автоматизированное создание образа Docker для сайта
⏏️ Пишем оператор Kubernetes: руководство для начинающих — как создать кастомный оператор ConfigmapSync для синхронизации Configmap между пространствами имен
❤7👏6😁5🎉5🤩5
Forwarded from Библиотека собеса по DevOps | вопросы с собеседований
Что такое CBD?
Компонентно-ориентированное программирование (CBD) представляет собой инновационный подход к разработке продукта. Вместо традиционного создания продукта с нуля, разработчики используют CBD для поиска уже существующих, проверенных и качественных компонентов, которые затем комбинируются для создания нового и оригинального продукта. Этот подход позволяет улучшить качество и надежность продукта, а также упростить его сопровождение и обновление, благодаря использованию уже проверенных компонентов. CBD открывает новые возможности для разработчиков, позволяя им быстрее и эффективнее создавать продукты, используя уже существующие ресурсы. нового и оригинального продукта. Этот процесс проходит вместо обычного для многих процесса создания продукта с нуля.
Компонентно-ориентированное программирование (CBD) представляет собой инновационный подход к разработке продукта. Вместо традиционного создания продукта с нуля, разработчики используют CBD для поиска уже существующих, проверенных и качественных компонентов, которые затем комбинируются для создания нового и оригинального продукта. Этот подход позволяет улучшить качество и надежность продукта, а также упростить его сопровождение и обновление, благодаря использованию уже проверенных компонентов. CBD открывает новые возможности для разработчиков, позволяя им быстрее и эффективнее создавать продукты, используя уже существующие ресурсы. нового и оригинального продукта. Этот процесс проходит вместо обычного для многих процесса создания продукта с нуля.
❤3🥰1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍2
💪💪 Современная безопасность контейнерных приложений
Чем раньше команда задумается о проблеме безопасности, тем лучше. В этой статье обсуждается, какие проблемы ИБ есть в стандартном контейнерном приложении и безопасность использования Docker, Kubernetes и Terraform, а также, как можно встроить проверки в стандартный пайплайн деплоя.
Будет интересно DevOps-инженерам, специалистам по безопасности, владельцам продуктов и всем, кто хочет:
🔹 научиться строить безопасный деплой
🔹 автоматизировать проверки безопасности
🔹 понимать проблемы и обсуждать их в команде
Читать статью
#туториал
Чем раньше команда задумается о проблеме безопасности, тем лучше. В этой статье обсуждается, какие проблемы ИБ есть в стандартном контейнерном приложении и безопасность использования Docker, Kubernetes и Terraform, а также, как можно встроить проверки в стандартный пайплайн деплоя.
Будет интересно DevOps-инженерам, специалистам по безопасности, владельцам продуктов и всем, кто хочет:
🔹 научиться строить безопасный деплой
🔹 автоматизировать проверки безопасности
🔹 понимать проблемы и обсуждать их в команде
Читать статью
#туториал
❤2👏1
Стоит задача: провести ТО на сервере и всех выгнать с него.
Создаем пустой файл /etc/nologin. Теперь только root сможет авторизоваться по ssh. Предварительно нужно разрешить вообще заходить под root’ом.
Теперь нужно всех уведомить, кто в данный момент что-то делает в терминале.
Для этого воспользуемся утилитой wall.
Wall — утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей.
Запускаем команду:
Все кто был подключен к серверу, получают сообщение:
И неважно что делает человек и где находится, сообщение появится у него на экране. Через wall можно спамить определенным группам пользователей.
В указанное время запускаем ассасина:
Выгнали всех с сервера, кроме root’а и проводим технические работы, удаляем /etc/nologin.
Wall можно заменить например на такое:
Но тут сообщение уйдет конкретному пользователю user. Конечно, если по какой-то причине, в системе отсутствует wall, можно и через цикл выгрести всех юзеров и через echo отправить им уведомление.
write - утилита, позволяющая отправить сообщение другому пользователю, который имеет сессию в этой же системе.
Или так:
Создаем пустой файл /etc/nologin. Теперь только root сможет авторизоваться по ssh. Предварительно нужно разрешить вообще заходить под root’ом.
Теперь нужно всех уведомить, кто в данный момент что-то делает в терминале.
Для этого воспользуемся утилитой wall.
Wall — утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей.
Запускаем команду:
wall "... текст сообщения ..."
Все кто был подключен к серверу, получают сообщение:
Broadcast message from root@dev (pts/0) (текущая дата/время):
... текст сообщения ...
И неважно что делает человек и где находится, сообщение появится у него на экране. Через wall можно спамить определенным группам пользователей.
В указанное время запускаем ассасина:
pkill -9 -u `who | awk '{print $1}'| grep -v root|head -1
Выгнали всех с сервера, кроме root’а и проводим технические работы, удаляем /etc/nologin.
Wall можно заменить например на такое:
echo "какой-то текст" | write user
Но тут сообщение уйдет конкретному пользователю user. Конечно, если по какой-то причине, в системе отсутствует wall, можно и через цикл выгрести всех юзеров и через echo отправить им уведомление.
write - утилита, позволяющая отправить сообщение другому пользователю, который имеет сессию в этой же системе.
Или так:
echo "какой-то текст" > /dev/pts/1
👍25👏3🎉3🔥2🥰2
🤔❓ Как использовать OpenPubkey для SSH без SSH-ключей
Что, если бы вы могли подключаться по SSH, не беспокоясь об SSH-ключах? Без необходимости думать о том, что SSH-ключи могут быть потеряны, украдены, переданы другим пользователям, заменены или забыты? В этой статье повествуется, как подключиться по SSH к удаленному Docker-у, используя только почтовую учетку или единый вход (SSO).
Продолжение тут
#туториал
Что, если бы вы могли подключаться по SSH, не беспокоясь об SSH-ключах? Без необходимости думать о том, что SSH-ключи могут быть потеряны, украдены, переданы другим пользователям, заменены или забыты? В этой статье повествуется, как подключиться по SSH к удаленному Docker-у, используя только почтовую учетку или единый вход (SSO).
Продолжение тут
#туториал
👍11🔥11❤1
#вопросы_с_собеседования
Для решения каких задач применяется docker-compose?
Docker Compose — это инструментальное средство, входящее в состав Docker. Оно предназначено для решения задач, связанных с развёртыванием проектов. Вы передаёте файл с инструкциями для docker-compose, настроечными файлами, и докер на месте собирает из этого нужную вам комбинацию контейнеров, подтягивает образы нужных версий, пробрасывает в них волюмы с данными, поднимает между ними локальные сети и настраивает порты обмена.
Для решения каких задач применяется docker-compose?
Docker Compose — это инструментальное средство, входящее в состав Docker. Оно предназначено для решения задач, связанных с развёртыванием проектов. Вы передаёте файл с инструкциями для docker-compose, настроечными файлами, и докер на месте собирает из этого нужную вам комбинацию контейнеров, подтягивает образы нужных версий, пробрасывает в них волюмы с данными, поднимает между ними локальные сети и настраивает порты обмена.
👍9❤1
GQL
GQL — это язык запросов с синтаксисом, очень похожим на SQL, с крошечным движком для выполнения запросов к файлам .git вместо файлов базы данных. Движок выполняет запрос «на лету» без необходимости создавать файлы базы данных или конвертировать файлы .git в любой другой формат.
Установка из менеджеров пакетов
Cargo.io
cargo install gitql
Widget в Windows
winget install gitql
Scoop в Windows
scoop install git ql
Полная документация здесь
GQL — это язык запросов с синтаксисом, очень похожим на SQL, с крошечным движком для выполнения запросов к файлам .git вместо файлов базы данных. Движок выполняет запрос «на лету» без необходимости создавать файлы базы данных или конвертировать файлы .git в любой другой формат.
Установка из менеджеров пакетов
Cargo.io
cargo install gitql
Widget в Windows
winget install gitql
Scoop в Windows
scoop install git ql
Полная документация здесь
❤🔥18👍3❤1🥰1😁1
🤔 Очередной #дайджест для DevOps-ов
🔹 Автоматические бэкапы БД PostgreSQL по расписанию — скрипт для создания бэкапов БД PostgreSQL за определенный период, как запустить с помощью расписания crontab и настроить синхронизацию папки с бэкапами с облаком Yandex Disk
🔹 Трассировка OpenTelemetry с помощью tracepusher — гайд по открытому стандарту, который позволяет вести журналы, метрики и распределенные трассировки
🔹 Инструкция: как поднять GitLab CI/CD на GoLang-проекте — подробный и понятный туториал с использованием докера и кучи конфигов
🔹 Руководство по построению стандартного CI Pipeline с помощью Jenkins — использование HTTP-сервера на Python с удаленным репозиторием, конвейером Jenkins и тестированием на SonarQube
🔹 Пять инструментов для вашего кластера K8s — рассмотрение таких тулз, как Prometheus, Cyclops, Keda, Karpenter и Velero
🔹 Автоматические бэкапы БД PostgreSQL по расписанию — скрипт для создания бэкапов БД PostgreSQL за определенный период, как запустить с помощью расписания crontab и настроить синхронизацию папки с бэкапами с облаком Yandex Disk
🔹 Трассировка OpenTelemetry с помощью tracepusher — гайд по открытому стандарту, который позволяет вести журналы, метрики и распределенные трассировки
🔹 Инструкция: как поднять GitLab CI/CD на GoLang-проекте — подробный и понятный туториал с использованием докера и кучи конфигов
🔹 Руководство по построению стандартного CI Pipeline с помощью Jenkins — использование HTTP-сервера на Python с удаленным репозиторием, конвейером Jenkins и тестированием на SonarQube
🔹 Пять инструментов для вашего кластера K8s — рассмотрение таких тулз, как Prometheus, Cyclops, Keda, Karpenter и Velero
👍5🎉5❤4🥰4👏4
Вебинар по Tarantool «Строим кэши и витрины данных»
Когда: 8 февраля, 16:00 МСК онлайн
Узнаете, как быстро и удобно разрабатывать кэши и витрины данных на основе коробочной СУБД для ускорения ИТ-систем.
Рассматриваемые вопросы:
👉 Как быстро «из коробки» запустить, настроить и наполнить данными кластерную базу данных.
👉 Как выполнять CRUD-операции с данными на языке бизнес-приложения.
👉 Как обеспечить сохранность данных при кэшировании.
👉 Как обеспечить горизонтальное масштабирование без ущерба для производительности.
Также будет рассмотрен опыт крупных банков и телекома в создании хранилищ сессий, витрин для платежных данных, валютных операций и т. д.
Спикеры:
🔹 Руслан Галиев, менеджер продукта Tarantool DB
🔹 Артем Дубинин, старший программист Tarantool
🔹 Евгений Афанасьев, архитектор Tarantool
Вебинар будет полезен архитекторам, инженерам DevOps и разработчикам высоконагруженных систем.
Регистрация тут
#мероприятие
Когда: 8 февраля, 16:00 МСК онлайн
Узнаете, как быстро и удобно разрабатывать кэши и витрины данных на основе коробочной СУБД для ускорения ИТ-систем.
Рассматриваемые вопросы:
👉 Как быстро «из коробки» запустить, настроить и наполнить данными кластерную базу данных.
👉 Как выполнять CRUD-операции с данными на языке бизнес-приложения.
👉 Как обеспечить сохранность данных при кэшировании.
👉 Как обеспечить горизонтальное масштабирование без ущерба для производительности.
Также будет рассмотрен опыт крупных банков и телекома в создании хранилищ сессий, витрин для платежных данных, валютных операций и т. д.
Спикеры:
🔹 Руслан Галиев, менеджер продукта Tarantool DB
🔹 Артем Дубинин, старший программист Tarantool
🔹 Евгений Афанасьев, архитектор Tarantool
Вебинар будет полезен архитекторам, инженерам DevOps и разработчикам высоконагруженных систем.
Регистрация тут
#мероприятие
❤🔥15❤2👏2
😈 Даркнет: как устроен теневой рынок труда
Рассказываем, как устроен теневой рынок даркнета, каких ИТ-специалистов там ищут и какую зарплату предлагают.
🔗 Читать статью
🔗 Зеркало
Рассказываем, как устроен теневой рынок даркнета, каких ИТ-специалистов там ищут и какую зарплату предлагают.
🔗 Читать статью
🔗 Зеркало
😁4👍2❤1
Если сложить все эти числа, то получится обычное число 42. Число и число…
Со времен появления проекта GNU (GNU's Not Unix) это число имело для них какой-то потаённый смысл.
К примеру, если в редакторе vi/vim ввести:
Все логично, число 42 стало символом для сообщества фанатов научной фантастики и часто упоминается в шутках и широко используется в поп-культуре.
Существует теория заговора, называемая «42-ой теорией заговора», которая исходит из идеи, что число 42 имеет глубокий смысл или тайное значение, скрытое правительствами или другими могущественными организациями.
Хотя такие теории заговора могут быть увлекательными, важно отметить, что число 42 не обладает никаким таинственным или сверхъестественным значением в реальном мире. Оно просто является элементом фольклора, шуток и культурных отсылок, и не имеет каких-либо серьезных конспирологических подоплек.
А вы читали/смотрели «Автостопом по галактике»?
echo $((7 + 14 + 21))
Со времен появления проекта GNU (GNU's Not Unix) это число имело для них какой-то потаённый смысл.
К примеру, если в редакторе vi/vim ввести:
:help 42
Увидим нечто странное:
Вelection, the selection will be used unmodified. When there is a selection
but you click outside of it, the selection is removed.
There is a separate popup menu for each mode. Thus there are never grey
items like in the normal menus.
What is the meaning of life, the universe and everything? 42
Douglas Adams, the only person who knew what this question really was about is
now dead, unfortunately. So now you might wonder what the meaning of death
is...
Next chapter: usr_43.txt Using filetypes
Copyright: see manual-copyright vim:tw=78:ts=8:noet:ft=help:norl:
Но это всего лишь цитата из книги английского писателя Дугласа Адамса «Автостопом по галактике». Где супер компьютер Deep Thought дал ответ на главный вопрос жизни, вселенной и всего остального. И этот ответ был 42.
Все логично, число 42 стало символом для сообщества фанатов научной фантастики и часто упоминается в шутках и широко используется в поп-культуре.
Существует теория заговора, называемая «42-ой теорией заговора», которая исходит из идеи, что число 42 имеет глубокий смысл или тайное значение, скрытое правительствами или другими могущественными организациями.
Хотя такие теории заговора могут быть увлекательными, важно отметить, что число 42 не обладает никаким таинственным или сверхъестественным значением в реальном мире. Оно просто является элементом фольклора, шуток и культурных отсылок, и не имеет каких-либо серьезных конспирологических подоплек.
А вы читали/смотрели «Автостопом по галактике»?
👍23❤8🤩4👏3😁3
📺 FOSDEM — бесплатное мероприятие для разработчиков ПО, где они могут встретиться, поделиться идеями и сотрудничать. Каждый год тысячи разработчиков свободного ПО со всего мира собираются на мероприятии в Брюсселе. Регистрация не нужна 👍
👉 Некоторые записи первого дня доступны по тут (выбираем трек, затем тему в нём)
👉 Трансляция доступна по ссылке
#видео
👉 Некоторые записи первого дня доступны по тут (выбираем трек, затем тему в нём)
👉 Трансляция доступна по ссылке
#видео
👍3❤1🔥1
Jib
Jib создает оптимизированные образы Docker и OCI для ваших приложений Java без Docker и лишних хлопот. Он доступен в виде плагинов для Maven и Gradle, а также в виде библиотеки Java.
Цели
👉 Jib разделяет приложение на несколько слоев, отделяя зависимости от классов. Не нужно ждать, пока Docker перестроит все Java-приложение — просто разверните измененные слои.
👉 При перестройке образа контейнера с тем же содержимым всегда создается один и тот же образ.
👉 Создайте образ Docker из Maven или Gradle и переносите. Больше не нужно создавать Dockerfiles и вызывать docker build/push.
Jib создает оптимизированные образы Docker и OCI для ваших приложений Java без Docker и лишних хлопот. Он доступен в виде плагинов для Maven и Gradle, а также в виде библиотеки Java.
Цели
👉 Jib разделяет приложение на несколько слоев, отделяя зависимости от классов. Не нужно ждать, пока Docker перестроит все Java-приложение — просто разверните измененные слои.
👉 При перестройке образа контейнера с тем же содержимым всегда создается один и тот же образ.
👉 Создайте образ Docker из Maven или Gradle и переносите. Больше не нужно создавать Dockerfiles и вызывать docker build/push.
👏2❤1🔥1
#дайджест репозиториев для DevOps-а
◾ Dive — инструмент для изучения образов Docker, помогающий анализировать содержимое образов для их дальнейшей оптимизации
◾ Kubernetes The Hard Way — пошаговое руководство по настройке кластеров Kubernetes с нуля, позволяющее получить глубокое представление о внутреннем устройстве Kubernetes
◾ GoReleaser — проект позволяет легко и быстро создавать deb пакеты
◾ awesome-prometheus — список ресурсов, инструментов и интеграций с Prometheus
◾ Molecule — фреймворк для тестирования кода инфраструктуры с помощью Ansible, помогающий в разработке и проверке ролей и плейбуков
◾ Dive — инструмент для изучения образов Docker, помогающий анализировать содержимое образов для их дальнейшей оптимизации
◾ Kubernetes The Hard Way — пошаговое руководство по настройке кластеров Kubernetes с нуля, позволяющее получить глубокое представление о внутреннем устройстве Kubernetes
◾ GoReleaser — проект позволяет легко и быстро создавать deb пакеты
◾ awesome-prometheus — список ресурсов, инструментов и интеграций с Prometheus
◾ Molecule — фреймворк для тестирования кода инфраструктуры с помощью Ansible, помогающий в разработке и проверке ролей и плейбуков
👍3🔥1
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Приведите основные типы DNS записей и расскажите, для чего они используются.
A — запись соответствия с IPv4 адресом;
AAAA — запись соответствия с IPv6 адресом;
CNAME — запись соответствия другому доменному имени;
MX — адресная запись, указывающая на почтовый сервер домена;
NS — адресная запись указывающая на DNS-резолверы, отвечающие за данный домен;
TXT — произвольная текстовая запись в домене, часто используется для верификации принадлежности домена.
A — запись соответствия с IPv4 адресом;
AAAA — запись соответствия с IPv6 адресом;
CNAME — запись соответствия другому доменному имени;
MX — адресная запись, указывающая на почтовый сервер домена;
NS — адресная запись указывающая на DNS-резолверы, отвечающие за данный домен;
TXT — произвольная текстовая запись в домене, часто используется для верификации принадлежности домена.
👍16❤2🔥2