Код для облака: Освоение DevOps с помощью Python, Terraform и Kubernetes на AWS
Как инженер DevOps, я обычно связан с конвейерами, автоматизацией и облачными сервисами. Однако мне всегда было интересно узнать о другой стороне технологического мира - разработке приложений. Поэтому я подумал, почему бы не разнообразить мир? Так я пришел к созданию финансового приложения на Python, дополненного REST API.
В этом блоге я рассказываю о разработке и развертывании моего финансового приложения с нуля, от кода начального приложения до его развертывания на AWS с помощью Docker, Kubernetes (EKS), Terraform и Ansible. И знаете что? Я автоматизировал весь процесс - каждый его кусочек!
https://medium.com/@sophnel/coding-to-cloud-mastering-devops-with-python-terraform-and-kubernetes-on-aws-6251a910511f
👉 @devops_star
Как инженер DevOps, я обычно связан с конвейерами, автоматизацией и облачными сервисами. Однако мне всегда было интересно узнать о другой стороне технологического мира - разработке приложений. Поэтому я подумал, почему бы не разнообразить мир? Так я пришел к созданию финансового приложения на Python, дополненного REST API.
В этом блоге я рассказываю о разработке и развертывании моего финансового приложения с нуля, от кода начального приложения до его развертывания на AWS с помощью Docker, Kubernetes (EKS), Terraform и Ansible. И знаете что? Я автоматизировал весь процесс - каждый его кусочек!
https://medium.com/@sophnel/coding-to-cloud-mastering-devops-with-python-terraform-and-kubernetes-on-aws-6251a910511f
👉 @devops_star
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Kubectx + Kubens: Power tools for kubectl
kubectx - инструмент для более быстрого переключения между контекстами (кластерами) на kubectl
kubens - инструмент, позволяющий легко переключаться между пространствами имен Kubernetes (и настраивать их для kubectl)
https://github.com/ahmetb/kubectx
Пример
👉 @devops_star
kubectx - инструмент для более быстрого переключения между контекстами (кластерами) на kubectl
kubens - инструмент, позволяющий легко переключаться между пространствами имен Kubernetes (и настраивать их для kubectl)
https://github.com/ahmetb/kubectx
Пример
# switch to another cluster that's in kubeconfig
$ kubectx minikube
Switched to context "minikube".
# switch back to previous cluster
$ kubectx -
Switched to context "oregon".
# rename context
$ kubectx dublin=gke_ahmetb_europe-west1-b_dublin
Context "gke_ahmetb_europe-west1-b_dublin" renamed to "dublin".
# change the active namespace on kubectl
$ kubens kube-system
Context "test" set.
Active namespace is "kube-system".
# go back to the previous namespace
$ kubens -
Context "test" set.
Active namespace is "default".
👉 @devops_star
👍2
Учимся использовать разные типы переменных в Ansible
Переменные Ansible — это динамические значения, которые используются в плейбуках и ролях Ansible для настройки и возможности повторного использования конфигураций. Они очень похожи на переменные в языках программирования и помогают эффективно управлять сложными задачами. Они позволяют применять один и тот же сценарий или роль в разных средах, системах или контекстах без необходимости хардкодинга конкретной информации.
Представляем перевод статьи, где подробно рассматриваются переменные Ansible.
https://habr.com/ru/companies/southbridge/articles/755266/
👉 @devops_star
Переменные Ansible — это динамические значения, которые используются в плейбуках и ролях Ansible для настройки и возможности повторного использования конфигураций. Они очень похожи на переменные в языках программирования и помогают эффективно управлять сложными задачами. Они позволяют применять один и тот же сценарий или роль в разных средах, системах или контекстах без необходимости хардкодинга конкретной информации.
Представляем перевод статьи, где подробно рассматриваются переменные Ansible.
https://habr.com/ru/companies/southbridge/articles/755266/
👉 @devops_star
👍2
Media is too big
VIEW IN TELEGRAM
Watchtower: лучший способ автоматически обновлять Docker контейнеры
В этом видео мы рассмотрим, как использовать Docker Watchtower для автоматического обновления контейнеров Docker. Watchtower - это удобный инструмент, который может существенно упростить процесс обновления контейнеров Docker. Мы покажем, как настроить Watchtower для автоматического обновления ваших контейнеров и расскажем о преимуществах этого подхода.
источник
👉 @devops_star
В этом видео мы рассмотрим, как использовать Docker Watchtower для автоматического обновления контейнеров Docker. Watchtower - это удобный инструмент, который может существенно упростить процесс обновления контейнеров Docker. Мы покажем, как настроить Watchtower для автоматического обновления ваших контейнеров и расскажем о преимуществах этого подхода.
источник
👉 @devops_star
👍2
Media is too big
VIEW IN TELEGRAM
Освоение командной строки curl с Дэниелом Стенбергом
0:00 Mastering the curl command line
0:16 Daniel Stenberg
0:36 curl support by wolfSSL
0:56 setup
02:20 questions
02:52 agenda
05:25 The project
05:42 take-off
07:42 name
09:17 main products
10:48 open source
.................
3:15:50 HTTP/2
3:17:20 HTTP/3
3:18:44 HTTP/3 racing
3:20:57 HTTP alt-svc
3:22:50 HTTP HSTS
3:24:39 FTP
3:25:42 FTP(S) is not SFTP
3:26:17 FTP uses two connections
3:28:43 FTP authentication
3:29:06 FTP directory listing
3:30:24 FTP upload
3:31:16 FTPS is FTP with TLS
3:32:43 Future
3:33:01 How to dig deeper
3:35:18 Going next?
3:38:07 You can help!
3:38:14 Questions
источник
👉 @devops_star
0:00 Mastering the curl command line
0:16 Daniel Stenberg
0:36 curl support by wolfSSL
0:56 setup
02:20 questions
02:52 agenda
05:25 The project
05:42 take-off
07:42 name
09:17 main products
10:48 open source
.................
3:15:50 HTTP/2
3:17:20 HTTP/3
3:18:44 HTTP/3 racing
3:20:57 HTTP alt-svc
3:22:50 HTTP HSTS
3:24:39 FTP
3:25:42 FTP(S) is not SFTP
3:26:17 FTP uses two connections
3:28:43 FTP authentication
3:29:06 FTP directory listing
3:30:24 FTP upload
3:31:16 FTPS is FTP with TLS
3:32:43 Future
3:33:01 How to dig deeper
3:35:18 Going next?
3:38:07 You can help!
3:38:14 Questions
источник
👉 @devops_star
❓ Вы в курсе, что можно автоматизировать инфраструктуру как код с помощью Terraform и GitLab?
⏰ На открытом уроке 3 апреля в 20:00 мск Вячеслав Федосеев расскажет, как настроить CI/CD-пайплайны для работы с Terraform, разграничивать окружения и эффективно управлять конфигурацией.
Вячеслав — эксперт в IT с 2006 года, от первых Linux-серверов до масштабных DevOps-решений. Автор и ментор курсов по DevOps и CI/CD.
Если вы DevOps-специалист, архитектор или инженер, стремящийся оптимизировать процессы и автоматизировать инфраструктуру, этот урок для вас. Повышайте свою квалификацию, изучив лучшие практики IaC, и получайте навыки, востребованные на рынке.
🎁 Все участники вебинара получат скидку на полный курс по CI/CD на основе Gitlab.
👉 Для участия зарегистрируйтесь
https://vk.cc/cKdzMF
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
⏰ На открытом уроке 3 апреля в 20:00 мск Вячеслав Федосеев расскажет, как настроить CI/CD-пайплайны для работы с Terraform, разграничивать окружения и эффективно управлять конфигурацией.
Вячеслав — эксперт в IT с 2006 года, от первых Linux-серверов до масштабных DevOps-решений. Автор и ментор курсов по DevOps и CI/CD.
Если вы DevOps-специалист, архитектор или инженер, стремящийся оптимизировать процессы и автоматизировать инфраструктуру, этот урок для вас. Повышайте свою квалификацию, изучив лучшие практики IaC, и получайте навыки, востребованные на рынке.
🎁 Все участники вебинара получат скидку на полный курс по CI/CD на основе Gitlab.
👉 Для участия зарегистрируйтесь
https://vk.cc/cKdzMF
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Media is too big
VIEW IN TELEGRAM
Sealos
Облачная операционная система, предназначенная для управления облачными приложениями.
Это готовый к продакшену дистрибутив Kubernetes, который представляет собой универсальное решение для публичных и частных облаков.
https://github.com/labring/sealos
👉 @devops_star
Облачная операционная система, предназначенная для управления облачными приложениями.
Это готовый к продакшену дистрибутив Kubernetes, который представляет собой универсальное решение для публичных и частных облаков.
https://github.com/labring/sealos
👉 @devops_star
👍2
Telepresence
Это инструмент для локальной разработки микросервисов, работающих в Kubernetes. Он позволяет разработчику запускать один сервис локально, в то время как остальные сервисы продолжают работать в кластере. Это упрощает отладку, разработку и тестирование без необходимости разворачивать весь стек локально.
🔹Основные возможности:
- Двусторонний прокси: вы можете подключить локальный процесс к кластеру, так что он видит кластер как если бы он был внутри него.
- Быстрое тестирование изменений без CI/CD.
- Поддержка intercept'ов: можно перенаправить трафик с сервиса в кластере на локальный сервис.
- Совместим с kubectl и разными окружениями (Docker, podman, etc).
🔹Полезен для:
- Разработчиков микросервисов.
- DevOps-инженеров, которым нужно отлаживать сервисы в реальном окружении.
- Команд, работающих с большими распределёнными системами.
https://github.com/telepresenceio/telepresence
👉 @devops_star
Это инструмент для локальной разработки микросервисов, работающих в Kubernetes. Он позволяет разработчику запускать один сервис локально, в то время как остальные сервисы продолжают работать в кластере. Это упрощает отладку, разработку и тестирование без необходимости разворачивать весь стек локально.
🔹Основные возможности:
- Двусторонний прокси: вы можете подключить локальный процесс к кластеру, так что он видит кластер как если бы он был внутри него.
- Быстрое тестирование изменений без CI/CD.
- Поддержка intercept'ов: можно перенаправить трафик с сервиса в кластере на локальный сервис.
- Совместим с kubectl и разными окружениями (Docker, podman, etc).
🔹Полезен для:
- Разработчиков микросервисов.
- DevOps-инженеров, которым нужно отлаживать сервисы в реальном окружении.
- Команд, работающих с большими распределёнными системами.
https://github.com/telepresenceio/telepresence
👉 @devops_star
🔥2👍1
Haskell Dockerfile Linter
Интеллектуальный распаковщик Dockerfile, помогающий создавать лучшие образы Docker. Линтер разбирает Docker-файл на AST и выполняет правила поверх AST. Он опирается на поддержку ShellCheck для проверки Bash-кода внутри инструкций RUN.
https://github.com/hadolint/hadolint
👉 @devops_star
Интеллектуальный распаковщик Dockerfile, помогающий создавать лучшие образы Docker. Линтер разбирает Docker-файл на AST и выполняет правила поверх AST. Он опирается на поддержку ShellCheck для проверки Bash-кода внутри инструкций RUN.
https://github.com/hadolint/hadolint
👉 @devops_star
👍3
Git. GitLab
01-GitLab. Devops система. Установка в локальной сети. Настройка.
Git и GitHub для начинающих.
02-GitLab clone по SSH. Настройка SSH для Linux и Windows.
03- DevOps практика: GitlLab CI+Runners. Создание CI CD Pipeline.
04 GitLab: Свой Docker Registry. Создание и подключение.
источник
👉 @devops_star
01-GitLab. Devops система. Установка в локальной сети. Настройка.
Git и GitHub для начинающих.
02-GitLab clone по SSH. Настройка SSH для Linux и Windows.
03- DevOps практика: GitlLab CI+Runners. Создание CI CD Pipeline.
04 GitLab: Свой Docker Registry. Создание и подключение.
источник
👉 @devops_star
👍3
Квоты в Kubernetes: очевидные, менее очевидные и совсем не очевидные
Привет, я Виктор, техлид продукта CI/CD в Samokat. tech. А это,
Давайте разберемся как работают квоты в Kubernetes. Там есть немало граблей. В этой статье поделюсь своим опытом по работе с квотами – расскажу, чем квоты хороши, что у них под капотом, в каких задачах используются и почему нужны даже в среде single-tenant.
https://habr.com/ru/companies/oleg-bunin/articles/790112/
👉 @devops_star
Привет, я Виктор, техлид продукта CI/CD в Samokat. tech. А это,
:(){ :|:& };: fork-бомба, которая создаёт свои дочерние процессы бесконечно. Запуск такой штуки в контейнере без ограничений роняет всю ноду. Не используйте в проде! Если запустить в WSL, то винду тоже укладывает. Как же избежать запуска такой штуки на проде? Помогут квоты.Давайте разберемся как работают квоты в Kubernetes. Там есть немало граблей. В этой статье поделюсь своим опытом по работе с квотами – расскажу, чем квоты хороши, что у них под капотом, в каких задачах используются и почему нужны даже в среде single-tenant.
https://habr.com/ru/companies/oleg-bunin/articles/790112/
👉 @devops_star
👍1
Запуск проекта в Kubernetes за 60 минут: инструменты, GitLab, Terraform
Привет, меня зовут Илья Нырков, я архитектор в VK Cloud. В своей работе встречаюсь с желанием партнеров (это и крупный энтерпрайз, и различные стартапы) использовать Kubernetes, но их останавливает сложность поднятия, конфигурирования кластера, деплоя в нём приложений и построения CI/CD-процессов вокруг него. Я постараюсь показать на практическом примере, который вы можете повторить сами, как развернуть за сравнительно небольшое время полноценный CI/CD с рабочим приложением, доступным для внешних пользователей.
https://habr.com/ru/companies/vk/articles/782310/
👉 @devops_star
Привет, меня зовут Илья Нырков, я архитектор в VK Cloud. В своей работе встречаюсь с желанием партнеров (это и крупный энтерпрайз, и различные стартапы) использовать Kubernetes, но их останавливает сложность поднятия, конфигурирования кластера, деплоя в нём приложений и построения CI/CD-процессов вокруг него. Я постараюсь показать на практическом примере, который вы можете повторить сами, как развернуть за сравнительно небольшое время полноценный CI/CD с рабочим приложением, доступным для внешних пользователей.
https://habr.com/ru/companies/vk/articles/782310/
👉 @devops_star
👍2
10 самых распространенных проблем при линтинге Dockerfile'ов
Весной 2023 года разработчики Depot сообщили о том, что теперь с помощью их сервиса можно проверять Dockerfile при каждой сборке. Depot — это сервис удаленной сборки контейнеров, который может создавать образы Docker до 20 раз быстрее, чем сборка образов Docker внутри обычных CI-провайдеров. Это молодая компания, которая образовалась в начале 2022 года, но уже сейчас она состоит в венчурном фонде Y Combinator и привлекла 1,8 млн долларов инвестиций.
После добавления возможности проверять Dockerfiles в Depot разработчики сервиса столкнулись со множеством сложностей. В итоге они выделили 10 наиболее распространенных проблем при линтинге Dockerfile'ов и описали их в статье, которую мы перевели для вас.
В статье разработчики Depot разбирают каждую проблему, объясняют, почему она возникает и как ее решить. Авторы отмечают, что со временем список может измениться, но даже в таком виде он послужит хорошей отправной точкой для оптимизации Dockerfile'ов.
https://habr.com/ru/companies/flant/articles/787494/
👉 @devops_star
Весной 2023 года разработчики Depot сообщили о том, что теперь с помощью их сервиса можно проверять Dockerfile при каждой сборке. Depot — это сервис удаленной сборки контейнеров, который может создавать образы Docker до 20 раз быстрее, чем сборка образов Docker внутри обычных CI-провайдеров. Это молодая компания, которая образовалась в начале 2022 года, но уже сейчас она состоит в венчурном фонде Y Combinator и привлекла 1,8 млн долларов инвестиций.
После добавления возможности проверять Dockerfiles в Depot разработчики сервиса столкнулись со множеством сложностей. В итоге они выделили 10 наиболее распространенных проблем при линтинге Dockerfile'ов и описали их в статье, которую мы перевели для вас.
В статье разработчики Depot разбирают каждую проблему, объясняют, почему она возникает и как ее решить. Авторы отмечают, что со временем список может измениться, но даже в таком виде он послужит хорошей отправной точкой для оптимизации Dockerfile'ов.
https://habr.com/ru/companies/flant/articles/787494/
👉 @devops_star
👍4
Глубокое погружение в сетевые технологии Kubernetes
На вебинаре описывается сетевая модель Kubernetes (узлы, поды, сервисы), ее преобразование в сетевые конструкции Linux, интеграция с физической сетью и оркестровка виртуальных сетевых устройств, таких как маршрутизаторы, балансировщики нагрузки и NAT-шлюзы.
https://my.ipspace.net/bin/list?id=Kubernetes#INTRO
👉 @devops_star
На вебинаре описывается сетевая модель Kubernetes (узлы, поды, сервисы), ее преобразование в сетевые конструкции Linux, интеграция с физической сетью и оркестровка виртуальных сетевых устройств, таких как маршрутизаторы, балансировщики нагрузки и NAT-шлюзы.
https://my.ipspace.net/bin/list?id=Kubernetes#INTRO
👉 @devops_star
👍1🔥1
Как я уменьшил размер образа docker на 40%
Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл‑скрипта), который бы могли использовать люди, не любящие устанавливать случайные шелл‑скрипты из Интернета.
Да‑да, знаю. НАДО ПЕРЕПИСАТЬ ЕГО НА GO/RUST/ЕЩЁ КАКОМ‑ТО ВОЛШЕБНОМ ЯЗЫКЕ. Сейчас скрипт состоит из пятисот с лишним строк Bash, поэтому я перепишу его на другом языке только под страхом смертной казни. Кроме того, в ugit уже есть практически все функции (осталось реализовать отмену лишь небольшого количества команд, используемых не так часто).
В этой статье я расскажу о том, как написал официальный Dockerfile для ugit (шелл‑скрипта) и снизил размер образа почти на 40% (с 31,4 МБ до 17,6 МБ), выполняя пошаговые попытки по инструкции. Надеюсь, это замотивирует других любителей шелла тоже публиковать свои скрипты в виде образов docker!
https://habr.com/ru/articles/791426/
👉 @devops_star
Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл‑скрипта), который бы могли использовать люди, не любящие устанавливать случайные шелл‑скрипты из Интернета.
Да‑да, знаю. НАДО ПЕРЕПИСАТЬ ЕГО НА GO/RUST/ЕЩЁ КАКОМ‑ТО ВОЛШЕБНОМ ЯЗЫКЕ. Сейчас скрипт состоит из пятисот с лишним строк Bash, поэтому я перепишу его на другом языке только под страхом смертной казни. Кроме того, в ugit уже есть практически все функции (осталось реализовать отмену лишь небольшого количества команд, используемых не так часто).
В этой статье я расскажу о том, как написал официальный Dockerfile для ugit (шелл‑скрипта) и снизил размер образа почти на 40% (с 31,4 МБ до 17,6 МБ), выполняя пошаговые попытки по инструкции. Надеюсь, это замотивирует других любителей шелла тоже публиковать свои скрипты в виде образов docker!
https://habr.com/ru/articles/791426/
👉 @devops_star
👍3
Media is too big
VIEW IN TELEGRAM
Стратегии деплоя в Kubernetes
Спикер: Лохтуров Вячеслав Александрович.
Сертифицированный инструктор компании CommuniGate Systems. Автор курсов по Linux и Asterisk. Автор статей на Habr и просто очень опытный специалист.
Kubernetes предоставляет разработчикам мощные инструменты, но иногда работа с микросервисами оказывается сопряжена с рядом сложностей. Их решает использование Service Mesh – инфраструктурного слоя, который управляет сетевыми взаимодействиями между микросервисами. Одно из самых популярных решений для реализации в этой области – это Istio. На мастер-классе речь пойдет о стратегиях развертывания приложений.
Слушатели добавят в копилку знаний понятие Service Mesh и поработают с Istio.
источник
👉 @devops_star
Спикер: Лохтуров Вячеслав Александрович.
Сертифицированный инструктор компании CommuniGate Systems. Автор курсов по Linux и Asterisk. Автор статей на Habr и просто очень опытный специалист.
Kubernetes предоставляет разработчикам мощные инструменты, но иногда работа с микросервисами оказывается сопряжена с рядом сложностей. Их решает использование Service Mesh – инфраструктурного слоя, который управляет сетевыми взаимодействиями между микросервисами. Одно из самых популярных решений для реализации в этой области – это Istio. На мастер-классе речь пойдет о стратегиях развертывания приложений.
Слушатели добавят в копилку знаний понятие Service Mesh и поработают с Istio.
источник
👉 @devops_star
👍1
Мультиоблачные стратегии с Crunchy Postgres для Kubernetes
Crunchy Postgres для Kubernetes может использоваться для потоковой репликации между центрами данных уже из коробки. Поскольку многие пользователи спрашивают о кросс-облачной/кросс-датацентровой репликации, мы хотели бы дать им подробное объяснение того, как это работает. В этом посте мы используем потоковую репликацию, а приоритетами для нас являются снижение задержек и повышение стабильности.
Можно использовать потоковую репликацию между облаками:
Для обеспечения аварийного восстановления в нескольких облаках
Для перемещения кластеров между облачными провайдерами
Для перемещения кластеров между локальной и облачной средой.
Учитывая возможности этой функции, мы решили включить потоковую репликацию непосредственно в PGO. В версии 5.2 эта функция легко настраивается через спецификацию postgrescluster без необходимости ручной настройки Postgres для установки потоковой репликации.
https://www.crunchydata.com/blog/multi-cloud-strategies-with-crunchy-postgres-for-kubernetes
👉 @devops_star
Crunchy Postgres для Kubernetes может использоваться для потоковой репликации между центрами данных уже из коробки. Поскольку многие пользователи спрашивают о кросс-облачной/кросс-датацентровой репликации, мы хотели бы дать им подробное объяснение того, как это работает. В этом посте мы используем потоковую репликацию, а приоритетами для нас являются снижение задержек и повышение стабильности.
Можно использовать потоковую репликацию между облаками:
Для обеспечения аварийного восстановления в нескольких облаках
Для перемещения кластеров между облачными провайдерами
Для перемещения кластеров между локальной и облачной средой.
Учитывая возможности этой функции, мы решили включить потоковую репликацию непосредственно в PGO. В версии 5.2 эта функция легко настраивается через спецификацию postgrescluster без необходимости ручной настройки Postgres для установки потоковой репликации.
https://www.crunchydata.com/blog/multi-cloud-strategies-with-crunchy-postgres-for-kubernetes
👉 @devops_star
👍1