Архив рубрики: Configuration/Orchestration

Вопросы, касающиеся установки, настройки и работы CMS (Configuration Manament System — система управления конфигурациями) Puppet, Ansible и Chef

Helm: пошаговое создание чарта и деплоймента из Jenkins

14 мая 2020
 

 Продолжаем трогать Kubernetes и Helm. Сам Хельм в общих чертах рассмотрели в посте Helm: Kubernetes package manager — обзор, начало работы — теперь надо прикрутить его в Jenkins. И не просто прикрутить его вызов — а создать чарт, потому что сейчас приложение деплоится через «голые» манифест-файлы Kubernetes, в котором sed проставляет теги Докер-образа и значения переменных… Читать далее »

Helm: Kubernetes package manager — обзор, начало работы

3 мая 2020
 

 На официальной странице Helm называет сам себя «The package manager for Kubernetes«, но на деле Helm нечто большее, чем просто менеджер пакетов для Kubernetes — скорее это система управления приложениями в Kubernetes, позволяющая выполнять их установку, отслеживать состояние, выполнять обновление, удаление. В этом посте рассмотрим основные понятия и компоненты Helm, работу с чартами, шаблонами, переменными… Читать далее »

AWS: CloudFormation — пример использования Conditions, Fn::Equals и Fn::If

20 апреля 2020
 

 Имеется стек, в котором среди прочего создаются VPC Peerings, в данном примере — пиринг между VPC нового кластера Elastic Kubernetes Service и VPC стека с Prometheus. Создание стеков и вообще всей этой автоматизации есть в постах AWS Elastic Kubernetes Service: автоматизация создания кластера, часть 1 — CloudFormation и AWS Elastic Kubernetes Service: — автоматизация создания кластера,… Читать далее »

AWS: CloudFormation — использование lists в Parameters

9 апреля 2020
 

 В продолжение темы AWS: Elastic Kubernetes Service — автоматизация создания кластера, часть 1 — CloudFormation — теперь надо добавить передачу в стек параметра в виде списка. Идея в том, что бы в Ansible получать все AvailabilityZones, а потом этот список использовать для eksctl, который будет создавать WorkerNodes в разных AvailabilityZones, и для CloudFormation — что бы… Читать далее »

Kubernetes: мониторинг с Prometheus

8 апреля 2020
 

 Следующая задача — настроить мониторинг Kubernetes. Задача осложняется тем, что у нас есть целый набор ресурсов, которые требуется мониторить: инфраструктура — ЕС2 инстасы WokerNodes, их ЦПУ, память, сеть ключевые сервисы самого Kubernetes — состояние API сервера, etcd, scheduler состояние подов и контейнеров состояние деплойментов сбор метрик непосредственно с приложений Для мониторинга всего этого доступны следующие… Читать далее »

AWS Elastic Kubernetes Service: — автоматизация создания кластера, часть 2 — Ansible, eksctl

31 марта 2020
 

 Первая часть — AWS: Elastic Kubernetes Service — автоматизация создания кластера, часть 1 — CloudFormation. Напомню, что общая идея заключается в следующем: Ansible использует модуль cloudformation , создаёт инфрастуктуру используя Outputs созданного стека CloudFormation — Ansible из шаблона генерирует файл настроек для eksctl Ansible вызывает eksctl, передавая ему конфиг кластера, и создаёт или обновляет кластер Запускаться… Читать далее »

AWS Elastic Kubernetes Service: автоматизация создания кластера, часть 1 — CloudFormation

31 марта 2020
 

 Задача: продумать автоматизацию развёртывания AWS Elastic Kubernetes Service кластера. Используем: Ansible: для автоматизации создания CloudFormation стеков и запуска eksctl с нужными параметрами CloudFormation с NestedStacks: для создания инфрастуктуры — VPC, подсетей, SecurityGroups, IAM-роли, etc eksctl: для создания самого кластера, используя ресурсы, созданные CloudFormation Идея заключается в следующем: Ansible использует модуль cloudformation , создаёт инфрастуктуру используя Outputs… Читать далее »

Jenkins: деплой Docker Compose из Ansible и ECR авторизация

26 сентября 2019
 

 В продолжение поста AWS: создание Elastic Container Registry и деплой из Jenkins, в котором создали джобу для билда Docker-образов и их пуша в AWS ECR — теперь надо создать джобу в Jenkins для деплоя и запуска одного Docker-контейнера. Запускать будем через Docker Compose, в котором Ansible будет задавать требуемую версию из параметров Jenkins-джобы. Для того, что… Читать далее »

RTFM: День Рождения — 8 годиков и 3 миллиона посетителей. Обзор обновлений.

14 августа 2019
 

 Как-то вдруг наступил уже и Август. Традицонно — 14-е Августа у RTFM что-то вроде Дня рождения: Ну и традиционно — кратенько пройдусь по основным событиям за прошедший год (хотя семилетие не записал, ну да ладно). Блог по-прежнему работает на WordPress, хостится на Debian + NGINX + PHP-FPM + MariaDB — стандартный LEMP. Предыдущие посты: rtfm.co.ua… Читать далее »

NGINX: мульти-бранч деплой приложения с использованием NGINX map и HTTP Headers

26 июня 2019
 

 Имеется стандартный LEMP — NGINX, PHP-FPM. Приложение — Yii-фреймворк, который деплоится из Jenkins Ansible-ролью с помощью модуля synchronize на хосты в каталог /data/projects/prjectname/frontend/web, который является root в конфиге виртуалхоста NGINX. Задача: создать возможность деплоя из Jenkins приложения из разных бранчей — на хосте одновременно должны быть задеплоены разные версии приложения, доступ к которым будет определяться… Читать далее »