Media is too big
VIEW IN TELEGRAM
SQL за полтора часа в одном видео! Полный базовый курс по SQL. Базы данных курс для начинающих!
00:00:00 Введение
00:02:43 Платные курсы и что изучать дальше
00:04:55 Коротко об онлайн редакторе
00:07:11 Что такое база данных
00:08:10 Что такое CRUD
00:10:05 Запрос на создание первой таблицы
00:11:57 Типы данных у атрибутов(колонок) (DATA TYPES)
00:17:26 Прописываем атрибуты(колонки) первой таблицы
00:21:07 Создаем первую таблицу (CREATE TABLE)
00:21:38 Проверка на наличие таблицы при создании (IF NOT EXISTS)
00:22:18 Запрос на удаление таблицы(DROP TABLE)
00:22:33 Проверка на наличие таблицы при удалении(IF EXISTS)
00:22:57 Запрос на добавление объекта в таблицу (INSER INTO table)
00:23:35 Запрос на чтение(получение) объектов из таблицы(SELECT * FROM table)
00:24:18 Модификаторы для атрибутов(колонок) таблицы(NOT NULL, DEFAULT, UNIQUE)
00:29:26 Изменение уже существующей таблицы(ALTER TABLE, ADD, DROP, RENAME, MODIFY COLUMN)
00:36:08 Удаление объектов из таблицы(DELETE FROM table)
00:37:06 Редактирование объекта в таблице(UPDATE table)
00:39:03 Первичный ключ(PRIMARY KEY)
00:45:37 Композиция в бд
00:50:38 "Иностранный" ключ(FOREIGN KEY)
00:57:26 Индексы в бд(INDEX)
00:59:24 Готовим данные для темы алиас, юнион и слияние таблиц
01:03:30 Слияние таблиц(INNER JOIN)
01:06:02 Слияние таблиц(LEFT JOIN)
01:06:53 Слияние таблиц(RIGHT JOIN)
01:07:26 Слияние таблиц(FULL JOIN/OUTER JOIN) и Union
01:09:04 Алиас(table AS alias)
01:12:18 Select Distinct в SQL
01:13:42 AND OR NOT в SQL
01:16:18 ORDER BY и LIMIT в SQL
01:17:35 MIN и MAX в SQL
01:18:25 COUNT SUM AVG в SQL
01:19:29 LIKE в SQL
01:21:31 IN и BETWEEN в SQL
01:22:50 GROUP BY в SQL
01:25:17 EXISTS в SQL
01:27:37 ANY и SOME в SQL
01:29:00 INSERT INTO в SQL
01:30:40 Отношения в базе данных
01:32:11 Отношения один к одному
01:33:09 Отношения один ко многим
01:34:09 Отношения многие ко многим
01:37:10 Отношения один к одному и один ко многим "через"
01:39:10 SQL инъекции
источник
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
00:00:00 Введение
00:02:43 Платные курсы и что изучать дальше
00:04:55 Коротко об онлайн редакторе
00:07:11 Что такое база данных
00:08:10 Что такое CRUD
00:10:05 Запрос на создание первой таблицы
00:11:57 Типы данных у атрибутов(колонок) (DATA TYPES)
00:17:26 Прописываем атрибуты(колонки) первой таблицы
00:21:07 Создаем первую таблицу (CREATE TABLE)
00:21:38 Проверка на наличие таблицы при создании (IF NOT EXISTS)
00:22:18 Запрос на удаление таблицы(DROP TABLE)
00:22:33 Проверка на наличие таблицы при удалении(IF EXISTS)
00:22:57 Запрос на добавление объекта в таблицу (INSER INTO table)
00:23:35 Запрос на чтение(получение) объектов из таблицы(SELECT * FROM table)
00:24:18 Модификаторы для атрибутов(колонок) таблицы(NOT NULL, DEFAULT, UNIQUE)
00:29:26 Изменение уже существующей таблицы(ALTER TABLE, ADD, DROP, RENAME, MODIFY COLUMN)
00:36:08 Удаление объектов из таблицы(DELETE FROM table)
00:37:06 Редактирование объекта в таблице(UPDATE table)
00:39:03 Первичный ключ(PRIMARY KEY)
00:45:37 Композиция в бд
00:50:38 "Иностранный" ключ(FOREIGN KEY)
00:57:26 Индексы в бд(INDEX)
00:59:24 Готовим данные для темы алиас, юнион и слияние таблиц
01:03:30 Слияние таблиц(INNER JOIN)
01:06:02 Слияние таблиц(LEFT JOIN)
01:06:53 Слияние таблиц(RIGHT JOIN)
01:07:26 Слияние таблиц(FULL JOIN/OUTER JOIN) и Union
01:09:04 Алиас(table AS alias)
01:12:18 Select Distinct в SQL
01:13:42 AND OR NOT в SQL
01:16:18 ORDER BY и LIMIT в SQL
01:17:35 MIN и MAX в SQL
01:18:25 COUNT SUM AVG в SQL
01:19:29 LIKE в SQL
01:21:31 IN и BETWEEN в SQL
01:22:50 GROUP BY в SQL
01:25:17 EXISTS в SQL
01:27:37 ANY и SOME в SQL
01:29:00 INSERT INTO в SQL
01:30:40 Отношения в базе данных
01:32:11 Отношения один к одному
01:33:09 Отношения один ко многим
01:34:09 Отношения многие ко многим
01:37:10 Отношения один к одному и один ко многим "через"
01:39:10 SQL инъекции
источник
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2❤1
🚀 GitOps: Почему DevOps больше не будет прежним
GitOps – это не просто модное слово, а подход, который меняет игру в управлении инфраструктурой. Почему? Давай разберёмся!
🔹 1. Вся инфраструктура как код
Вместо ручного изменения конфигурации – все в Git. Хочешь новый сервис или обновление? Открыл Pull Request, проверил, замерджил – и всё развернулось автоматически.
🔹 2. Автоматическое применение изменений
Git становится единственным источником правды (SSOT). Если что-то изменилось в репозитории – операционные изменения автоматически применяются в инфраструктуре.
🔹 3. Быстрое восстановление
Если что-то сломалось, просто откатываешь коммит в Git, и система сама приводит всё в правильное состояние.
🔹 4. Аудит и безопасность
Любое изменение фиксируется. Можно посмотреть, кто что сделал, когда и зачем – плюс автоматический контроль доступа через Git-платформу.
🔹 5. Простота масштабирования
Добавить новый кластер или окружение? Просто создать новый файл в Git и всё развернётся само.
🔥 Топ-3 инструмента для GitOps
✅ ArgoCD – управление Kubernetes-кластерами через Git.
✅ FluxCD – лёгкое и гибкое GitOps-решение для Kubernetes.
✅ Terraform + Atlantis – автоматическое применение Terraform-конфигов по PR.
GitOps – это про контроль, скорость и удобство. Если ты всё ещё делаешь kubectl apply -f, самое время задуматься!
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
GitOps – это не просто модное слово, а подход, который меняет игру в управлении инфраструктурой. Почему? Давай разберёмся!
🔹 1. Вся инфраструктура как код
Вместо ручного изменения конфигурации – все в Git. Хочешь новый сервис или обновление? Открыл Pull Request, проверил, замерджил – и всё развернулось автоматически.
🔹 2. Автоматическое применение изменений
Git становится единственным источником правды (SSOT). Если что-то изменилось в репозитории – операционные изменения автоматически применяются в инфраструктуре.
🔹 3. Быстрое восстановление
Если что-то сломалось, просто откатываешь коммит в Git, и система сама приводит всё в правильное состояние.
🔹 4. Аудит и безопасность
Любое изменение фиксируется. Можно посмотреть, кто что сделал, когда и зачем – плюс автоматический контроль доступа через Git-платформу.
🔹 5. Простота масштабирования
Добавить новый кластер или окружение? Просто создать новый файл в Git и всё развернётся само.
🔥 Топ-3 инструмента для GitOps
✅ ArgoCD – управление Kubernetes-кластерами через Git.
✅ FluxCD – лёгкое и гибкое GitOps-решение для Kubernetes.
✅ Terraform + Atlantis – автоматическое применение Terraform-конфигов по PR.
GitOps – это про контроль, скорость и удобство. Если ты всё ещё делаешь kubectl apply -f, самое время задуматься!
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
📌 Как правильно организовать CI/CD в Kubernetes?
CI/CD (Continuous Integration / Continuous Deployment) в Kubernetes — ключевой элемент современного DevOps-подхода. Если вы хотите автоматизировать деплой и минимизировать риски, придерживайтесь следующих рекомендаций:
🔹 Используйте GitOps
Автоматизируйте развертывание через инструменты вроде ArgoCD или FluxCD. Это упростит управление конфигурацией кластеров и обеспечит прозрачность изменений.
🔹 Разделяйте окружения
Создавайте отдельные namespaces или кластеры для development, staging и production. Это снизит риски, связанные с тестированием новых версий.
🔹 Оптимизируйте пайплайны
Используйте GitHub Actions, GitLab CI/CD или Jenkins для автоматизации процессов. Разбивайте пайплайн на этапы: билд, тестирование, сканирование безопасности и деплой.
🔹 Применяйте Helm или Kustomize
Для удобного управления манифестами Kubernetes используйте Helm-чарты или Kustomize. Это упростит конфигурирование сервисов и версионирование.
🔹 Следите за мониторингом и логированием
Интегрируйте Prometheus + Grafana для метрик, а Loki или EFK (Elasticsearch + Fluentd + Kibana) для логирования. Это поможет быстро находить проблемы.
🔹 Автоматизируйте rollbacks
Настройте стратегию деплоя (RollingUpdate, Canary, Blue-Green) и используйте readiness-пробы, чтобы минимизировать downtime.
Настроенный CI/CD в Kubernetes — залог стабильности и предсказуемости вашего приложения. 🚀
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
CI/CD (Continuous Integration / Continuous Deployment) в Kubernetes — ключевой элемент современного DevOps-подхода. Если вы хотите автоматизировать деплой и минимизировать риски, придерживайтесь следующих рекомендаций:
🔹 Используйте GitOps
Автоматизируйте развертывание через инструменты вроде ArgoCD или FluxCD. Это упростит управление конфигурацией кластеров и обеспечит прозрачность изменений.
🔹 Разделяйте окружения
Создавайте отдельные namespaces или кластеры для development, staging и production. Это снизит риски, связанные с тестированием новых версий.
🔹 Оптимизируйте пайплайны
Используйте GitHub Actions, GitLab CI/CD или Jenkins для автоматизации процессов. Разбивайте пайплайн на этапы: билд, тестирование, сканирование безопасности и деплой.
🔹 Применяйте Helm или Kustomize
Для удобного управления манифестами Kubernetes используйте Helm-чарты или Kustomize. Это упростит конфигурирование сервисов и версионирование.
🔹 Следите за мониторингом и логированием
Интегрируйте Prometheus + Grafana для метрик, а Loki или EFK (Elasticsearch + Fluentd + Kibana) для логирования. Это поможет быстро находить проблемы.
🔹 Автоматизируйте rollbacks
Настройте стратегию деплоя (RollingUpdate, Canary, Blue-Green) и используйте readiness-пробы, чтобы минимизировать downtime.
Настроенный CI/CD в Kubernetes — залог стабильности и предсказуемости вашего приложения. 🚀
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2👎1
Lexicon - утилита для управление записями DNS на различных DNS-провайдерах.
Используя её, вы можете организовать централизованное управление записями на неймсерверах провайдеров, используя их API, без необходимости ручных правок в панелях.
Поддерживает большой список популярных сервисов Cloudflare, Cloudns, Yandexcloud и т.д.
https://github.com/AnalogJ/lexicon
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Используя её, вы можете организовать централизованное управление записями на неймсерверах провайдеров, используя их API, без необходимости ручных правок в панелях.
Поддерживает большой список популярных сервисов Cloudflare, Cloudns, Yandexcloud и т.д.
https://github.com/AnalogJ/lexicon
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
📌Построение масштабируемой инфраструктуры: стратегии и лучшие практики
1. Понятие масштабируемой инфраструктуры: Обсуждается способность инфраструктуры гибко и эффективно увеличиваться или уменьшаться в зависимости от потребностей, что позволяет современным компаниям быстро адаптироваться к изменяющимся нагрузкам и требованиям пользователей без потери производительности и сдерживания затрат.
2. Немасштабируемые подходы: Рассматриваются традиционные методы управления инфраструктурой, которые могут быть приемлемы для небольших команд или проектов, но становятся неэффективными по мере роста и усложнения системы.
3. Терминалы и изолированные среды: Анализируется проблема консистентности при развертывании инфраструктуры напрямую с терминалов разработчиков, что может приводить к ошибкам и несогласованности в больших командах.
4. Способы создания масштабируемой инфраструктуры: Предлагаются стратегии и инструменты для обеспечения масштабируемости, включая автоматизацию, использование инфраструктуры как кода (IaC) и внедрение CI/CD процессов.
5. Примеры масштабируемой инфраструктуры: Приводятся реальные примеры и сценарии, демонстрирующие успешное внедрение масштабируемых решений в различных организациях.
6. Лучшие практики построения масштабируемой инфраструктуры: Рекомендации по внедрению передовых методов, таких как модульность, автоматическое тестирование, мониторинг и обеспечение безопасности.
7. Управление инфраструктурой в масштабе с помощью Spacelift: Описание возможностей платформы Spacelift для эффективного управления масштабируемой инфраструктурой, включая автоматизацию рабочих процессов, обеспечение соответствия политик и улучшение сотрудничества между командами.
https://spacelift.io/blog/scalable-infrastructure
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
1. Понятие масштабируемой инфраструктуры: Обсуждается способность инфраструктуры гибко и эффективно увеличиваться или уменьшаться в зависимости от потребностей, что позволяет современным компаниям быстро адаптироваться к изменяющимся нагрузкам и требованиям пользователей без потери производительности и сдерживания затрат.
2. Немасштабируемые подходы: Рассматриваются традиционные методы управления инфраструктурой, которые могут быть приемлемы для небольших команд или проектов, но становятся неэффективными по мере роста и усложнения системы.
3. Терминалы и изолированные среды: Анализируется проблема консистентности при развертывании инфраструктуры напрямую с терминалов разработчиков, что может приводить к ошибкам и несогласованности в больших командах.
4. Способы создания масштабируемой инфраструктуры: Предлагаются стратегии и инструменты для обеспечения масштабируемости, включая автоматизацию, использование инфраструктуры как кода (IaC) и внедрение CI/CD процессов.
5. Примеры масштабируемой инфраструктуры: Приводятся реальные примеры и сценарии, демонстрирующие успешное внедрение масштабируемых решений в различных организациях.
6. Лучшие практики построения масштабируемой инфраструктуры: Рекомендации по внедрению передовых методов, таких как модульность, автоматическое тестирование, мониторинг и обеспечение безопасности.
7. Управление инфраструктурой в масштабе с помощью Spacelift: Описание возможностей платформы Spacelift для эффективного управления масштабируемой инфраструктурой, включая автоматизацию рабочих процессов, обеспечение соответствия политик и улучшение сотрудничества между командами.
https://spacelift.io/blog/scalable-infrastructure
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Как я создал полностью автоматизированное онлайн радио с AI ведущими и музыкой
Однажды мне захотелось изучить Kubernetes и мобильную разработку, но не знал, с чего начать. В то же время меня сильно тревожило отсутствие в интернете новостей без политической повестки и негативного окраса. Отовсюду лился поток манипулятивной информации, и я мечтал о фильтре, который бы отсеивал весь этот информационный шлак.
Это моя небольшая история, как я за месяц написал собственное медиа с полной автоматизацией, где роботы-ведущие заменили кожаных мешков и ведут подкасты, в которых шутят про AI
https://habr.com/ru/articles/884902/
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Однажды мне захотелось изучить Kubernetes и мобильную разработку, но не знал, с чего начать. В то же время меня сильно тревожило отсутствие в интернете новостей без политической повестки и негативного окраса. Отовсюду лился поток манипулятивной информации, и я мечтал о фильтре, который бы отсеивал весь этот информационный шлак.
Это моя небольшая история, как я за месяц написал собственное медиа с полной автоматизацией, где роботы-ведущие заменили кожаных мешков и ведут подкасты, в которых шутят про AI
https://habr.com/ru/articles/884902/
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🚀 CI/CD: Как не устроить себе ад 🚀
Автоматизация деплоя – это must-have. Но сколько раз ты видел, как CI/CD ломает прод? Разберём ключевые моменты, чтобы не наступать на грабли.
✅ Грамотный пайплайн
1️⃣ Lint & Code Style – форматируй код перед билдами (Prettier, Black, ESLint).
2️⃣ Тесты – без них CI/CD превращается в русскую рулетку. Покрываем юнит и интеграцией.
3️⃣ Security Checks – SAST, DAST, секреты в коде (Trivy, Snyk, GitLeaks).
4️⃣ Билд образов – минимизируем размер, убираем уязвимости.
5️⃣ Деплой – делаем blue-green или canary, чтобы не убить прод сразу.
✅ Выбор инструментов
- GitHub Actions / GitLab CI – удобно, если уже сидишь на этих платформах.
- ArgoCD / Flux – GitOps для Kubernetes.
- Jenkins – старый, но всё ещё мощный, если его правильно готовить.
- Tekton – если хочешь true cloud-native CI/CD.
✅ Ошибки, которые убьют прод
⚠️ Деплой без тестов – поздравляю, у тебя теперь ручное QA на проде.
⚠️ Хранение секретов в репо – топ-1 причина утечек. Vault, SealedSecrets, Doppler.
⚠️ Отсутствие Rollback – если нет возможности быстро откатиться, ты в опасности.
🔥 Вывод: CI/CD – это не просто кнопка "деплой". Это стратегия, которую надо строить с умом. Инвестируй в тесты, автоматизацию и безопасность, и будет тебе стабильность.
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Автоматизация деплоя – это must-have. Но сколько раз ты видел, как CI/CD ломает прод? Разберём ключевые моменты, чтобы не наступать на грабли.
✅ Грамотный пайплайн
1️⃣ Lint & Code Style – форматируй код перед билдами (Prettier, Black, ESLint).
2️⃣ Тесты – без них CI/CD превращается в русскую рулетку. Покрываем юнит и интеграцией.
3️⃣ Security Checks – SAST, DAST, секреты в коде (Trivy, Snyk, GitLeaks).
4️⃣ Билд образов – минимизируем размер, убираем уязвимости.
5️⃣ Деплой – делаем blue-green или canary, чтобы не убить прод сразу.
✅ Выбор инструментов
- GitHub Actions / GitLab CI – удобно, если уже сидишь на этих платформах.
- ArgoCD / Flux – GitOps для Kubernetes.
- Jenkins – старый, но всё ещё мощный, если его правильно готовить.
- Tekton – если хочешь true cloud-native CI/CD.
✅ Ошибки, которые убьют прод
⚠️ Деплой без тестов – поздравляю, у тебя теперь ручное QA на проде.
⚠️ Хранение секретов в репо – топ-1 причина утечек. Vault, SealedSecrets, Doppler.
⚠️ Отсутствие Rollback – если нет возможности быстро откатиться, ты в опасности.
🔥 Вывод: CI/CD – это не просто кнопка "деплой". Это стратегия, которую надо строить с умом. Инвестируй в тесты, автоматизацию и безопасность, и будет тебе стабильность.
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
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
👍4