Garnet — это удалённое кэш-хранилище от Microsoft Research, обеспечивающее высокую производительность (пропускную способность и задержку), масштабируемость, хранение, восстановление, шардирование кластера, миграцию ключей и функции репликации. Garnet может работать с существующими клиентами Redis.
Основные возможности:
- Высокая производительность: миллионы операций в секунду с минимальной задержкой.
- Масштабируемость: поддержка горизонтального масштабирования.
- Оптимизация работы с памятью: эффективное использование DRAM и SSD.
Этот проект может стать серьезным конкурентом Redis и Memcached в сфере облачных сервисов.
https://github.com/microsoft/garnet
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Основные возможности:
- Высокая производительность: миллионы операций в секунду с минимальной задержкой.
- Масштабируемость: поддержка горизонтального масштабирования.
- Оптимизация работы с памятью: эффективное использование DRAM и SSD.
Этот проект может стать серьезным конкурентом Redis и Memcached в сфере облачных сервисов.
https://github.com/microsoft/garnet
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔥 Как снизить Latency в Kubernetes? 🔥
Высокая задержка (latency) в Kubernetes может стать настоящей головной болью для DevOps-инженера. Давайте разберем, какие ключевые настройки помогут снизить задержку и ускорить ваш кластер!
🚀 1. Настройка Kube-Proxy
Если используете iptables-режим, попробуйте переключиться на IPVS:
Установите
🚀 2. Подключение eBPF (Cilium)
Классические iptables могут быть узким местом. Попробуйте Cilium с eBPF, который обеспечивает более быструю маршрутизацию:
🚀 3. Использование NodeLocal DNSCache
DNS-запросы — частая причина высокой задержки. Включите локальный кэш:
Это уменьшит нагрузку на CoreDNS и ускорит обработку запросов.
🚀 4. Tuning TCP (sysctl)
Настройте TCP-параметры для более быстрой передачи данных:
Эти параметры помогут лучше обрабатывать соединения и снижать задержку.
🚀 5. Использование Multi-NIC и CNI-плагинов
Если у вас высокий сетевой трафик, попробуйте Multus CNI для распределения нагрузки между несколькими сетевыми интерфейсами.
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Высокая задержка (latency) в Kubernetes может стать настоящей головной болью для DevOps-инженера. Давайте разберем, какие ключевые настройки помогут снизить задержку и ускорить ваш кластер!
🚀 1. Настройка Kube-Proxy
Если используете iptables-режим, попробуйте переключиться на IPVS:
kubectl edit configmap -n kube-system kube-proxy
Установите
mode: "ipvs". Это значительно улучшает балансировку нагрузки и снижает задержку при обработке запросов. 🚀 2. Подключение eBPF (Cilium)
Классические iptables могут быть узким местом. Попробуйте Cilium с eBPF, который обеспечивает более быструю маршрутизацию:
helm install cilium cilium/cilium --namespace kube-system
🚀 3. Использование NodeLocal DNSCache
DNS-запросы — частая причина высокой задержки. Включите локальный кэш:
kubectl apply -f https://k8s.io/examples/admin/dns/nodelocaldns.yaml
Это уменьшит нагрузку на CoreDNS и ускорит обработку запросов.
🚀 4. Tuning TCP (sysctl)
Настройте TCP-параметры для более быстрой передачи данных:
sysctl -w net.core.somaxconn=1024
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_max_syn_backlog=8192
Эти параметры помогут лучше обрабатывать соединения и снижать задержку.
🚀 5. Использование Multi-NIC и CNI-плагинов
Если у вас высокий сетевой трафик, попробуйте Multus CNI для распределения нагрузки между несколькими сетевыми интерфейсами.
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2❤1
Pipeline CI/CD, объясненный простыми словами
Раздел 1 - SDLC с CI/CD
Жизненный цикл разработки программного обеспечения (SDLC) состоит из нескольких ключевых этапов: разработка, тестирование, развертывание и сопровождение. CI/CD автоматизирует и интегрирует эти этапы, чтобы обеспечить более быстрые и надежные релизы.
Когда код размещается в git-репозитории, он запускает автоматизированный процесс сборки и тестирования. Для проверки кода запускаются сквозные (e2e) тесты. Если тесты пройдены, код может быть автоматически развернут на этапе staging/продакшен. Если обнаружены проблемы, код возвращается в разработку для исправления ошибок. Такая автоматизация обеспечивает быструю обратную связь с разработчиками и снижает риск появления ошибок в продакшене.
Раздел 2 - Разница между CI и CD
Непрерывная интеграция (CI) автоматизирует процесс сборки, тестирования и слияния. Она запускает тесты при коммите кода, чтобы обнаружить проблемы интеграции на ранней стадии. Это стимулирует частые коммиты кода и быструю обратную связь.
Continuous Delivery (CD) автоматизирует процессы выпуска, такие как изменение инфраструктуры и развертывание. Она обеспечивает надежный выпуск программного обеспечения в любое время благодаря автоматизированным рабочим процессам. CD также может автоматизировать ручное тестирование и этапы утверждения, необходимые перед развертыванием продакшена.
Раздел 3 - CI/CD Pipeline
Типичный pipeline CI/CD состоит из нескольких взаимосвязанных этапов:
- Разработчик коммитит изменения кода в системе контроля исходного кода
- CI-сервер обнаруживает изменения и запускает сборку
- Код компилируется, тестируется (модульные, интеграционные тесты)
- Результаты тестирования сообщаются разработчику
- При успешном завершении артефакты развертываются в среде staging.
- Дальнейшее тестирование может быть проведено в среде staging перед выпуском.
- Система CD развертывает одобренные изменения в продакшене
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Раздел 1 - SDLC с CI/CD
Жизненный цикл разработки программного обеспечения (SDLC) состоит из нескольких ключевых этапов: разработка, тестирование, развертывание и сопровождение. CI/CD автоматизирует и интегрирует эти этапы, чтобы обеспечить более быстрые и надежные релизы.
Когда код размещается в git-репозитории, он запускает автоматизированный процесс сборки и тестирования. Для проверки кода запускаются сквозные (e2e) тесты. Если тесты пройдены, код может быть автоматически развернут на этапе staging/продакшен. Если обнаружены проблемы, код возвращается в разработку для исправления ошибок. Такая автоматизация обеспечивает быструю обратную связь с разработчиками и снижает риск появления ошибок в продакшене.
Раздел 2 - Разница между CI и CD
Непрерывная интеграция (CI) автоматизирует процесс сборки, тестирования и слияния. Она запускает тесты при коммите кода, чтобы обнаружить проблемы интеграции на ранней стадии. Это стимулирует частые коммиты кода и быструю обратную связь.
Continuous Delivery (CD) автоматизирует процессы выпуска, такие как изменение инфраструктуры и развертывание. Она обеспечивает надежный выпуск программного обеспечения в любое время благодаря автоматизированным рабочим процессам. CD также может автоматизировать ручное тестирование и этапы утверждения, необходимые перед развертыванием продакшена.
Раздел 3 - CI/CD Pipeline
Типичный pipeline CI/CD состоит из нескольких взаимосвязанных этапов:
- Разработчик коммитит изменения кода в системе контроля исходного кода
- CI-сервер обнаруживает изменения и запускает сборку
- Код компилируется, тестируется (модульные, интеграционные тесты)
- Результаты тестирования сообщаются разработчику
- При успешном завершении артефакты развертываются в среде staging.
- Дальнейшее тестирование может быть проведено в среде staging перед выпуском.
- Система CD развертывает одобренные изменения в продакшене
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
10 шагов к созданию оркестратора Terragrunt
1. Определите цели – Четко обозначьте, какие задачи должен решать оркестратор: управление инфраструктурой, стандартизация, масштабируемость.
2. Выберите подходящую структуру каталогов – Используйте рекомендуемые шаблоны Terragrunt (например,
3. Разделите окружения и компоненты – Используйте отдельные файлы для разных окружений (
4. Оптимизируйте конфигурации – Настройте Terragrunt, чтобы минимизировать дублирование кода с помощью наследования (
5. Создайте систему автоматизации – Интегрируйте оркестратор в CI/CD-пайплайны для автоматизированного развертывания.
6. Реализуйте контроль доступа – Используйте IAM-роли и политики, чтобы ограничить доступ к инфраструктуре.
7. Настройте работу с зависимостями – Определите порядок применения модулей и настройте зависимости между ними.
8. Добавьте мониторинг и логи – Внедрите системы логирования (например, AWS CloudWatch) для отслеживания изменений.
9. Проводите тестирование инфраструктуры – Используйте инструменты вроде
10. Документируйте процессы – Поддерживайте актуальную документацию, чтобы упростить онбординг новых членов команды.
https://nordcloud.com/tech-community/10-steps-to-building-terragrunt-orchestrator/
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
1. Определите цели – Четко обозначьте, какие задачи должен решать оркестратор: управление инфраструктурой, стандартизация, масштабируемость.
2. Выберите подходящую структуру каталогов – Используйте рекомендуемые шаблоны Terragrunt (например,
live и modules), чтобы упростить поддержку кода.3. Разделите окружения и компоненты – Используйте отдельные файлы для разных окружений (
dev, staging, prod), что обеспечит гибкость и контроль.4. Оптимизируйте конфигурации – Настройте Terragrunt, чтобы минимизировать дублирование кода с помощью наследования (
include).5. Создайте систему автоматизации – Интегрируйте оркестратор в CI/CD-пайплайны для автоматизированного развертывания.
6. Реализуйте контроль доступа – Используйте IAM-роли и политики, чтобы ограничить доступ к инфраструктуре.
7. Настройте работу с зависимостями – Определите порядок применения модулей и настройте зависимости между ними.
8. Добавьте мониторинг и логи – Внедрите системы логирования (например, AWS CloudWatch) для отслеживания изменений.
9. Проводите тестирование инфраструктуры – Используйте инструменты вроде
terraform validate, terragrunt plan и checkov для проверки конфигураций.10. Документируйте процессы – Поддерживайте актуальную документацию, чтобы упростить онбординг новых членов команды.
https://nordcloud.com/tech-community/10-steps-to-building-terragrunt-orchestrator/
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Почему кубернетизация затягивается? ⚙️
Нестабильные сборки, дрейф конфигураций и неудачные чарты превращают подготовку приложения к Kubernetes в долгий и непредсказуемый процесс.
На вебинаре 23 января в 17:00 разберём, как выстроить воспроизводимый workflow и ускорить запуск приложений в кластере.
Вы узнаете:
— какие данные нужно уточнить до начала работ;
— как оптимизировать билд образов;
— какие практики использовать при подготовке Helm-чартов;
— что проверить при запуске приложения в кластере;
— какие элементы включать в ревью.
Приходите — покажем рабочие подходы, которые помогают сокращать время вывода изменений в продакшен.
👉 Зарегистрироваться
23 января в 17:00 (МСК) | Онлайн
🎁 Все участники получат практический PDF-гайд по ревью кубернетизации.
Нестабильные сборки, дрейф конфигураций и неудачные чарты превращают подготовку приложения к Kubernetes в долгий и непредсказуемый процесс.
На вебинаре 23 января в 17:00 разберём, как выстроить воспроизводимый workflow и ускорить запуск приложений в кластере.
Вы узнаете:
— какие данные нужно уточнить до начала работ;
— как оптимизировать билд образов;
— какие практики использовать при подготовке Helm-чартов;
— что проверить при запуске приложения в кластере;
— какие элементы включать в ревью.
Приходите — покажем рабочие подходы, которые помогают сокращать время вывода изменений в продакшен.
👉 Зарегистрироваться
23 января в 17:00 (МСК) | Онлайн
🎁 Все участники получат практический PDF-гайд по ревью кубернетизации.
👍1
Шпаргалка по Kubernetes
1. Основные понятия
🔘 Pod – наименьшая единица развертывания, содержит один или несколько контейнеров.
🔘 Deployment – контроллер, который управляет репликами Pod’ов и их обновлением.
🔘 Service – абстракция, предоставляющая доступ к Pod’ам (ClusterIP, NodePort, LoadBalancer).
🔘 ConfigMap – хранит конфигурационные данные в виде ключ-значение.
🔘 Secret – безопасное хранилище для конфиденциальных данных (пароли, токены).
🔘 PersistentVolume (PV) – абстракция для хранения данных.
🔘 PersistentVolumeClaim (PVC) – запрос на использование хранилища (PV).
🔘 Namespace – логическое разделение ресурсов в кластере.
🔘 Ingress – объект, предоставляющий доступ к сервисам внутри кластера через HTTP/HTTPS.
2. Основные команды kubectl
Работа с контекстом
Работа с ресурсами
Создание и удаление объектов
3. Пример манифестов
Простой Pod
Deployment
Service (NodePort)
Ingress
4. Полезные команды
5. Отладка и устранение проблем
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
1. Основные понятия
2. Основные команды kubectl
Работа с контекстом
kubectl config get-contexts # Список контекстов
kubectl config use-context <name> # Переключение контекста
kubectl config set-context <name> --namespace=<namespace> # Установить namespace по умолчанию Работа с ресурсами
kubectl get pods # Список Pod'ов
kubectl get deployments # Список Deployment'ов
kubectl get services # Список Service'ов
kubectl get nodes # Список узлов
kubectl get namespaces # Список namespace'ов
kubectl get events # Лог событий
kubectl describe pod <pod-name> # Подробная информация о Pod
kubectl logs <pod-name> # Логи Pod
kubectl exec -it <pod-name> -- /bin/sh # Зайти внутрь контейнера Создание и удаление объектов
kubectl apply -f <file>.yaml # Применить манифест
kubectl delete -f <file>.yaml # Удалить объект
kubectl delete pod <pod-name> # Удалить Pod
kubectl delete deployment <deploy-name> # Удалить Deployment 3. Пример манифестов
Простой Pod
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
ports:
- containerPort: 80Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: nginx
ports:
- containerPort: 80Service (NodePort)
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 30080
type: NodePortIngress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 804. Полезные команды
kubectl top pod # Мониторинг использования CPU/RAM Pod'ов
kubectl top node # Мониторинг узлов
kubectl rollout status deployment <deploy-name> # Статус развертывания
kubectl rollout undo deployment <deploy-name> # Откат изменений
kubectl autoscale deployment <deploy-name> --min=2 --max=10 --cpu-percent=80 # Авто-масштабирование 5. Отладка и устранение проблем
kubectl get pods --all-namespaces # Проверить состояние всех Pod'ов
kubectl describe pod <pod-name> # Подробности о Pod
kubectl logs <pod-name> # Логи контейнера
kubectl logs <pod-name> -p # Логи завершившегося контейнера
kubectl exec -it <pod-name> -- /bin/sh # Подключение внутрь контейнера
kubectl get events --sort-by=.metadata.creationTimestamp # Последние события #devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6
📌Docker
Удаление промежуточных образов без тэгов:
Мягко перезапустить контейнер:
Список контейнеров:
Подключиться к контейнеру:
Остановить все контейнеры:
Удалить все контейнеры, из которых вышли:
Удалить образ:
Создать образ:
Удалить все неиспользуемые тома:
Подключиться под рутом в контейнер Alpine:
docker exec -it --user root alpine-container bash
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Удаление промежуточных образов без тэгов:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)Мягко перезапустить контейнер:
docker kill --signal="USR1" <yourcontainer_name>Список контейнеров:
docker ps -aПодключиться к контейнеру:
docker exec -it container_name bashОстановить все контейнеры:
docker stop $(docker ps -a -q)Удалить все контейнеры, из которых вышли:
docker rm -v $(docker ps -aq -f status=exited)Удалить образ:
docker rmi image_nameСоздать образ:
docker build -t image_name Удалить все неиспользуемые тома:
docker volume pruneПодключиться под рутом в контейнер Alpine:
docker exec -it --user root alpine-container bash
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Точка синхронизации технологий и тех, кто их использует
T-Sync Conf — офлайн-конференция от Группы «Т-Технологии» для опытных инженеров. 7 февраля в Москве на площадке TAU соберутся платформенные, security и дата-инженеры, аналитики, DevOps, SRE, CI/CD, AI-, ML-, R&D- и DX -специалисты.
Это новый формат инженерного диалога:
— Контуры — тематические зоны, каждая из которых раскрывает отдельный слой инженерной реальности: AI, Data, R&D, Security, Platform и другие направления.
— Вместо классических докладов — круглые столы, стенды, хакатон, воркшопы и мастер-классы.
— Инженерные решения изнутри — возможность посмотреть, как устроены технологии в Т-Банке и других компаниях, и пообщаться напрямую с теми, кто их создает.
А еще много практики, интересных знакомств и живых систем.
Успейте подать заявку
T-Sync Conf — офлайн-конференция от Группы «Т-Технологии» для опытных инженеров. 7 февраля в Москве на площадке TAU соберутся платформенные, security и дата-инженеры, аналитики, DevOps, SRE, CI/CD, AI-, ML-, R&D- и DX -специалисты.
Это новый формат инженерного диалога:
— Контуры — тематические зоны, каждая из которых раскрывает отдельный слой инженерной реальности: AI, Data, R&D, Security, Platform и другие направления.
— Вместо классических докладов — круглые столы, стенды, хакатон, воркшопы и мастер-классы.
— Инженерные решения изнутри — возможность посмотреть, как устроены технологии в Т-Банке и других компаниях, и пообщаться напрямую с теми, кто их создает.
А еще много практики, интересных знакомств и живых систем.
Успейте подать заявку
👍2
Media is too big
VIEW IN TELEGRAM
Проект dockur/windows позволяет запускать Windows внутри контейнера Docker.
Он предоставляет такие возможности, как загрузка ISO-образов, ускорение с помощью KVM и веб-интерфейс для просмотра.
Основные особенности:
- Загрузчик ISO-образов
- Аппаратное ускорение через KVM
- Веб-интерфейс для доступа
Пример использования с Docker Compose:
Пример использования с Docker CLI:
https://github.com/dockur/windows
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Он предоставляет такие возможности, как загрузка ISO-образов, ускорение с помощью KVM и веб-интерфейс для просмотра.
Основные особенности:
- Загрузчик ISO-образов
- Аппаратное ускорение через KVM
- Веб-интерфейс для доступа
Пример использования с Docker Compose:
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "11"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
restart: always
stop_grace_period: 2m
Пример использования с Docker CLI:
docker run -it --rm -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows
https://github.com/dockur/windows
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
👍3❤1
🚀 Шпаргалка по Docker 🐳
🔹 Сборка (Build)
🔹 Запуск (Run)
🔹 Шаринг (Share)
🔹 Управление (Management)
📌 Сборка образов
📍 Создать образ из
📍 Посмотреть локальные образы:
📍 Удалить образ:
📌 Запуск контейнеров
📍 Запустить контейнер на порту 5000:
📍 Остановить контейнер:
📍 Принудительно завершить контейнер:
📍 Список запущенных контейнеров:
📍 Удалить все контейнеры:
📌 Работа с образами (Share)
📍 Скачать образ из реестра:
📍 Изменить тег у локального образа:
📍 Запушить образ в реестр:
📌 Управление Docker (Management)
⚙️
⚙️
⚙️
⚙️
⚙️
⚙️
⚙️
⚙️
📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
🔹 Сборка (Build)
🔹 Запуск (Run)
🔹 Шаринг (Share)
🔹 Управление (Management)
📌 Сборка образов
📍 Создать образ из
Dockerfile и присвоить тег:
docker build -t myimage:1.0 .
📍 Посмотреть локальные образы:
docker image ls
📍 Удалить образ:
docker image rm alpine:3.4
📌 Запуск контейнеров
📍 Запустить контейнер на порту 5000:
docker container run --name web -p 5000:80 alpine:3.9
📍 Остановить контейнер:
docker container stop web
📍 Принудительно завершить контейнер:
docker container kill web
📍 Список запущенных контейнеров:
docker container ls
📍 Удалить все контейнеры:
docker container rm -f $(docker ps -aq)
📌 Работа с образами (Share)
📍 Скачать образ из реестра:
docker pull myimage:1.0
📍 Изменить тег у локального образа:
docker tag myimage:1.0 myrepo/myimage:2.0
📍 Запушить образ в реестр:
docker push myrepo/myimage:2.0
📌 Управление Docker (Management)
⚙️
docker app – Управление приложениями ⚙️
docker image – Управление образами ⚙️
docker container – Управление контейнерами ⚙️
docker network – Управление сетями ⚙️
docker volume – Управление хранилищами ⚙️
docker stack – Управление Docker Stack ⚙️
docker swarm – Управление кластером Swarm ⚙️
docker system – Управление всей системой 📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
👍3❤2🤣1
🔥 Kubernetes: Инструмент дьявола или необходимость?
Давайте честно: у многих при слове «Кубер» начинает дергаться глаз. Бесконечные YAML-простыни, сложная архитектура и ощущение, что мы стреляем из пушки по воробьям.
Если вы считаете, что
На i-odmin вышел отличный «Гайд по Куберу для хейтеров».
О чем речь:
🩵 🤬 Почему Kubernetes вызывает столько боли (и почему это нормально).
🩵 🐳 Как перестать бояться и понять базовые абстракции.
🩵 🛠 Когда оркестрация действительно нужна, а когда можно обойтись без неё.
Статья написана простым языком, без лишнего академизма. Отличный способ либо наконец понять K8s, либо найти новые аргументы для споров в комментариях.
👉 Читать гайд: https://i-odmin.ru/gajd-po-kuberu-dlja-hejterov/
📲 Мы в MAX
#DevOps #Kubernetes #K8s #Guide #Humor
Подпишись 👉@i_DevOps
Давайте честно: у многих при слове «Кубер» начинает дергаться глаз. Бесконечные YAML-простыни, сложная архитектура и ощущение, что мы стреляем из пушки по воробьям.
Если вы считаете, что
docker-compose - это венец творения, а K8s - оверинжиниринг, этот материал для вас.На i-odmin вышел отличный «Гайд по Куберу для хейтеров».
О чем речь:
Статья написана простым языком, без лишнего академизма. Отличный способ либо наконец понять K8s, либо найти новые аргументы для споров в комментариях.
👉 Читать гайд: https://i-odmin.ru/gajd-po-kuberu-dlja-hejterov/
📲 Мы в MAX
#DevOps #Kubernetes #K8s #Guide #Humor
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👎2
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Давно планировал выучить Go, но не хотел тонуть в теории?
Курс «Golang-разработчик» в Слёрме стартует 30 января. Мы создали его для бэкенд-разработчиков и DevOps-инженеров, которые хотят сменить стек или научиться писать инфраструктурные инструменты на Go.
Важно: курс не для новичков.
Почему этот курс дает результат:
• 80% обучения — это практика. Вместо скучных лекций вы получите 53 часа прикладной работы.
• Спикер-практик. Обучение ведет Виталий Лихачев, SRE в Booking.com.
• Реальный проект в портфолио. Ты с нуля спроектируешь отказоустойчивый сервис на выбор: онлайн-банк, мессенджер или файловое хранилище.
Попробуй продукт бесплатно: мы открываем демо-доступ на 3 дня. Ты сможешь оценить платформу, подачу материала и решить, подходит ли тебе темп обучения, прежде чем платить.
Курс «Golang-разработчик» в Слёрме стартует 30 января. Мы создали его для бэкенд-разработчиков и DevOps-инженеров, которые хотят сменить стек или научиться писать инфраструктурные инструменты на Go.
Важно: курс не для новичков.
Почему этот курс дает результат:
• 80% обучения — это практика. Вместо скучных лекций вы получите 53 часа прикладной работы.
• Спикер-практик. Обучение ведет Виталий Лихачев, SRE в Booking.com.
• Реальный проект в портфолио. Ты с нуля спроектируешь отказоустойчивый сервис на выбор: онлайн-банк, мессенджер или файловое хранилище.
Попробуй продукт бесплатно: мы открываем демо-доступ на 3 дня. Ты сможешь оценить платформу, подачу материала и решить, подходит ли тебе темп обучения, прежде чем платить.
👉 Занять место или получить демо-доступ
👉 Проверь свои знания и получи полезные материалы от экспертов рынка.
👍2
🐳 Хватит тащить
Салют, коллеги, всех с прошедшими праздниками! 👋
Сколько раз я видел
Аргумент всегда один: "Ну мне же надо как-то дебажить, если под отвалится!"
В итоге мы получаем:
1. Раздутый образ. (Платим за сторадж и трафик).
2. Дыру в безопасности. (Хакер, попавший в контейнер, скажет спасибо за
Правильный путь - это Distroless образы или минимальный Alpine, где нет даже шелла. А для дебага мы используем Ephemeral Containers (эфемерные контейнеры).
🛠 Как это работает?
В Kubernetes (начиная с v1.25 это уже стабильная фича) вы можете "подселить" временный контейнер в работающий Pod. Он будет делить с подом пространство имен процессов (PID) и иногда сети, но файловая система у него будет своя.
То есть: ваш прод-контейнер остается чистым, а дебаг-тулзы прилетают только по требованию.
🔥 Практика:
Допустим, у вас есть "глухой" под
Вместо того чтобы пересобирать образ, делаем так:
Разберем магию:
🔘
🔘
Теперь вы внутри пода, но со швейцарским ножом в руках. Проверили коннект до базы, сняли дамп трафика, вышли и эфемерный контейнер исчез. Чисто, красиво, секьюрно. 🛡
💡 А если я не в K8s?
Если вы сидите на чистом Docker, похожий трюк делается через
Итог: Перестаньте бояться Distroless образов. Инструментарий для внешнего дебага уже давно вырос.
💬 А какой у вас любимый тул-кит для дебага сети? Пишите в комменты! 👇
📲 Мы в MAX
#k8s #docker #security #tips #debug
Подпишись 👉@i_DevOps
curl и vim в продакшн! (Используем Ephemeral Containers)Салют, коллеги, всех с прошедшими праздниками! 👋
Сколько раз я видел
Dockerfile, который начинается за здравие (FROM alpine), а заканчивается установкой половины интернета: apk add curl vim net-tools bind-tools...?Аргумент всегда один: "Ну мне же надо как-то дебажить, если под отвалится!"
В итоге мы получаем:
1. Раздутый образ. (Платим за сторадж и трафик).
2. Дыру в безопасности. (Хакер, попавший в контейнер, скажет спасибо за
curl и nmap, любезно оставленные вами).Правильный путь - это Distroless образы или минимальный Alpine, где нет даже шелла. А для дебага мы используем Ephemeral Containers (эфемерные контейнеры).
🛠 Как это работает?
В Kubernetes (начиная с v1.25 это уже стабильная фича) вы можете "подселить" временный контейнер в работающий Pod. Он будет делить с подом пространство имен процессов (PID) и иногда сети, но файловая система у него будет своя.
То есть: ваш прод-контейнер остается чистым, а дебаг-тулзы прилетают только по требованию.
🔥 Практика:
kubectl debugДопустим, у вас есть "глухой" под
my-app, в котором нет ничего, кроме бинарника приложения. Вам нужно проверить сеть.Вместо того чтобы пересобирать образ, делаем так:
kubectl debug -it my-app \
--image=nicolaka/netshoot \
--target=my-app-container
Разберем магию:
--image=nicolaka/netshoot: Мой любимый образ для траблшутинга. Там есть ВСЁ: tcpdump, curl, dig, iperf, mtr.--target: Указываем, к какому контейнеру в поде подключиться (важно, чтобы видеть процессы друг друга).Теперь вы внутри пода, но со швейцарским ножом в руках. Проверили коннект до базы, сняли дамп трафика, вышли и эфемерный контейнер исчез. Чисто, красиво, секьюрно. 🛡
💡 А если я не в K8s?
Если вы сидите на чистом Docker, похожий трюк делается через
--pid и --network:
docker run -it --rm \
--network container:my-prod-container \
--pid container:my-prod-container \
nicolaka/netshoot
Итог: Перестаньте бояться Distroless образов. Инструментарий для внешнего дебага уже давно вырос.
💬 А какой у вас любимый тул-кит для дебага сети? Пишите в комменты! 👇
📲 Мы в MAX
#k8s #docker #security #tips #debug
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍1
Это репозиторий aws2tf от AWS Samples, предназначенный для автоматического преобразования существующих ресурсов AWS в код Terraform. Он может помочь экспортировать инфраструктуру AWS в виде кода Terraform, что полезно для управления IaC (Infrastructure as Code).
Основные возможности aws2tf:
- Генерация Terraform-кода на основе существующей AWS-инфраструктуры.
- Поддержка множества сервисов AWS.
- Автоматическое создание зависимостей между ресурсами.
- Упрощение миграции и управления конфигурацией.
https://github.com/aws-samples/aws2tf
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Основные возможности aws2tf:
- Генерация Terraform-кода на основе существующей AWS-инфраструктуры.
- Поддержка множества сервисов AWS.
- Автоматическое создание зависимостей между ресурсами.
- Упрощение миграции и управления конфигурацией.
https://github.com/aws-samples/aws2tf
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
👍4
Docker для начинающих: простое развертывание приложения за несколько шагов
Всем привет! Для своей первой статьи я решил выбрать проблему, с которой сам столкнулся при изучении Java и попытке упаковки приложения в докер-контейнер. К сожалению не нашел ни одной исчерпывающей статьи, как это делать, поэтому решил написать свою.
Начну, пожалуй, с самого сервиса. Я написал достаточно простое веб-приложение на стеке - Java, Spring, Maven, REST, HTTP, Hibernate, Postgresql, JSP/JSTL. Пока приложение представлено достаточно в сыром виде, но для понимания, как оно упаковывается в контейнер, вполне подойдет. Если вкратце, то это сервис для голосования за лучший ресторан, где можно зарегистрироваться, добавить ресторан, его описание, оставить отзыв и проставить рейтинг. Также, в зависимости от роли, можно посмотреть информацию о пользователях и редактировать ее.
https://habr.com/ru/articles/888540/
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Всем привет! Для своей первой статьи я решил выбрать проблему, с которой сам столкнулся при изучении Java и попытке упаковки приложения в докер-контейнер. К сожалению не нашел ни одной исчерпывающей статьи, как это делать, поэтому решил написать свою.
Начну, пожалуй, с самого сервиса. Я написал достаточно простое веб-приложение на стеке - Java, Spring, Maven, REST, HTTP, Hibernate, Postgresql, JSP/JSTL. Пока приложение представлено достаточно в сыром виде, но для понимания, как оно упаковывается в контейнер, вполне подойдет. Если вкратце, то это сервис для голосования за лучший ресторан, где можно зарегистрироваться, добавить ресторан, его описание, оставить отзыв и проставить рейтинг. Также, в зависимости от роли, можно посмотреть информацию о пользователях и редактировать ее.
https://habr.com/ru/articles/888540/
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
👍3
⚡️ Готовые решения и лучшие практики для надёжной защиты API в архитектуре бэкенда
📅 26 января | 20:00 мск | бесплатно
Хотите, чтобы ваши API были надёжно защищены без потери производительности?
На вебинаре разберём:
- Типовые угрозы и уязвимости API
- Аутентификация и авторизация
- Защита на уровне архитектуры
- Роль API Gateway и прокси в обеспечении безопасности
- Лучшие практики проектирования защищённых API и контрактов
✅ После вебинара вы сможете:
- Проектировать API с учётом безопасности на уровне архитектуры
- Применять готовые решения для защиты API
- Осознанно балансировать между безопасностью, сложностью и производительностью
👉 Регистрация https://vk.cc/cTFqe2
Занятие приурочено к старту курса "Software Architect" в OTUS. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📅 26 января | 20:00 мск | бесплатно
Хотите, чтобы ваши API были надёжно защищены без потери производительности?
На вебинаре разберём:
- Типовые угрозы и уязвимости API
- Аутентификация и авторизация
- Защита на уровне архитектуры
- Роль API Gateway и прокси в обеспечении безопасности
- Лучшие практики проектирования защищённых API и контрактов
✅ После вебинара вы сможете:
- Проектировать API с учётом безопасности на уровне архитектуры
- Применять готовые решения для защиты API
- Осознанно балансировать между безопасностью, сложностью и производительностью
👉 Регистрация https://vk.cc/cTFqe2
Занятие приурочено к старту курса "Software Architect" в OTUS. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Тренировки по DevOps. Часть 1
Лекция 1: Кто такой DevOps
Лекция 2: Облако. Кто виноват и что делать?
Лекция 3: Процессы Linux
Лекция 4: Сети Часть 1. Коты и коробки
Разбор домашнего задания 1: Кто такой DevOps
Разбор домашнего задания 2: Облако. Кто виноват и что делать?
Лекция 5: Linux: инструменты командной строки
Лекция 6: Базы данных
Разбор домашнего задания 3: Процессы Linux"
Разбор домашнего задания 4: Сети. Часть 1. Коты и коробки
источник
#devops #девопс
Подпишись 👉@i_DevOps
Лекция 1: Кто такой DevOps
Лекция 2: Облако. Кто виноват и что делать?
Лекция 3: Процессы Linux
Лекция 4: Сети Часть 1. Коты и коробки
Разбор домашнего задания 1: Кто такой DevOps
Разбор домашнего задания 2: Облако. Кто виноват и что делать?
Лекция 5: Linux: инструменты командной строки
Лекция 6: Базы данных
Разбор домашнего задания 3: Процессы Linux"
Разбор домашнего задания 4: Сети. Часть 1. Коты и коробки
источник
#devops #девопс
Подпишись 👉@i_DevOps
🔥2👍1