Архив рубрики: Ansible

In computing, Ansible is an open-source software provisioning, configuration management, and application deployment tool. It runs on many Unix-like systems, and can configure both Unix-like systems as well as Microsoft Windows.

AWS: миграция AWS ALB Ingress Controller (v1) на AWS Load Balancer Controller (v2)

13 июля 2021
 

 Мы пользуемся AWS ALB Ingress Controller для создания AWS Application LoadBalancer (ALB) при создании Ingress в Kubernetes. Последняя доступная версия – v2.2.1, тогда как у нас версия 1.14. См. changelog версии 2.0 тут>>> и документацию по обновлению тут>>>. Из интересных обновлений: изменение имени: вместо AWS ALB Ingress Controller он теперь называется AWS LoadBalancer Controller поддержка… Читать далее »

ArgoCD: декларативные Projects, Applications и деплой ArgoCD из Jenkins

18 мая 2021
 

 Создать новое приложение, кластер или репозиторий в ArgoCD можно как используя WebUI, так и описав его в виде Kubernetes-манифеста, который потом можно передать kubectl для создания ресурса. Например, приложения являются CustomResources и описаны в Kubernets CRD applications.argoproj.io: [simterm] $ kubectl get crd applications.argoproj.io NAME CREATED AT applications.argoproj.io 2020-11-27T15:55:29Z [/simterm] Которые потом доступны в неймспейсе ArgoCD… Читать далее »

Istio: установка с Ansible и Helm

1 апреля 2021
 

 В первом посте серии – Istio: обзор и запуск service mesh в Kubernetes – мы деплоили Istio с помощью istioctl. Теперь, используем Ansible и Helm, что бы запустить Istio и настроить его сервисы. Не нашёл Хельм-репозитория с чартом, судя по всему его и нет, хотя обсуждения есть, см. Proposal: Publish Helm chart to a chart repository.… Читать далее »

Ansible: модуль community.kubernetes и установка Helm-чарта с ExternalDNS

24 ноября 2020
 

 В посте Kubernetes: обновление DNS в Route53 при создании Ingress выполнили ручную установку ExternalDNS, и посмотрели, как он работает – пора добавить автоматизацию его установки на кластера. В роли Configuration Management Tool у нас используется Ansible, для которого существует модуль community.kubernetes – используем его. Вообще, есть много модулей для работы с Helm, например – helm… Читать далее »

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-джобы. Для того, что… Читать далее »

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

26 июня 2019
 

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