ar
Feedback
DevOps

DevOps

الذهاب إلى القناة على Telegram

Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter

إظهار المزيد
8 762
المشتركون
-224 ساعات
-197 أيام
+1630 أيام
أرشيف المشاركات
DevOps
8 761
⏰До -37% на курсы этой весной! Админы, DevOps`ы, инженеры, вам сюда! 💫Собрали курсы, которые охватывают весь спектр необходи
⏰До -37% на курсы этой весной! Админы, DevOps`ы, инженеры, вам сюда! 💫Собрали курсы, которые охватывают весь спектр необходимых знаний и инструментов для профессионального роста 一 от контейнеризации с Docker и оркестрации с Kubernetes, до автоматизации CI/CD и управления облачной инфраструктурой. 💫 На курсах учим мониторить и логировать системы, строить надежные CI/CD пайплайны, работать с Apach Kafka, предоставлять и поддерживать вычислительную инфраструктуру с помощью кода и многое другое. 👉🏻Переходите на сайт и выбирайте обучение с выгодой до 25 000р

DevOps
8 761
🚀 Шпаргалка по Docker 🐳 🔹 Сборка (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 – Управление всей системой 📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳 #devops #девопс Подпишись 👉@i_DevOps

DevOps
8 761
GMonit приглашает на технический вебинар 🗓 Когда: 13 марта, 17:00 (Мск) 🔗 Регистрация по ссылке О чем поговорим: 1️⃣ Как ра
GMonit приглашает на технический вебинар 🗓 Когда: 13 марта, 17:00 (Мск) 🔗 Регистрация по ссылке О чем поговорим: 1️⃣ Как работают head-based и tail-based сэмплирование — плюсы и подводные камни. 2️⃣ Какие алгоритмы помогают снижать нагрузку на инфраструктуру. 3️⃣ Когда оптимизация данных экономит деньги, а когда — создает проблемы. В финале — разбор реальных сценариев и демонстрация сэмплирования в GMonit + QA-сессия. Если ваши системы генерируют тонны логов, метрик и трейсинга — этот вебинар поможет держать их под контролем. 😉

DevOps
8 761
Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная В жизни любого проекта наступает катастрофа. Мы н
Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная В жизни любого проекта наступает катастрофа. Мы не можем заранее знать, что именно это будет - короткое замыкание в серверной, инженер, дропнувший центральную БД или нашествие бобров. Тем не менее, оно обязательно случится, причем по предельно идиотской причине. Насчет бобров, я, кстати, не шутил. В Канаде они перегрызли кабель и оставили целый район Tumbler Ridge без оптоволоконной связи. Причем, животные, как мне кажется, делают все для того, чтобы внезапно лишить вас доступа к вашим ресурсам: https://habr.com/ru/companies/wiseops/articles/802701/ #devops #девопс Подпишись 👉@i_DevOps

DevOps
8 761
🎥 Чем выпускник Открытых школ Т1 отличается от обычного кандидата? Ответ в видео! Эксперты ИТ-холдинга Т1 рассказывают, почему участники Открытых школ находятся на шаг впереди. Это не просто интенсив, а карьерный буст! Участники интенсива для прикладных администраторов L2: 📁 познакомятся с DevOps как практикой разработки, подробно изучат контейнеризацию и микросервисы, погрузятся в Kubernetes и OpenShift, изучат работу с базами данных и многое другое; 🤝 погрузятся в проекты и культуру ИТ-холдинга Т1, познакомятся с командой; 📚 освоят навыки при поддержке менторов; 📈 смогут пройти собеседования увереннее благодаря HR-материалам и подготовке. Даже без опыта можно войти в ИТ! Подай заявку до 14.03 и получи шанс стать частью одной из ведущих ИТ-компаний России! Старт обучения уже 17 марта! Информация о рекламодателе.

DevOps
8 761
Проект dockur/windows позволяет запускать Windows внутри контейнера Docker. Он предоставляет такие возможности, как загрузка 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 #devops #девопс Подпишись 👉@i_DevOps

DevOps
8 761
Практическое руководство по настройке CI/CD для PHP проектов В этом лонгриде я расскажу немного теории о CI/CD, но в основном
Практическое руководство по настройке CI/CD для PHP проектов В этом лонгриде я расскажу немного теории о CI/CD, но в основном это будут практические примеры и советы, в первую очередь полезные для PHP backend разработчиков, однако некоторые инструменты подходят и для других языков, и вы можете уловить общую идею, как писать пайплайны https://habr.com/ru/articles/889120/ #devops #девопс Подпишись 👉@i_DevOps

DevOps
8 761
🐼Обработка Excel-таблиц с Pandas: больше никакой рутины! Excel — отличный инструмент, пока вы не начинаете работать с огромн
🐼Обработка Excel-таблиц с Pandas: больше никакой рутины! Excel — отличный инструмент, пока вы не начинаете работать с огромными таблицами, сложными расчётами и бесконечными формулами. Сортировки, фильтры, ручная обработка — это боль. Как автоматизировать работу с таблицами и делать больше за меньшее время? На открытом вебинаре «Искусство обработки Excel-таблиц с Pandas» 11 марта в 20:00 (мск): - Узнаем, как загружать, фильтровать и группировать данные в Pandas - Освоим автоматизацию рутинных задач, чтобы не тратить часы на одно и то же - Разберём, как строить графики и визуализировать данные прямо из таблиц Всем участникам — скидка на большое обучение «Python Developer. Basic». ⚡️Регистрация открыта: https://vk.cc/cJwtWO Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

DevOps
8 761
📌Docker Удаление промежуточных образов без тэгов: 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

DevOps
8 761
Шпаргалка по Kubernetes 1. Основные понятияPod – наименьшая единица развертывания, содержит один или несколько контейнеров. • Deployment – контроллер, который управляет репликами Pod’ов и их обновлением. • Service – абстракция, предоставляющая доступ к Pod’ам (ClusterIP, NodePort, LoadBalancer). • ConfigMap – хранит конфигурационные данные в виде ключ-значение. • Secret – безопасное хранилище для конфиденциальных данных (пароли, токены). • PersistentVolume (PV) – абстракция для хранения данных. • PersistentVolumeClaim (PVC) – запрос на использование хранилища (PV). • Namespace – логическое разделение ресурсов в кластере. • Ingress – объект, предоставляющий доступ к сервисам внутри кластера через HTTP/HTTPS. 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: 80 Deployment 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: 80 Service (NodePort) apiVersion: v1 kind: Service metadata: name: my-service spec: selector: app: my-app ports: - protocol: TCP port: 80 targetPort: 80 nodePort: 30080 type: NodePort Ingress 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: 80 4. Полезные команды 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

DevOps
8 761
⚡️Современные распределённые системы генерируют огромные объёмы данных, а эффективный мониторинг становится залогом стабильно
⚡️Современные распределённые системы генерируют огромные объёмы данных, а эффективный мониторинг становится залогом стабильной работы. Как построить систему, способную выдерживать большие нагрузки, обрабатывать миллионы метрик в секунду и мгновенно реагировать на аномалии? 🔥11 марта в 20.00 мск приглашаем на открытый урок "Проектирование высоконагруженного мониторинга в распределенных системах", на котором разберем: - лучшие инструменты для сбора и хранения метрик (Prometheus, VictoriaMetrics, Mimir, Thanos и др.); - методы оптимизации: федерация, шардинг, агрегация, сэмплирование; - как минимизировать нагрузку и сократить расходы на хранение данных; - практические кейсы внедрения в highload-проектах. 👉Регистрация https://vk.cc/cJpQMI Занятие приурочено к старту курса "Observability: мониторинг, логирование, трейсинг", на котором вы научитесь строить эффективные системы мониторинга, работать с Prometheus, Grafana, ELK и другими инструментами, визуализировать метрики. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

DevOps
8 761
10 шагов к созданию оркестратора Terragrunt 1. Определите цели – Четко обозначьте, какие задачи должен решать оркестратор: уп
10 шагов к созданию оркестратора Terragrunt 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

DevOps
8 761
Коллеги, давайте еще немного сдвинем сроки выхода приложения, вернемся к вопросу через неделю через полгода. Любимая фраза 😎
Коллеги, давайте еще немного сдвинем сроки выхода приложения, вернемся к вопросу через неделю через полгода. Любимая фраза 😎 Как ускорить процесс разработки и вывод продуктов на рынок? Настраиваем DevOps-конвейер от Сферы 🧑‍💻 Сфера.Сборка — это платформенная экосистема всех необходимых инструментов, которые позволяют автоматизировать процесс разработки и управления жизненным циклом приложений. DevOps-конвейер Сферы: 🛑 «Сфера.Портал разработки» — единая точка входа для всех разработчиков проекта и инструмент для построения сквозного автоматизированного процесса разработки технологических продуктов. 🛑 «Сфера.CI/CD» — связующее звено всего конвейера, отвечает за оркестрацию DevOps-процесса. 🛑 «Сфера.Дистрибутивы и лицензии» — инструмент для управления артефактами разработки ПО, позволяет создавать репозитории и управлять ими, а также анализировать состав кода, реализовывать собственные политики применения открытых программных компонентов. 🛑 «Сфера.Код» — Git-инструмент для совместной работы, позволяющий хранить, версионировать, консолидировать код и передавать его в систему оркестрации сборки. DevOps-конвейер Сферы легко интегрируется со многими существующими платформами: AD/LDAP, системами мониторинга, аудита и журналирования. 📌 Подробнее о всех возможностях DevOps-конвейера Сферы. Реклама ООО «ГК «Иннотех»» ИНН: 9703073496. Erid: 2SDnje4De8C

DevOps
8 761
Pipeline CI/CD, объясненный простыми словами Раздел 1 - SDLC с CI/CD Жизненный цикл разработки программного обеспечения (SDLC
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 развертывает одобренные изменения в продакшене #devops #девопс Подпишись 👉@i_DevOps

DevOps
8 761
Поможем освоить методологию DevOps и выйти на новый профессиональный уровень за 4 месяца Старт: 17 марта. Оставьте заявку на
Поможем освоить методологию DevOps и выйти на новый профессиональный уровень за 4 месяца Старт: 17 марта. Оставьте заявку на сайте или напишите нашему менеджеру в Телеграм @Codeby_Academy Программа курса: - Контейнеризация и оркестрация: Docker и Kubernetes - Основы Linux и Git - Принципы работы с инфраструктурой, контейнерами, CI/CD - Методы статического анализа для оценки безопасности кода - Компьютерные сети, базы данных и Bash-скрипты Кому подойдет этот курс? - Новичкам: для старта карьеры в команде продуктовой разработки - Разработчикам: для автоматизации и оптимизации процессов - Руководителям проектов: для повышения эффективности своей команды

DevOps
8 761
🔥 Как снизить Latency в Kubernetes? 🔥 Высокая задержка (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

DevOps
8 761
Какой код сигнала будет выполнен при исполнении команды kill <PID>? Сигнал SIGTERM (код 15) — это сигнал по-умолчанию отправляемый при вызове команды kill. Это указывает процессу на завершение работы и обычно считается сигналом для использования при чистом завершении работы. #devops #девопс Подпишись 👉@i_DevOps

DevOps
8 761
Освойте управление кластерами в Kubernetes по программе Яндекса Яндекс открыл доступ к базе знаний с программами, которые пом
Освойте управление кластерами в Kubernetes по программе Яндекса Яндекс открыл доступ к базе знаний с программами, которые помогают девопсам освоить новые навыки. Например, «Managed Service for Kubernetes» составили эксперты Yandex Cloud и практикующие инженеры. Программа рассчитана на 24 часа освоения и состоит из 60 практических заданий, а также теории по 7 темам. Материалы останутся с вами навсегда. Вот, что конкретно с её помощью можно освоить: ▪️Развёртывание кластеров; ▪️Настройку сети; ▪️Автоматизацию работы; ▪️Контроль доступа через RBAC; ▪️Решение проблемы с кластером и приложениями; ▪️Работу с Yandex Managed Service for Kubernetes. Внутри открытой базы знаний Яндекса множество полезных материалов для девопсов. Узнать о них подробнее и получить доступ можно по ссылке.

DevOps
8 761
Выходим за рамки: создание оператора для наблюдения за внешними ресурсами в Kubernetes В этой статье мы рассмотрим, как созда
Выходим за рамки: создание оператора для наблюдения за внешними ресурсами в Kubernetes В этой статье мы рассмотрим, как создать оператор, который выходит за рамки кластера и взаимодействует с внешним миром. На примере мониторинга HTTP-серверов вы узнаете, как использовать kubebuilder для разработки custom-операторов и как организовать работу с внешними ресурсами. Статья будет полезна разработчикам, желающим расширить возможности своих Kubernetes-кластеров. https://habr.com/ru/companies/flant/articles/884566/ #devops #девопс Подпишись 👉@i_DevOps

DevOps
8 761
Станьте тем самым сыном маминой подруги 💪 Мечтаете попасть в Google, Microsoft, Яндекс, VK или другие корпорации? Расскажем
Станьте тем самым сыном маминой подруги 💪 Мечтаете попасть в Google, Microsoft, Яндекс, VK или другие корпорации? Расскажем по секрету — они активно используют Golang для разработки своей инфраструктуры. Если вы хотите дополнить своё резюме крутым языком и стать на шаг ближе к заветному офферу, присоединяйтесь к потоку курса «Golang для инженеров». За 3 месяца вы научитесь: ✔️ писать код на Go: переменные, типы данных, функции и структуры ✔️ создавать микросервисы, взаимодействуя с Docker и Kubernetes ✔️ разрабатывать и тестировать API-сервисы на языке Go ✔️ работать с Kubernetes, включая создание и использование операторов Спикеры курса, Всеволод Севостьянов — Staff engineer в Lokalise, и Тигран Ханагян — Senior software engineer в HungerStation Delivery Hero, имеют более 10 лет опыта разработки и обучат вас уверенному владению Go. 📅 Старт 10 марта По коду GoForOps10 вас ждет скидка 10% 💸 👉 Занять место на курсе #реклама О рекламодателе