Библиотека девопса | DevOps, SRE, Sysadmin
10.3K subscribers
1.39K photos
72 videos
4 files
2.6K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
#memes

Пятница близко, запоминаем идею
😁212👍2🔥2
🎢💈 Автоматическая генерация CI/CD пайплайна для развёртывания инфраструктуры

Статья от DevOps-инженера о том, как они создали генератор джоб в GitLab CI/CD и навсегда забыли о ручном написании пайплайнов для развёртывания элементов инфраструктуры.

Читать статью

#туториал
🥱5👏3
Что будете делать если у команды chmod убрали права на исполнение?

💩 Используем утилиту setfacl. По умолчанию её может не быть в системе.
setfacl -m u::rwx,g::rx,o::x /usr/bin/chmod


💩 Можно запустить утилиту chmod, передав её явно динамическому компоновщику. В контексте данной заметки считайте компоновщик интерпретатором для программы chmod. В разных дистрибутивах он может иметь разное название и расположение. Пример для Debian 11:

/usr/lib64/ld-linux-x86-64.so.2 /usr/bin/chmod +x /usr/bin/chmod**


💩 Можно скопировать права с любого исполняемого файла и записать содержимое утилиты chmod в этот файл. Получается рабочая копия chmod. Создаём пустой файл с правами утилиты ls.

cp --attributes-only /usr/bin/ls ./new_chmod


Копируем содержимое утилиты chmod в созданный файл:

cat /usr/bin/chmod > ./new_chmod


Можно использовать:

/new_chmod +x /usr/bin/chmod


💩 Почти то же самое что и предыдущий вариант только проще:

install -m 755 /usr/bin/chmod ./new_chmod


или так:

rsync --chmod=ugo+x /usr/bin/chmod ./new_chmod


💩 Если умеете программировать, то, пример с Python:

python -c "import os;os.chmod('/usr/bin/chmod', 0755)"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥8🤩8😁6👏4
🐳 10 практик безопасности Docker

💈 Предпочитайте минимальные базовые образы

💈 Выбирайте наименее привилегированного пользователя. Просто так root не нужен.

💈 Подписывайте и проверяйте образы для предотвращения MITM-атак

💈 Поиск, исправление и мониторинг уязвимостей с открытым исходным кодом

💈 Не допускайте утечки конфиденциальной информации. Иногда при создании приложения внутри образа Docker вам нужны секреты, такие как закрытый ключ SSH, чтобы извлекать код из частного репозитория, или вам нужны токены для установки частных пакетов. Если вы копируете их в промежуточный контейнер Docker, они кэшируются на том уровне, на который они были добавлены, даже если вы удалите их позже. Эти токены и ключи должны храниться за пределами Dockerfile.

💈 Используйте фиксированные теги для неизменности

💈 Используйте COPY вместо ADD (рекурсивно копирует локальные файлы, неявно создает каталог назначения)

💈 Используйте метки метаданных

💈 Используйте многоступенчатую сборку для небольших и конфиденциальных образов docker. Эта функция позволяет вам использовать несколько временных образов в процессе сборки, сохраняя только последний образ вместе с информацией, которую вы скопировали в него.

💈 Используйте линтер, чтобы избежать распространенных ошибок и разработать рекомендации по наилучшей практике, которым инженеры могут следовать автоматически.

Вот тут подробно описаны все нюансы

#гайд
❤‍🔥21👍7🥰2
This media is not supported in the widget
VIEW IN TELEGRAM
🎉6🔥3👍21🤔1
🤔 Очередной #дайджест для DevOps-ов

🪀 GitOps с расширенным управлением кластерами для Kubernetes — как управлять несколькими кластерами с помощью Argo CD и Advanced Cluster Management for Kubernetes

🪀 Чем так крут язык Lua — как работает Lua, почему он такой быстрый и как работает трассирующий JIT-компилятор в этом языке

🪀 ContainerSSH — SSH-сервер, запускающий контейнеры в Kubernetes и Docker

🪀 Контейнеры и Mikrotik — чем еще можно нагрузить ваш девайс

🪀 Fast-Kubernetes — в репозитории подробно рассматриваются объекты и компоненты Kubernetes, а также возможные сценарии использования
🎉26🔥19👍21
💩🤨 Как устранять неполадки в приложениях Kubernetes

Материал основан на опыте работы автора с этой технологией с 2017 года. Существует множество сторонних инструментов и методик, но в статье используются те, которые можно найти практически на каждом компьютере, или на CLI, которые можно быстро загрузить для MacOS, Windows или Linux.

📌 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
27🔥3👍1🥱1
👀 Ответьте на 3 вопроса, чтобы получить вводные занятия, познакомиться с преподавателями и форматом обучения, можно здесь – https://proglib.io/w/1aa5ed89

