DevOps
22.8K subscribers
901 photos
96 videos
15 files
831 links
По всем вопросам- @workakkk

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

https://yangx.top/Golang_google - Golang программирование

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golang_jobsgo - go chat jobs

РКН: clck.ru/3FmvZA
加入频道
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
👍61🔥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
👍2314🔥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 #девопс
👍12🔥51
🛠 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
8👍7🔥4🥱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
👍108
digital-periodic-table-of-devsecops.png
615.1 KB
Полезная таблица инструментов DevSecOps

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

#devops #девопс

@devopsitsec
👍2🙏21🏆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
🔥32👍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👍41
💡 Ещё один продвинутый совет для 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
🔥83🥰2🖕1
This media is not supported in your browser
VIEW IN TELEGRAM
Managed, но без скелетов в конфигах
K8s = выберите ваш кошмар: урезанный сервис или админская каторга. Еще есть вариант с k0s, но и тут не все гладко. Этот легковесный Kubernetes-дистрибутив дает гибкость и контроль, но по-прежнему требует ручной настройки.
Timeweb Cloud решил проблему: ребята разработали собственную платформу управления Kubernetes на базе k0s. «Это позволило реализовать cloud-native подход и обеспечить гибкость для продуктовых интеграций внутри облака», – говорят их разрабы.
Ребята рассказали, что теперь кластеры масштабируются, апдейтятся и восстанавливаются без участия DevOps-команд. Развернуть инфраструктуру можно за 5-6 минут. Как утверждают в Timeweb Cloud, это один из немногих по-настоящему управляемых Kubernetes-сервисов в стране. Проверить.
Случилась cloud-native интеграция. Поддерживается не один или два драйвера CNI, а все четыре: calico, flanel cillium и kube-router. Можно общаться с S3 и ловить готовые аддоны в маркетплейсе. Есть GPU для AI-проектов. Управление стандартное: через kubectl или K9s, визуальные Lens или Freelens, также Kubernetes Dashboard. Поддерживаются Terraform, API и CLI.
Есть шанс, это не просто «еще один managed K8s», а готовый продакшен-стек без ручной настройки. Штука еще в том, что есть зарубежные локации.
Запустить кластер
#news #DevOps #Kubernetes #k0s

Рекламодатель: ООО «ТАЙМВЭБ.КЛАУД» ИНН: 7810945525
Erid: 2Vtzqwntjwf
8🔥5🥰5😁2👎1😭1