DeVops Библиотека – Telegram
DeVops Библиотека
9.57K subscribers
108 photos
43 videos
43 files
107 links
Гайды, уроки и книги для Devops специалситов
по всем вопросам @workakkk
Download Telegram
👩‍💻 Docker - лучший обучающий канал по Devops.

С помощью картинок и коротких видео даже новички начнут применять продвинутые инструменты разработки и использовать Docker.

Стоит подписаться: t.me/DevopsDocker
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54👎1
Шпаргалка по sed в Linux.pdf
462.3 KB
Шпаргалка по sed в Linux

Если вам нужны легкие напоминания о командах и полезные советы по синтаксису, скачайте нашу шпаргалку по sed.
8🔥4🥰2
👣 Проект heynote — это минималистичное CLI-приложение для создания и хранения заметок прямо из терминала. Он позволяет быстро фиксировать мысли или команды без необходимости переключаться на редактор или веб-интерфейс.

📌 Особенности:
- Хранит заметки в простом .txt-файле.
- Поддерживает добавление тегов (`#`) и отметок времени.
- Удобная фильтрация заметок по ключевым словам или датам.
- Возможность настройки пути к файлу хранения.

Пример использования:

heynote "Перезапустить nginx #devops"

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

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

Github

#golang #devops #девопс

@devops_teleg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥3
👩‍💻 Kubernetes The Hard Way

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

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

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

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

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

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

#Kubernetes #devops #clusters
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
11🥰2
👩‍💻 Эта полезная для новичков статья описывает основы работы с сетями в Docker. Она объясняет типы сетей, такие как bridge, host, none, и overlay, которые Docker использует для подключения контейнеров

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

🔗 Ссылка: *клик*

@devopsitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2
⚡️Легкий способ получать свежие обновления и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:

Python: t.me/pythonl
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
Нерйросети t.me/ai_machinelearning_big_data
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javanoscript: t.me/javanoscriptv
C#: t.me/csharp_ci
Java: t.me/javatg
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://news.1rj.ru/str/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat

💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://news.1rj.ru/str/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://news.1rj.ru/str/addlist/mzMMG3RPZhY2M2Iy

😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://news.1rj.ru/str/addlist/BkskQciUW_FhNjEy
2
Трюки для ускорения Docker-образов на проде

Контейнеры — сердце современных приложений. Но тяжёлые образы = медленные деплои и высокие затраты. Как ускорить образы без боли?



Мультистейдж билды — must have

Используй multi-stage builds, чтобы собрать приложение в одном контейнере, а продакшн-образ сделать минимальным:

# Сборка
FROM golang:1.22 as builder
WORKDIR /app
COPY . .
RUN go build -o app

# Продакшн
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/app .
CMD ["./app"]


Минимизируй базовые образы

Выбирай облегчённые базовые образы:
• alpine вместо ubuntu
• distroless для максимальной безопасности и минимального веса

Оптимизируй порядок слоёв

Чем выше изменяемость — тем ниже слой:
• Сначала COPY go.mod, npm package.json, установка зависимостей
• Потом COPY . . с кодом проекта

Это позволяет кэшировать большую часть слоёв даже при частых изменениях кода.

Чисть за собой

Всегда удаляй временные файлы и зависимости для сборки:

RUN apt-get install -y build-essential && \
make build && \
apt-get remove --purge -y build-essential && \
apt-get autoremove -y && \
apt-get clean


Сжимай образы

Используй docker-slim — он автоматически оптимизирует образ, удаляя всё ненужное:

docker-slim build --http-probe my-app:latest



Как применять и чего избегать
• В продакшне старайся держать образы <100MB
• Не добавляй лишние пакеты “на всякий случай”
• Проверяй образы на уязвимости: trivy image your-app:tag

#devops #девопс
👍84🔥2
Forwarded from DevOps
This media is not supported in your browser
VIEW IN TELEGRAM
Zev 🔍

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

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

pip install zev

📌 Github


@DevopsDocker
4👍2👎1🔥1
Forwarded from DevOps
👾 eBPF вместо прокси: новый подход к масштабированию в Kubernetes.

Инженеры WSO2 предложили нестандартное решение для scale-to-zero в Kubernetes — отказ от прокси в пользу eBPF. Они создали прототип, где eBPF-программа на уровне XDP перехватывает пакеты, инициируя масштабирование сервисов без промежуточного слоя.

🧑‍💻 Как это работает?
— eBPF-драйвер отслеживает запросы к остановленным сервисам, временно блокируя их и запуская масштабирование
— После готовности POD запрос проходит напрямую, минуя прокси
— Подход работает для любых TCP-сервисов, включая базы данных

Преимущества:
— Работает для любых TCP-сервисов (не только HTTP)
— Снижение latency на 30-50% по сравнению с прокси-решениями
— Полная совместимость с существующими сетевыми политиками
— Поддержка даже stateful-сервисов вроде PostgreSQL