Вас ждут:

1. Лекции «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов

2. Лекции «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ

3. Практические задания после лекций

4. Ссылки на дополнительные материалы для самостоятельного изучения

⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/1aa5ed89
👍2❤‍🔥1
👮👮 Безопасность DevOps. Автоматизация и новые инструменты

Цикл популярности понятий из безопасности приложений за 2022 и 2023 год.

В процессе внедрения системы безопасности в DevOps можно использовать многие инструменты, которые уже применяются в компании. Какие-то будут плотно интегрированы в процесс, а другие использоваться периодически.

Кроме старых, внедряются новые инструменты, чтобы устранить пробелы в инструментарии и дополнить возможности для автоматизации. Ключевые инструменты и процессы безопасности показаны на схеме вверху.

Приступайте к рассмотрению каждого этапа автоматизации и внедрения новых инструментов в существующий рабочий процесс.

#почитать
3🥰1
Знаете, чем отличается [[ ]] от [ ] ?

Скрипты с двойными скобками будут работать нативно в bash и ksh. А в POSIX-оболочках таких, как например sh — выпадет ошибка.

А еще в двойных скобках можно использовать операторы: ||, &&, <, ==, =~. В sh такое провернуть не получится.

При использовании оператора < в двойных скобках, экранирование не нужно.

#/bin/sh
[ "$s < abc" ]

#/bin/bash
[[ abc < abc ]]

Главная фича двойных скобок — использование регулярок.

Примеры:

#/bin/bash

s="abc123"
[[ "$s" == abc* ]] # true (globbing)
[[ "$s" == "abc*" ]] # false (literal matching)
[[ "$s" =~ [abc]+[123]+ ]] # true (regular expression)
[[ "$s" =~ "abc*" ]] # false (literal matching)

Если заменить первую строчку на #/bin/sh, то после запуска вылетит ошибка [[: not found.

Если хотите, чтобы скрипты работали везде, используйте синтаксис с одинарными скобками. Но, в свою очередь, использование двойных скобок и связанных с ними фич, делают код более читаемым и ясным для понимания.
👍124🥰4🤩4😁2
🔍Насколько легко «войти в айти»?

Мы продолжаем собирать ваши истории о смене профессии и трудоустройстве в IT, чтобы написать большую аналитическую статью.

👉Если вы еще не рассказывали о своем опыте, пройдите короткий опрос по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁3
🤔 Grafana 10: на что стоит обратить внимание в новом релизе

На GrafanaCON 2023 объявили о выходе десятой версии Grafana — инструмента для мониторинга и визуализации данных. Десятая версия — это последний крупный релиз, в котором появилось множество новых функций.

Grafana 10 помогает: подробнее анализировать данные и приходить к надежным выводам, удобнее работать в команде и делать более красивые дашборды. Grafana 10 полезна как опытным аналитикам, так и тем, кто только начинает свой путь.

👉 Если у вас уже установлена предыдущая версия Grafana, обновите ее

👉 Если предыдущая версия не установлена, скачайте Grafana 10

👉 Если вы не хотите быстро изучить новые функции без установки, зарегистрируйтесь на Grafana Cloud — там есть бесплатный доступ и подписки для любого сценария использования

Полный видос GrafanaCON можно посмотреть здесь.

Читать статью

#почитать
❤‍🔥23👍5👏2
🤔 Очередной #дайджест для DevOps-ов

🔶 «Это не админ на стероидах» — в чём суть роли DevOps

🔶 tailspin — позволяет просматривать логи с подсветкой, что добавляет дополнительное удобство, в ситуациях, когда требуется работать с логами вручную

🔶 Линус Торвальдс, в беседе с Дирком Хонделем — о новых релизах, новостях и разработке

🔶 Postgres-howtos — 70+ советов по работе с PostgreSQL

🔶 snips.sh — pastebin на базе SSH с удобным UI и веб-мордой
🔥28🥰3🌚1
Чему бы вы хотели научиться?
Пишите в комментариях
🚀 Kyverno — это мощный инструмент для управления политиками в среде Kubernetes. Он может проверять, изменять и генерировать конфигурации с помощью контроля доступа и фонового сканирования.

📙 Документация

👉 Быстрый старт
👉 Установка
👉 Политики

🙋‍♂️ Getting Help

👉 Для запросов функций и ошибок есть issue
👉 Для обсуждений есть Slack
👉 Для доступа к митингам — вот
👉 Чтобы получать обновления — репозиторий

#туториал
6👍4👏1
⚙️🛣️ Kubernetes Roadmap

Подробнейшая роадмапа для изучения Kubernetes — давно искали и вот, свершилось 🔥💪

Изучаем и вперед к знаниям

#гайд
5👍2❤‍🔥1🔥1