DevOps
23.7K subscribers
1.21K photos
155 videos
15 files
1.07K links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥полезные ит-каналы

https://xn--r1a.website/Golang_google - Golang программирование

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golang_jobsgo - jobs

РКН: clck.ru/3FmvZA

#VRHSZ
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Opsmate — AI-помощник для SRE и DevOps

Opsmate — это открытый AI-инструмент, созданный для автоматизации и упрощения задач SRE и DevOps. Он предоставляет интерфейс на естественном языке для управления инфраструктурой, устранения неполадок и анализа производительности.

🔧 Что умеет:
• 📝 Интерфейс на естественном языке — управляй инфраструктурой как через чат
• 🎓 Поддержка LLM — OpenAI, Anthropic, xAI
• 🛠️ Локальные, Docker, K8s, SSH
• 📈 Интеграция с Prometheus, контекстные дашборды

• GitHub

#SRE #DevOps #AItools #LLMops
👍6🔥2❤1
👩‍💻 Kubernetes The Hard Way

• На разработку этого гайда было потрачено два года : множество тестов тысячи перезапусков, сотни пересобранных кластеров — все это в одном гайде.

Чистый Kubernetes вручную — никакого kubeadm и прочих упрощений.

- Удобные алиасы, функции и обёртки для командной строки

- Десятки скриптов, проверенных в реальных боевых условиях

- Важные нюансы, о которых не рассказывают в стандартных туториалах

➡Введение;
➡Архитектура развертывания
➡Почему «The Hard Way»;
➡Создание инфраструктуры;
➡Базовая настройка узлов;
➡Загрузка модулей ядра;
➡Настройка параметров sysctl;
➡Установка компонентов;
➡Настройка компонентов;
➡Проверка готовности компонентов;
➡Работа с сертификатами;
➡Создание корневых сертификатов;
➡Создание сертификатов приложений;
➡Создание ключа подписи ServiceAccount;
➡Создание всех сертификатов;
➡Создание конфигураций kubeconfig;
➡Создание всех kubeconfig;
➡Проверка блока сертификатов;
➡Создание static pod-ов управляющего контура;
➡Создание всех static pod-ов управляющего контура;
➡Создание static pod-ов ETCD кластера;
➡Запуск службы Kubelet;
➡Проверка состояния кластера;
➡Настройка ролевой модели;
➡Загрузка конфигурации в кластер;
➡Загрузка корневых сертификатов в кластер;
➡Маркировка и ограничение узлов.

#Kubernetes #devops #clusters

@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤15🔥11❤‍🔥1
CI/CD без боли: оптимизация пайплайнов на GitHub Actions 🚀

GitHub Actions — мощный инструмент, но без оптимизации ваш пайплайн легко превратится в тормозную мясорубку. Разбираемся, как выжать максимум из CI/CD на GitHub.


Почему это важно:
Быстрые и надёжные пайплайны — ключ к высокой скорости доставки. Медленные сборки = потеря времени, нервов и денег.


1. Кэшируй разумно
Используй actions/cache для ускорения зависимостей, но не кэшируй всё подряд. Пример для Node.js:


- uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-


⚠️ Ключ должен быть завязан на lock-файлы, иначе можно словить конфликты версий.


2. Делай job-ы параллельными
Разделяй пайплайн на независимые шаги — unit-тесты, линтеры, сборка. Добавляй needs: там, где реально нужно, а не везде.


3. Matrix strategy — must-have
Хочешь тестировать на разных версиях языка/ОС? Используй matrix:


strategy:
matrix:
node-version: [16, 18, 20]


Это масштабирует проверку без дублирования кода.


4. Отключи ненужные события
Не запускай воркфлоу на каждом чихе. Используй on: грамотно:


on:
push:
branches:
- main
pull_request:
paths:
- 'src/**'


Это поможет не перегружать runners.


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


on:
workflow_dispatch:



6. Логи и таймауты — твои друзья
Добавляй timeout-minutes к job-ам и выводи ключевые логи через ::group:: и ::endgroup::, чтобы не утонуть в консоли.


