Выходим за рамки: создание оператора для наблюдения за внешними ресурсами в Kubernetes
В этой статье мы рассмотрим, как создать оператор, который выходит за рамки кластера и взаимодействует с внешним миром. На примере мониторинга HTTP-серверов вы узнаете, как использовать kubebuilder для разработки custom-операторов и как организовать работу с внешними ресурсами. Статья будет полезна разработчикам, желающим расширить возможности своих Kubernetes-кластеров.
https://habr.com/ru/companies/flant/articles/884566/
#devops #девопс
Подпишись 👉@i_DevOps
В этой статье мы рассмотрим, как создать оператор, который выходит за рамки кластера и взаимодействует с внешним миром. На примере мониторинга HTTP-серверов вы узнаете, как использовать kubebuilder для разработки custom-операторов и как организовать работу с внешними ресурсами. Статья будет полезна разработчикам, желающим расширить возможности своих Kubernetes-кластеров.
https://habr.com/ru/companies/flant/articles/884566/
#devops #девопс
Подпишись 👉@i_DevOps
👍1
Освойте управление кластерами в Kubernetes по программе Яндекса
Яндекс открыл доступ к базе знаний с программами, которые помогают девопсам освоить новые навыки. Например, «Managed Service for Kubernetes» составили эксперты Yandex Cloud и практикующие инженеры.
Программа рассчитана на 24 часа освоения и состоит из 60 практических заданий, а также теории по 7 темам. Материалы останутся с вами навсегда.
Вот, что конкретно с её помощью можно освоить:
▪️Развёртывание кластеров;
▪️Настройку сети;
▪️Автоматизацию работы;
▪️Контроль доступа через RBAC;
▪️Решение проблемы с кластером и приложениями;
▪️Работу с Yandex Managed Service for Kubernetes.
Внутри открытой базы знаний Яндекса множество полезных материалов для девопсов. Узнать о них подробнее и получить доступ можно по ссылке.
Яндекс открыл доступ к базе знаний с программами, которые помогают девопсам освоить новые навыки. Например, «Managed Service for Kubernetes» составили эксперты Yandex Cloud и практикующие инженеры.
Программа рассчитана на 24 часа освоения и состоит из 60 практических заданий, а также теории по 7 темам. Материалы останутся с вами навсегда.
Вот, что конкретно с её помощью можно освоить:
▪️Развёртывание кластеров;
▪️Настройку сети;
▪️Автоматизацию работы;
▪️Контроль доступа через RBAC;
▪️Решение проблемы с кластером и приложениями;
▪️Работу с Yandex Managed Service for Kubernetes.
Внутри открытой базы знаний Яндекса множество полезных материалов для девопсов. Узнать о них подробнее и получить доступ можно по ссылке.
🔥1😁1
Какой код сигнала будет выполнен при исполнении команды kill <PID>?
Сигнал SIGTERM (код 15) — это сигнал по-умолчанию отправляемый при вызове команды kill. Это указывает процессу на завершение работы и обычно считается сигналом для использования при чистом завершении работы.
#devops #девопс
Подпишись 👉@i_DevOps
Сигнал SIGTERM (код 15) — это сигнал по-умолчанию отправляемый при вызове команды kill. Это указывает процессу на завершение работы и обычно считается сигналом для использования при чистом завершении работы.
#devops #девопс
Подпишись 👉@i_DevOps
👍1
🔥 Как снизить 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 для распределения нагрузки между несколькими сетевыми интерфейсами.
#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
👍4❤1
Поможем освоить методологию DevOps и выйти на новый профессиональный уровень за 4 месяца
Старт: 17 марта. Оставьте заявку на сайте или напишите нашему менеджеру в Телеграм @Codeby_Academy
Программа курса:
- Контейнеризация и оркестрация: Docker и Kubernetes
- Основы Linux и Git
- Принципы работы с инфраструктурой, контейнерами, CI/CD
- Методы статического анализа для оценки безопасности кода
- Компьютерные сети, базы данных и Bash-скрипты
Кому подойдет этот курс?
- Новичкам: для старта карьеры в команде продуктовой разработки
- Разработчикам: для автоматизации и оптимизации процессов
- Руководителям проектов: для повышения эффективности своей команды
Старт: 17 марта. Оставьте заявку на сайте или напишите нашему менеджеру в Телеграм @Codeby_Academy
Программа курса:
- Контейнеризация и оркестрация: Docker и Kubernetes
- Основы Linux и Git
- Принципы работы с инфраструктурой, контейнерами, CI/CD
- Методы статического анализа для оценки безопасности кода
- Компьютерные сети, базы данных и Bash-скрипты
Кому подойдет этот курс?
- Новичкам: для старта карьеры в команде продуктовой разработки
- Разработчикам: для автоматизации и оптимизации процессов
- Руководителям проектов: для повышения эффективности своей команды
👍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 развертывает одобренные изменения в продакшене
#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
👍5🥰1
Коллеги, давайте еще немного сдвинем сроки выхода приложения, вернемся к вопросу через неделю через полгода. Любимая фраза 😎
Как ускорить процесс разработки и вывод продуктов на рынок? Настраиваем DevOps-конвейер от Сферы🧑💻
Сфера.Сборка — это платформенная экосистема всех необходимых инструментов, которые позволяют автоматизировать процесс разработки и управления жизненным циклом приложений.
DevOps-конвейер Сферы:
🛑 «Сфера.Портал разработки» — единая точка входа для всех разработчиков проекта и инструмент для построения сквозного автоматизированного процесса разработки технологических продуктов.
🛑 «Сфера.CI/CD» — связующее звено всего конвейера, отвечает за оркестрацию DevOps-процесса.
🛑 «Сфера.Дистрибутивы и лицензии» — инструмент для управления артефактами разработки ПО, позволяет создавать репозитории и управлять ими, а также анализировать состав кода, реализовывать собственные политики применения открытых программных компонентов.
🛑 «Сфера.Код» — Git-инструмент для совместной работы, позволяющий хранить, версионировать, консолидировать код и передавать его в систему оркестрации сборки.
DevOps-конвейер Сферы легко интегрируется со многими существующими платформами: AD/LDAP, системами мониторинга, аудита и журналирования.
📌 Подробнее о всех возможностях DevOps-конвейера Сферы.
Реклама ООО «ГК «Иннотех»» ИНН: 9703073496. Erid: 2SDnje4De8C
Как ускорить процесс разработки и вывод продуктов на рынок? Настраиваем DevOps-конвейер от Сферы
Сфера.Сборка — это платформенная экосистема всех необходимых инструментов, которые позволяют автоматизировать процесс разработки и управления жизненным циклом приложений.
DevOps-конвейер Сферы:
DevOps-конвейер Сферы легко интегрируется со многими существующими платформами: AD/LDAP, системами мониторинга, аудита и журналирования.
Реклама ООО «ГК «Иннотех»» ИНН: 9703073496. Erid: 2SDnje4De8C
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥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/
#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
👍4
⚡️Современные распределённые системы генерируют огромные объёмы данных, а эффективный мониторинг становится залогом стабильной работы. Как построить систему, способную выдерживать большие нагрузки, обрабатывать миллионы метрик в секунду и мгновенно реагировать на аномалии?
🔥11 марта в 20.00 мск приглашаем на открытый урок "Проектирование высоконагруженного мониторинга в распределенных системах", на котором разберем:
- лучшие инструменты для сбора и хранения метрик (Prometheus, VictoriaMetrics, Mimir, Thanos и др.);
- методы оптимизации: федерация, шардинг, агрегация, сэмплирование;
- как минимизировать нагрузку и сократить расходы на хранение данных;
- практические кейсы внедрения в highload-проектах.
👉Регистрация https://vk.cc/cJpQMI
Занятие приурочено к старту курса "Observability: мониторинг, логирование, трейсинг", на котором вы научитесь строить эффективные системы мониторинга, работать с Prometheus, Grafana, ELK и другими инструментами, визуализировать метрики.
🔥11 марта в 20.00 мск приглашаем на открытый урок "Проектирование высоконагруженного мониторинга в распределенных системах", на котором разберем:
- лучшие инструменты для сбора и хранения метрик (Prometheus, VictoriaMetrics, Mimir, Thanos и др.);
- методы оптимизации: федерация, шардинг, агрегация, сэмплирование;
- как минимизировать нагрузку и сократить расходы на хранение данных;
- практические кейсы внедрения в highload-проектах.
👉Регистрация https://vk.cc/cJpQMI
Занятие приурочено к старту курса "Observability: мониторинг, логирование, трейсинг", на котором вы научитесь строить эффективные системы мониторинга, работать с Prometheus, Grafana, ELK и другими инструментами, визуализировать метрики.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Шпаргалка по 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. Отладка и устранение проблем
#devops #девопс
Подпишись 👉@i_DevOps
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: 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
👍11❤2👎1
📌Docker
Удаление промежуточных образов без тэгов:
Мягко перезапустить контейнер:
Список контейнеров:
Подключиться к контейнеру:
Остановить все контейнеры:
Удалить все контейнеры, из которых вышли:
Удалить образ:
Создать образ:
Удалить все неиспользуемые тома:
Подключиться под рутом в контейнер Alpine:
docker exec -it --user root alpine-container bash
#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
👍8
🐼Обработка Excel-таблиц с Pandas: больше никакой рутины!
Excel — отличный инструмент, пока вы не начинаете работать с огромными таблицами, сложными расчётами и бесконечными формулами. Сортировки, фильтры, ручная обработка — это боль.
Как автоматизировать работу с таблицами и делать больше за меньшее время? На открытом вебинаре «Искусство обработки Excel-таблиц с Pandas» 11 марта в 20:00 (мск):
- Узнаем, как загружать, фильтровать и группировать данные в Pandas
- Освоим автоматизацию рутинных задач, чтобы не тратить часы на одно и то же
- Разберём, как строить графики и визуализировать данные прямо из таблиц
Всем участникам — скидка на большое обучение «Python Developer. Basic».
⚡️Регистрация открыта: https://vk.cc/cJwtWO
Excel — отличный инструмент, пока вы не начинаете работать с огромными таблицами, сложными расчётами и бесконечными формулами. Сортировки, фильтры, ручная обработка — это боль.
Как автоматизировать работу с таблицами и делать больше за меньшее время? На открытом вебинаре «Искусство обработки Excel-таблиц с Pandas» 11 марта в 20:00 (мск):
- Узнаем, как загружать, фильтровать и группировать данные в Pandas
- Освоим автоматизацию рутинных задач, чтобы не тратить часы на одно и то же
- Разберём, как строить графики и визуализировать данные прямо из таблиц
Всем участникам — скидка на большое обучение «Python Developer. Basic».
⚡️Регистрация открыта: https://vk.cc/cJwtWO
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576👍1
Практическое руководство по настройке CI/CD для PHP проектов
В этом лонгриде я расскажу немного теории о CI/CD, но в основном это будут практические примеры и советы, в первую очередь полезные для PHP backend разработчиков, однако некоторые инструменты подходят и для других языков, и вы можете уловить общую идею, как писать пайплайны
https://habr.com/ru/articles/889120/
#devops #девопс
Подпишись 👉@i_DevOps
В этом лонгриде я расскажу немного теории о CI/CD, но в основном это будут практические примеры и советы, в первую очередь полезные для PHP backend разработчиков, однако некоторые инструменты подходят и для других языков, и вы можете уловить общую идею, как писать пайплайны
https://habr.com/ru/articles/889120/
#devops #девопс
Подпишись 👉@i_DevOps
👍5
Media is too big
VIEW IN TELEGRAM
Проект dockur/windows позволяет запускать Windows внутри контейнера Docker.
Он предоставляет такие возможности, как загрузка ISO-образов, ускорение с помощью KVM и веб-интерфейс для просмотра.
Основные особенности:
- Загрузчик ISO-образов
- Аппаратное ускорение через KVM
- Веб-интерфейс для доступа
Пример использования с Docker Compose:
Пример использования с Docker CLI:
https://github.com/dockur/windows
#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
#devops #девопс
Подпишись 👉@i_DevOps
👍5
Media is too big
VIEW IN TELEGRAM
🎥 Чем выпускник Открытых школ Т1 отличается от обычного кандидата?
Ответ в видео!
Эксперты ИТ-холдинга Т1 рассказывают, почему участники Открытых школ находятся на шаг впереди.Это не просто интенсив, а карьерный буст!
Участники интенсива для прикладных администраторов L2:
📁 познакомятся с DevOps как практикой разработки, подробно изучат контейнеризацию и микросервисы, погрузятся в Kubernetes и OpenShift, изучат работу с базами данных и многое другое;
🤝 погрузятся в проекты и культуру ИТ-холдинга Т1, познакомятся с командой;
📚 освоят навыки при поддержке менторов;
📈 смогут пройти собеседования увереннее благодаря HR-материалам и подготовке.
Даже без опыта можно войти в ИТ! Подай заявку до 14.03 и получи шанс стать частью одной из ведущих ИТ-компаний России! Старт обучения уже 17 марта!
Информация о рекламодателе.
Ответ в видео!
Эксперты ИТ-холдинга Т1 рассказывают, почему участники Открытых школ находятся на шаг впереди.
Участники интенсива для прикладных администраторов L2:
📁 познакомятся с DevOps как практикой разработки, подробно изучат контейнеризацию и микросервисы, погрузятся в Kubernetes и OpenShift, изучат работу с базами данных и многое другое;
🤝 погрузятся в проекты и культуру ИТ-холдинга Т1, познакомятся с командой;
📚 освоят навыки при поддержке менторов;
📈 смогут пройти собеседования увереннее благодаря HR-материалам и подготовке.
Даже без опыта можно войти в ИТ! Подай заявку до 14.03 и получи шанс стать частью одной из ведущих ИТ-компаний России! Старт обучения уже 17 марта!
Информация о рекламодателе.
👍3
Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная
В жизни любого проекта наступает катастрофа. Мы не можем заранее знать, что именно это будет - короткое замыкание в серверной, инженер, дропнувший центральную БД или нашествие бобров. Тем не менее, оно обязательно случится, причем по предельно идиотской причине.
Насчет бобров, я, кстати, не шутил. В Канаде они перегрызли кабель и оставили целый район Tumbler Ridge без оптоволоконной связи. Причем, животные, как мне кажется, делают все для того, чтобы внезапно лишить вас доступа к вашим ресурсам:
https://habr.com/ru/companies/wiseops/articles/802701/
#devops #девопс
Подпишись 👉@i_DevOps
В жизни любого проекта наступает катастрофа. Мы не можем заранее знать, что именно это будет - короткое замыкание в серверной, инженер, дропнувший центральную БД или нашествие бобров. Тем не менее, оно обязательно случится, причем по предельно идиотской причине.
Насчет бобров, я, кстати, не шутил. В Канаде они перегрызли кабель и оставили целый район Tumbler Ridge без оптоволоконной связи. Причем, животные, как мне кажется, делают все для того, чтобы внезапно лишить вас доступа к вашим ресурсам:
https://habr.com/ru/companies/wiseops/articles/802701/
#devops #девопс
Подпишись 👉@i_DevOps
👍1
GMonit приглашает на технический вебинар
🗓 Когда: 13 марта, 17:00 (Мск)
🔗 Регистрация по ссылке
О чем поговорим:
1️⃣ Как работают head-based и tail-based сэмплирование — плюсы и подводные камни.
2️⃣ Какие алгоритмы помогают снижать нагрузку на инфраструктуру.
3️⃣ Когда оптимизация данных экономит деньги, а когда — создает проблемы.
В финале — разбор реальных сценариев и демонстрация сэмплирования в GMonit + QA-сессия.
Если ваши системы генерируют тонны логов, метрик и трейсинга — этот вебинар поможет держать их под контролем. 😉
🗓 Когда: 13 марта, 17:00 (Мск)
🔗 Регистрация по ссылке
О чем поговорим:
1️⃣ Как работают head-based и tail-based сэмплирование — плюсы и подводные камни.
2️⃣ Какие алгоритмы помогают снижать нагрузку на инфраструктуру.
3️⃣ Когда оптимизация данных экономит деньги, а когда — создает проблемы.
В финале — разбор реальных сценариев и демонстрация сэмплирования в GMonit + QA-сессия.
Если ваши системы генерируют тонны логов, метрик и трейсинга — этот вебинар поможет держать их под контролем. 😉
👍2
🚀 Шпаргалка по Docker 🐳
🔹 Сборка (Build)
🔹 Запуск (Run)
🔹 Шаринг (Share)
🔹 Управление (Management)
📌 Сборка образов
📍 Создать образ из
📍 Посмотреть локальные образы:
📍 Удалить образ:
📌 Запуск контейнеров
📍 Запустить контейнер на порту 5000:
📍 Остановить контейнер:
📍 Принудительно завершить контейнер:
📍 Список запущенных контейнеров:
📍 Удалить все контейнеры:
📌 Работа с образами (Share)
📍 Скачать образ из реестра:
📍 Изменить тег у локального образа:
📍 Запушить образ в реестр:
📌 Управление Docker (Management)
⚙️
⚙️
⚙️
⚙️
⚙️
⚙️
⚙️
⚙️
📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳
#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 – Управление всей системой 📝 Сохраните, поделитесь с друзьями и подписывайтесь на канал! 💙🐳
#devops #девопс
Подпишись 👉@i_DevOps
👍10🔥3❤2
Руководство от ненавистника Kubernetes: как использовать эту технологию
Пол Батлер, инженер-программист и создатель Jamsocket, уверяет, что Kubernetes — это как сложный, но увлекательный пазл: его можно ненавидеть, но без него не обойтись. Мы перевели его статью, в которой он рассказал, какие ресурсы K8s использует с удовольствием, а от каких предпочитает держаться подальше. В этом руководстве ненавистника вы найдете ценные советы, как извлечь максимум пользы из Kubernetes.
https://habr.com/ru/companies/flant/articles/840998/
original https://paulbutler.org/2024/the-haters-guide-to-kubernetes/
#devops #девопс
Подпишись 👉@i_DevOps
Пол Батлер, инженер-программист и создатель Jamsocket, уверяет, что Kubernetes — это как сложный, но увлекательный пазл: его можно ненавидеть, но без него не обойтись. Мы перевели его статью, в которой он рассказал, какие ресурсы K8s использует с удовольствием, а от каких предпочитает держаться подальше. В этом руководстве ненавистника вы найдете ценные советы, как извлечь максимум пользы из Kubernetes.
https://habr.com/ru/companies/flant/articles/840998/
original https://paulbutler.org/2024/the-haters-guide-to-kubernetes/
#devops #девопс
Подпишись 👉@i_DevOps
👍3
5 советов по эффективному управлению AWS Security Groups с помощью Terraform
1. Используйте модульный подход – Разделение конфигурации Security Groups на модули повышает удобство повторного использования и масштабируемость.
2. Явно указывайте правила вместо использования
3. Применяйте
4. Используйте динамические блоки в Terraform – Они помогают уменьшить количество кода и повысить гибкость при настройке правил безопасности.
5. Применяйте
https://blog.avangards.io/5-tips-to-efficiently-manage-aws-security-groups-using-terraform
#devops #девопс
Подпишись 👉@i_DevOps
1. Используйте модульный подход – Разделение конфигурации Security Groups на модули повышает удобство повторного использования и масштабируемость.
2. Явно указывайте правила вместо использования
inline – Это делает код более читаемым и позволяет легко управлять правилами без дублирования.3. Применяйте
terraform import для существующих Security Groups – Это упрощает миграцию и управление уже созданными ресурсами.4. Используйте динамические блоки в Terraform – Они помогают уменьшить количество кода и повысить гибкость при настройке правил безопасности.
5. Применяйте
terraform plan и terraform apply осознанно – Регулярный анализ изменений перед их применением снижает вероятность случайных ошибок.https://blog.avangards.io/5-tips-to-efficiently-manage-aws-security-groups-using-terraform
#devops #девопс
Подпишись 👉@i_DevOps
👍1