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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
Знаете, чем отличается [[ ]] от [ ] ?

Скрипты с двойными скобками будут работать нативно в 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
🎅 Новый год — отличное время для старта!

🎄Новый год начинается с подарков, а лучший подарок для себя — новые знания! Потому что ну а когда начинать учиться новому, если не в новом году. Выбирайте курс, оставляйте заявку и менеджер вас проконсультирует — https://proglib.io/w/b963d80d

📚 Начать всегда можно с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.

Конечно, советуем обратить внимание на наши самые популярные курсы:
Математика для Data Science — 19 490 ₽ (вместо 29 990 ₽)
Алгоритмы и структуры данных — 23 390 ₽ (вместо 35 990 ₽)

🔥 Все цены на сайте уже включают скидку 35%, поэтому не упустите возможность зайти на курс по самой выгодной цене.

☺️ Доступ бессрочный, поэтому учиться вы сможете в своем темпе.

👉 Если вы сомневаетесь в пользе обучения для своего профессионального трека, оставляете заявку. Менеджер поможет разобраться с этим и любым другим вопросом — https://proglib.io/w/b963d80d

🫶 Всех с наступающим новым годом!
2
🤖🫴 Размещение телеграм бота (Aiogram3) на VPS/VDS

Простой способ развертывания телеграмм бота, написанного на Aiogram v.3.2.0 + Webhook на VPS/VDS.
Два способа установки SSL сертификатов:
♦️ Бесплатный сертификат Let's encrypt
♦️ Самоподписанный SSL

Смотреть

#видео
👍4🥱3
#вопросы_с_собеседования

В чем разница между docker stop и docker pause?

В том, что они разные сигналы посылают
docker pause — SIGSTOP(19), что приостанавливает процессы в контейнере
docker stop — sigterm и sigkill использует к главному процессу контейнера
👍42
🤙🧑‍⚕️ Анализ исходного кода — понимаем Kubelet

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

Читать

#гайд
4👍2🥰2
🤔 Очередной #дайджест для DevOps-ов

Аутентификация в Kubernetes через Gitlab'овские JWT токены — последовательность процессов при деплое, используя kubectl/helm

Что происходит, когда вы создаёте Pod в Kubernetes? — статья будет полезна тем, кто изучает Kubernetes, знакомится с его компонентами и абстракциями

Классификация ЦОД — что такое Tier и какой подходит бизнесу

Топ-20 лучших практик Dockerfile — как предотвратить проблемы с безопасностью и оптимизировать контейнеризированные приложения

Python для сетевых инженеров — курс от базовых вещей, до ООП
4🥰2👍1
🎄 До Нового года осталось совсем чуть-чуть, поэтому мы подводим итоги

🧑‍🎄 За год наше комьюнити стало больше почти на 3000 человек

❤️ Особенно вам понравились вот эти посты:

Шпаргалка по протоколам коммуникации, DevOps, CI/CD
Знаете, чем отличается [[ ]] от [ ]
Дайджест новых статей и инструментов
Протокол RADIUS: Управление доступом и безопасность в сетях
KubePug
Вопрос с собеседования

💜 А ещё вы с интересом читали эти статьи:

ТОП-8 книг по DevOps в 2023 году
Дорожная карта DevOps-инженера в 2023 году

🧑‍💻 В 2023 году мы запустили несколько новых каналов:

Библиотека собеса по DevOps | вопросы с собеседований
Библиотека задач по DevOps | тесты, код, задания

🎁 И последнее, но не менее важное: мы сделали скидку -35% на все курсы нашей академии proglib.academy
3🔥1
🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления

Измотаны бесконечной работой и не можете расслабиться? Попробуйте 5 психологических техник — от глубокого дыхания до визуализации пляжа — которые помогут насладиться заслуженным отдыхом.

Читать статью
👍4
Знали ли вы про такую команду в linux как - «yes»?

Команда yes служит для вывода в стандартный поток (stdout) строки «y» или любой другой строки. Если ее запустить по умолчанию, команда будет бесконечно сыпать строку «y».


Например, есть у вас консольная команда, которая во время своей работы будет запрашивать подтверждение: а вы точно уверены, что удаляете тестовую базу данных? Вот на такие случаи и нужна команда «yes», чтобы не руками вводить подтверждение, а делегировать это действие.

Полезно для пайплайнов. Бывает такое, что у программы нет ключей типа apt -y install, а подтверждать как-то в автоматическом режиме нужно.

Синтаксис проброса стандартный, через систему пайпов:

yes | apt install nginx


В примере выше, когда пакетный менеджер попросит нажать Y, команда «yes» автоматически это сделает и начнется процесс установки.

Не забываем, про передачу аргументов, если внешняя программа например хочет чтобы вы ввели слово: «hello» делаем так:

yes hello | apt install nginx


Но обычно на практике, в 99% случаев команда «yes» запускается без аргументов, так как большинство запрашивает именно Yes.


Если есть команда «yes», значит должна быть и «no». Но увы 😁. Так вот если нужно отменить, передайте в «yes» аргументом строку «no» 💩.

Что-то может запросить простого нажатия Enter, например когда в репозиторий добавляется gpg ключ. Как послать Enter? А вот так:

yes "" | <твоя команда>


Это сработает как Enter потому, что команда «yes» выводит в stdout не просто сроку Y, но еще и завершает ее в конце символом Enter. Вот именно поэтому при запуске чистого «yes», строчки на экране будут идти столбиком.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍241🔥1