Библиотека девопса | DevOps, SRE, Sysadmin
Все самое полезное для девопсера в одном канале. Наши курсы: https://clc.to/ZJ7Z1w По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Ko'proq ko'rsatish📈 Telegram kanali Библиотека девопса | DevOps, SRE, Sysadmin analitikasi
Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 389 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 426-o'rinni va Rossiya mintaqasida 61 246-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 389 obunachiga ega bo‘ldi.
29 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -2 ga, so‘nggi 24 soatda esa -1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 10.44% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 4.23% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 085 marta ko‘riladi; birinchi sutkada odatda 439 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 1 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent devops'a, навигация, скрипт, docker, git kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Все самое полезное для девопсера в одном канале.
Наши курсы: https://clc.to/ZJ7Z1w
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 30 Avgust, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
resource "aws_db_instance" "database" {
password = "notasecurepassword"
}
Правильный подход:
1. Объявляем переменную в variables.tf:
variable "db_password" {
type = string
}
2. Создаем secrets.tfvars:
db_password = "insecurepassword"3. Используем переменную:
resource "aws_db_instance" "database" {
password = var.db_password
}
Не забудьте добавить secrets.tfvars в .gitignore
Но это только первый шаг. Хранить секреты в файлах — всё ещё не лучшее решение.
🐸 Библиотека devops'a
#root@promptjournalctl --since "1 hour ago" | grep -i error
Вытаскивает все записи с ошибками за нужный промежуток. Можно изменить период: «10 minutes ago», «2 hours ago», «today».
🐸 Библиотека devops'a
#root@promptdate из пакета rust-coreutils, который блокирует автоматическую проверку доступных обновлений системы.
Как проверить, затронута ли ваша система:
dpkg -l rust-coreutils
Затронуты системы с версией: <= 0.2.2-0ubuntu2
Не затронуты системы с версией: >= 0.2.2-0ubuntu2.1
Быстрый фикс:
sudo apt install --update rust-coreutils
Если вы регулярно обновляете систему вручную через apt, скорее всего вы уже не затронуты.
➡️ Источник
🐸 Библиотека devops'a
#пульс_индустрииscreen — это программа, которая не даёт вашим командам на сервере прерваться, если интернет пропал или вы закрыли терминал.
Как пользоваться
Создать новую сессию:
screen -S my-task
Теперь вы внутри screen. Запускайте команды как обычно.
Выйти из сессии (она продолжит работать):
Нажмите Ctrl+A, отпустите, потом нажмите D
Посмотреть все запущенные сессии:
screen -ls
Вернуться в сессию:
screen -r my-task
Открыть ещё одну вкладку внутри screen:
Ctrl+A, потом C
Переключаться между вкладками:
Ctrl+A, потом N — следующая вкладка
Ctrl+A, потом P — предыдущая вкладка
Ctrl+A, потом цифра (0, 1, 2...) — конкретная вкладка
Убить конкретную сессию:
screen -X -S 12345 quit
Лайфхак: всегда давайте сессиям понятные имена (-S backup, -S deploy), а не оставляйте автоматические номера — так проще найти нужную.
🐸 Библиотека devops'a
#арсенал_инженераexec в Debug Console — и вы получите живой shell внутри образа, который сейчас собирается.
➡️ Попробовать фишки
🐸 Библиотека devops'a
#арсенал_инженера$ kubectl get pods -A | grep -E 'Completed|Error|Evicted' | wc -l
847
Как почистить кластер
Удалить все Completed поды:
kubectl get pods -A --field-selector=status.phase==Succeeded \
-o json | jq -r '.items[] | "\(.metadata.namespace) \(.metadata.name)"' \
| xargs -n2 bash -c 'kubectl delete pod -n $0 $1'
Или проще, если у вас kubectl 1.24+:
kubectl delete pods --all-namespaces \
--field-selector=status.phase==Succeeded
Удалить все Failed поды:
kubectl delete pods --all-namespaces \
--field-selector=status.phase==Failed
Удалить Evicted поды
Тут хитрее, потому что Evicted — это не phase, а reason:
kubectl get pods -A -o json | \
jq -r '.items[] | select(.status.reason=="Evicted") | "\(.metadata.namespace) \(.metadata.name)"' | \
xargs -n2 bash -c 'kubectl delete pod -n $0 $1'
Удалить всё разом:
kubectl get pods -A -o json | \
jq -r '.items[] |
select(.status.phase=="Succeeded" or .status.phase=="Failed" or .status.reason=="Evicted") |
"\(.metadata.namespace) \(.metadata.name)"' | \
xargs -n2 bash -c 'kubectl delete pod -n $0 $1 --ignore-not-found=true'
Чистый кластер — счастливый кластер.
🐸 Библиотека devops'a
#арсенал_инженера