Вывод:
Грамотно настроенный GitHub Actions экономит время и снижает головную боль. Избегай монолитных пайплайнов, кэшируй умно и тестируй только то, что нужно. Автоматизация — это про контроль, а не хаос.


#devops #девопс
👍14🔥6❤1
🛠 25+ FTP-вопросов для собеседований: разбор с ответами

Если ты DevOps-инженер, системный администратор или сетевой специалист, то протокол FTP (File Transfer Protocol) тебе наверняка знаком. На собеседованиях часто задают вопросы по его устройству, безопасности и конфигурации. Команда Tecmint собрала ключевые FTP-вопросы с ответами, которые стоит выучить. Вот основные из них:

🔹 Что такое FTP?
File Transfer Protocol — это стандартный сетевой протокол, используемый для передачи файлов между клиентом и сервером по TCP/IP.

🔹 На каких портах работает FTP?
По умолчанию:
• Порт 21 — управляющее соединение
• Порт 20 — передача данных (в активном режиме)

🔹 Чем отличается активный и пассивный режим FTP?
В активном режиме сервер инициирует соединение для передачи данных, в пассивном — клиент сам подключается к случайному порту сервера.
💡 Пассивный режим чаще используют за NAT/фаерволами.

🔹 Что такое анонимный FTP?
Это доступ к FTP-серверу без пароля (обычно используется anonymous или ftp в качестве логина). Часто применяется для публичных загрузок.

🔹 Какие популярные FTP-серверы в Linux?
• vsftpd
• proftpd
• Pure-FTPd

🔹 Как обеспечить безопасность FTP?
Обычный FTP передаёт данные в незашифрованном виде. Для защиты используют:
• FTPS (FTP over SSL/TLS)
• SFTP (через SSH) — это вообще другой протокол
Также: ограничение по IP, chroot jail, шифрование паролей, запрет анонимного доступа.

🔹 Различия между FTP и SFTP?
• SFTP работает через SSH (порт 22)
• Обеспечивает полное шифрование
• Безопаснее, но несовместим с обычными FTP-клиентами

🔹 Какие команды FTP стоит знать?
• get, put — загрузка и выгрузка
• ls, cd, pwd, mget, mput
• passive / active — переключение режима

🔹 Как ограничить пользователя FTP в своём каталоге?
Через chroot jail: chroot_local_user=YES в vsftpd.conf

🔹 Как протестировать FTP-сервер?
Можно использовать:
• ftp (CLI)
• lftp — продвинутый CLI
• GUI-клиенты: FileZilla, WinSCP

📚 Все 25+ вопросов с ответами ты найдёшь тут → https://www.tecmint.com/ftp-interview-questions-and-answers/

⚙️ Отличный чеклист для подготовки к собеседованию или аудиту инфраструктуры!

#FTP #DevOps #Linux #Собеседование #Sysadmin #SFTP #Безопасность


@devopsitsec
❤9👍8🔥5🥱3👎2
🧩 DevOps-задача с подвохом: всё работает, но тормозит

У вас в Kubernetes кластере работает микросервис orders. Всё "зелёное":
- ✅ нет ошибок 5xx
- ✅ логи чистые
- ✅ CPU и RAM в норме
- ✅ Pod'ы не рестартятся
- ✅ HPA не срабатывает

Но пользователи жалуются: ⚠️ заказы проходят с задержкой до 1.5 сек.

🔍 Что под капотом:
- 3 реплики orders
- Зависимость: inventory (всего 1 реплика)
- Один из `orders`-подов иногда теряет сетевое соединение на ~30 сек
- Readiness-проба — /healthz, всегда 200 OK
- HPA срабатывает только по CPU > 80%
- Есть метрика queue_size, но она нигде не используется


🎯 Что происходит?
Kubernetes считает проблемный под "живым", потому что /healthz отвечает.
Но этот под не может достучаться до inventory.
Часть трафика уходит в никуда и тормозит.

CPU низкий, ошибок нет — HPA не срабатывает.
Проблема остаётся невидимой, пока пользователи страдают.


✅ Как починить:

1. ✂️ **Проверять зависимости в Readiness:**
```yaml
readinessProbe:
exec:
command: ["sh", "-c", "curl -sf http://inventory/healthz || exit 1"]
```