🔗 Ссылка - *клик*

@devopsitsec
👍76🥰1
VS Code горячие клавиши.pdf
39.8 KB
Конфигурация VS Code + горячие клавиши
5
🖥 Эта статья объясняет, как использовать инструмент K3D для запуска легковесных Kubernetes-кластеров K3S в контейнерах Docker!

🌟 В статье описываются шаги по установке и настройке K3D, создание кластеров, управление их состоянием и развертывание приложений. K3D идеален для локальной разработки, тестирования и CI/CD, благодаря своей простоте и низкому потреблению ресурсов.

🔗 Ссылка: *клик*

@devopsitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🥰1
🐧 Как работает Linux: за кулисами ядра!

Поговорим про базу!

Linux — это не просто операционная система, это целый мир, в котором ядро управляет всем: от запуска программ до работы устройств.

Ядро (Kernel)
Главное «сердце» системы. Оно управляет:
• процессором
• памятью
• устройствами
• сетью
• файловыми системами

Процессы и потоки
Каждое ваше приложение — это процесс. Ядро решает, когда и какой процесс получит доступ к CPU, создавая ощущение параллельной работы.

Системные вызовы
Программы не обращаются напрямую к железу — они используют системные вызовы (syscalls), чтобы попросить ядро выполнить задачи: открыть файл, отправить данные по сети и т.д.

Безопасность и права доступа
Каждый файл и процесс имеют владельца и права. Это ключ к безопасности: ни один пользователь не может трогать чужие файлы без разрешения.

Модули ядра
Linux умеет «подгружать» драйверы на лету. Например, подключили новую флешку — ядро сразу добавляет модуль для работы с ней.

💡 Факт:
Именно ядро Linux стоит за Android, серверами Google, суперкомпьютерами и миллиардами устройств по всему миру.

Linux — это не просто ОС. Это симфония процессов и устройств под управлением ядра, которая делает возможным всё — от работы веб-сайтов до запуска ракет 🚀

#Linux #Kernel #DevOps #ОС #Технологии
👍104
🔁 CI/CD и Kubernetes: как внедрить лучшие практики контейнеров

☸️ Пример манифеста для Kubernetes


apiVersion: apps/v1
kind: Deployment
metadata:
name: app-deployment
spec:
replicas: 3
selector:
matchLabels:
app: your-app
template:
metadata:
labels:
app: your-app
spec:
containers:
- name: app
image: yourrepo/app:latest
resources:
limits:
memory: "512Mi"
cpu: "1000m"
requests:
memory: "256Mi"
cpu: "500m"
securityContext:
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
runAsNonRoot: true
capabilities:
drop:
- ALL
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 10
periodSeconds: 20
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 10


🛡 Безопасность, ограничение ресурсов, probes — всё в боевом шаблоне.

---

### 🛠 Пример CI-пайплайна (GitLab CI)


stages:
- build
- test
- push

variables:
DOCKER_BUILDKIT: 1

build:
stage: build
image: docker:latest
services:
- docker:dind
noscript:
- docker build --target production -t yourrepo/app:$CI_COMMIT_SHA .
- docker tag yourrepo/app:$CI_COMMIT_SHA yourrepo/app:latest

test:
stage: test
image: yourrepo/app:$CI_COMMIT_SHA
noscript:
- ./run_tests.sh

push:
stage: push
noscript:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin
- docker push yourrepo/app:$CI_COMMIT_SHA
- docker push yourrepo/app:latest
only:
- main


Использует:
- BuildKit для кэширования и ускорения сборки
- multi-stage Dockerfile
- Тестирует контейнер перед пушем
- Пушит только из main

📌 На заметку
- Используй opa-gatekeeper или Kyverno для валидации безопасности в Kubernetes
- В CI сканируй образы через Trivy, Grype или Snyk
- Для прода лучше использовать immutable теги, например yourrepo/app:1.4.23

🧠 Контейнер — это артефакт, который живёт дальше: в k8s, CI/CD, observability. Поэтому его здоровье — это здоровье всего DevOps-процесса.
👍7🔥4
Forwarded from DevOps Docker
Расширенный_гайд_по_Docker_для_DevOps_специалистов_1_2.pdf
391.1 KB
🐳 Docker без боли: Огромный гайд от новичка до профи

🚀 Пришло время расставить всё по полочкам. В этом большом гайде ты узнаешь:

• как устроен Docker изнутри
• как упаковать любое приложение в контейнер
• как запускать десятки сервисов одной командой
• как дебажить, оптимизировать и защищать контейнеры
• как не сойти с ума с volumes, networks и образами

🎯 Без скучной теории — только практические команды, схемы и лайфхаки от тех, кто использует Docker в продакшене.
Сохраняй и делись с коллегами, чтобы не потерять

👉 Читать онлайн

@DevopsDocker
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥2