Библиотека девопса | DevOps, SRE, Sysadmin
Все самое полезное для девопсера в одном канале. Наши курсы: https://clc.to/ZJ7Z1w По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
نمایش بیشتر📈 تحلیل کانال تلگرام Библиотека девопса | DevOps, SRE, Sysadmin
کانال Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 10 388 مشترک است و جایگاه 11 433 را در دسته فناوری و برنامهها و رتبه 61 224 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 10 388 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 30 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -3 و در ۲۴ ساعت گذشته برابر -1 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 7.91% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 4.23% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 822 بازدید دریافت میکند. در اولین روز معمولاً 439 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 2 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند devops'a, навигация, скрипт, docker, git تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Все самое полезное для девопсера в одном канале.
Наши курсы: https://clc.to/ZJ7Z1w
По рекламе: @proglib_adv
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 31 اوت, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
initialDelaySeconds: 10.
2. periodSeconds
Интервал между проверками после первой.
Пример: если вы хотите проверять контейнер каждые 30 секунд, установите periodSeconds: 30.
3. failureThreshold
Указывает, сколько последовательных неудачных проверок Kubernetes допускает до того, как перезапустит контейнер.
Пример: если ваше приложение иногда теряет соединение, установите failureThreshold: 3, чтобы избежать перезапусков при временных сбоях.
4. timeoutSeconds
Время, которое Kubernetes будет ждать от контейнера, прежде чем считать проверку неудачной.
Пример: если приложение может задерживаться с ответом, установите timeoutSeconds: 5, чтобы дать достаточно времени на обработку запроса.
Как избежать конфликтов при настройке проб
Если настроены все три типа проб, важно убедиться, что они не конфликтуют. Например, если настроена Startup проба, то Liveness и Readiness пробы будут выполняться только после её успешного завершения. Это помогает избежать перезапуска контейнера на этапе инициализации, если приложение запускается медленно.
🐸 Библиотека devops'a
#задача_со_звёздочкойПока одни ждут «идеальный момент», другие просто учатся. А потом берут ваши офферы.⚡️ Пока скидка действует, апдейтни свои навыки
FROM golang:1.22-alpine # базовый образ
WORKDIR /app # рабочая директория
COPY . . # копируем файлы
RUN go build -o main . # собираем проект
CMD ["./main"] # команда запуска
• FROM — задаёт базовый слой (например, ubuntu, node, golang)
• WORKDIR — где выполняются команды
• COPY / ADD — добавляют файлы внутрь контейнера
• RUN — выполняет команды во время сборки
• CMD / ENTRYPOINT — определяют, что запустится при старте контейнера
• EXPOSE — сообщает, какие порты слушает контейнер
• ENV — задаёт переменные окружения
1. Docker читает Dockerfile построчно.
2. Каждая команда создаёт слой в образе.
3. Эти слои кэшируются — поэтому повторная сборка идёт быстрее.
4. Готовый образ можно запускать как контейнер, передавая параметры и окружение.
Что такое слой
Каждый слой — это snapshot изменений файловой системы.
На нашем примере:
1️⃣ FROM golang:1.22-alpine
Docker берёт готовый базовый образ с Golang и Alpine Linux.
Это уже несколько слоёв, собранных кем-то раньше:
• минимальная система (Alpine)
• системные библиотеки
• установленный Go-компилятор
Эти слои загружаются из Docker Hub и кэшируются локально.
Все они read-only — вы их не меняете, просто используете как основу.
2️⃣ WORKDIR /app
Создаётся новый слой, где внутри файловой системы появляется папка /app.
Теперь все последующие команды будут выполняться именно в ней.
Даже если она пуста, Docker фиксирует это изменение файловой структуры как отдельный слой.
3️⃣ COPY . .
Docker копирует все файлы из текущей директории (build context) в /app контейнера.
Результат — ещё один слой, где лежат исходники вашего проекта.
Важно: если вы измените хоть один файл —
хэш слоя поменяется, и этот шаг, а также все следующие пересоберутся заново.
4️⃣ RUN go build -o main .
Docker запускает внутри контейнера команду go build.
Она создаёт бинарник main прямо в /app.
После завершения — создаётся новый слой,
в котором лежит тот самый скомпилированный файл.
Предыдущие слои (с исходниками, библиотеками и т.д.) остаются неизменными.
5️⃣ CMD ["./main"]
Это не создаёт новый слой.
CMD добавляет метаданные — какую команду Docker должен запустить,
когда контейнер стартует docker run image_name.
Dockerfile — это сердце контейнеризации. Без него не было бы reproducible-сборок, dev/test окружений и того самого works on my machine.
🐸 Библиотека devops'a
#арсенал_инженераbash -i или curl | sh
➡️ Новость
🐸Библиотека devops'a
#разбор полётовjs_import /etc/njs/aiproxy.js;
server {
listen 4242;
default_type application/json;
location /v1/chat/completions {
set $aiproxy_user $http_x_user;
js_content aiproxy.route;
}
location /openai {
internal;
rewrite ^ /v1/chat/completions;
proxy_set_header Authorization 'Bearer ${OPENAI_API_KEY}';
proxy_pass https://api.openai.com;
}
location /anthropic {
internal;
rewrite ^ /v1/messages;
proxy_set_header x-api-key ${ANTHROPIC_API_KEY};
proxy_pass https://api.anthropic.com;
}
}
Прокси может подгружать права доступа из файла rbac.json, использовать настройки failover и преобразовывать запросы и ответы.
➡️ Блог NGINX
🐸Библиотека devops'a
#арсенал_инженераbody специально создан для того, чтобы показать центральные строки файла — с настройками контекста, подсветкой, номерами строк и именами файлов.
Пример:
body -C5 app.log
Скрипт найдёт середину файла
🐸Библиотека devops'a
#арсенал_инженераkubectl delete all --all -n <namespace>
Удалить все ресурсы во всех namespace’ах:
kubectl delete all --all --all-namespaces
Очистить хвосты — ConfigMap, Secrets, PVC, Jobs и т.п:
kubectl delete configmap,secret,pvc,pv,job,cronjob --all --all-namespaces
Удалить все namespace’ы кроме системных:
for ns in $(kubectl get ns --no-headers | awk '!/kube-system|kube-public|kube-node-lease|default/ {print $1}'); do
kubectl delete ns $ns
done
🐸Библиотека devops'a
#root@promptЧто происходит в Kubernetes, когда под не проходит liveness probeБольшинство кандидатов отвечают: «Он перезапускается». Но это — только верхушка айсберга. Под капотом Kubernetes: 1. Когда liveness probe проваливается kubelet сообщает об этом API Server, который записывает Pod как unhealthy в etcd. 2. Дальше kubelet через containerd/CRI-O убивает контейнер и проверяет restartPolicy: если можно — перезапускает, если нет — Pod считается завершённым. 3. Контроллер ReplicaSet видит, что живых Pod’ов меньше, и создаёт новый. 4. Scheduler выбирает подходящий узел, а kube-proxy убирает сбойный Pod из маршрутов сервиса. 5. В kubectl describe pod появляются события, но если Prometheus не следит за ними — узнаете о проблеме только от пользователей. Сеньор-уровень — это не про YAML, а про понимание того, что конкретно происходит. 🐸Библиотека devops'a #Задача_со_звёздочкой