2. 📈 **Добавить алерты на latency, queue size и gRPC ошибки**

3. ⚖️ **Настроить HPA по бизнес-метрикам:**
```yaml
type: External
metric:
name: queue_size
```

4. 🧬 **Добавить 2+ реплики в `inventory`** — избавляемся от SPOF

5. 🧠 **Включить tracing (например, Jaeger)** для отслеживания зависаний

💡 **Урок:** Даже без ошибок система может работать нестабильно.
DevOps-инженер должен уметь **видеть деградацию до того, как её заметит пользователь.**

#DevOps #Kubernetes #SRE #Monitoring #CI_CD #HPA
👍11❤8
digital-periodic-table-of-devsecops.png
615.1 KB
Полезная таблица инструментов DevSecOps

Если ты учишься с нуля, устраняешь пробелы или заменяешь существующие инструменты, начни с Периодической таблицы, чтобы подобрать оптимальные решения для своей DevOps-пайплайна.

#devops #девопс

@devopsitsec
❤3👍2🙏2🏆1
🚀 Sneak Peek: Что нового в Kubernetes v1.34

Официальный блог уже поделился предварительным обзором релиза!
Что ждать от Kubernetes 1.34?

🔹 Новый API для runtime класса (RuntimeClass v1 GA)
🔹 Оптимизация pod scheduling и NUMA-архитектуры
🔹 Стабилизация нескольких ключевых фич
🔹 Улучшения в kubelet и kube-proxy
🔹 Больше прозрачности в контроллерах

🛠️ Полный обзор от команды Kubernetes:
https://kubernetes.io/blog/2025/07/28/kubernetes-v1-34-sneak-peek/

#Kubernetes #DevOps #CloudNative
🔥3❤2👍2
💡 Продвинутый совет для Linux-админов:
Хочешь узнать, какие процессы используют больше всего памяти (включая shared libraries, кэш и swap) — но не по PID, а по исполняемому бинарнику?

Вот способ сгруппировать потребление памяти по программам, а не по процессам.


sudo ps -e -o pid,comm --no-headers | while read pid cmd; do
grep -q "^Name:\s\+$cmd$" /proc/$pid/status 2>/dev/null &&
awk '/^RssAnon:/ {rss+=$2} END {if (rss) printf "%s %d MiB\n", "'$cmd'", rss/1024}' /proc/$pid/status
done | sort -k2 -nr | uniq


📊 Использование RAM по исполняемым программам (не PID)

📌 Отлично подходит для выявления прожорливых демонов, особенно если у вас десятки fork-процессов одного сервиса.

#linux #memory #admin #devops #monitoring
🔥16👍6❤1
💡 Ещё один продвинутый совет для Linux-админов:
Проверь, какие процессы активно используют swap — даже если в системе вроде бы хватает RAM.

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


for pid in $(ls /proc | grep -E '^[0-9]+$'); do
cmd=$(cat /proc/$pid/comm 2>/dev/null)
swap=$(grep VmSwap /proc/$pid/status 2>/dev/null | awk '{print $2}')
if [ "$swap" != "" ] && [ "$swap" -gt 0 ]; then
echo "$swap KB swap used by $cmd (PID $pid)"
fi
done | sort -nr | head


🐌 Процессы, активно использующие swap (swap hog detector)

📌 Даже если swap включен "про запас", вы удивитесь, сколько "вроде бы активных" сервисов частично выгружены на диск — отсюда тормоза, задержки в API, медленные реакции.

Решения:
– пересмотреть vm.swappiness
– перезапустить эти процессы
– увеличить RAM или выделить hugepages

#linux #performance #swap #memory #sysadmin #devops
🔥9❤3🥰2🖕1
🐧 Быстрый Linux совет

Нужно повторять команду каждые несколько секунд?

Используй:
$ watch -n 2 df -h

Эта команда запускает df -h каждые 2 секунды.
Удобно для контроля за диском, нагрузкой или изменением логов.

Нажми q, чтобы выйти.

#Linux #DevOps #Tips
❤25👍15🔥4🥴2