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

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

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: Которые потом доступны в неймспейсе ArgoCD в виде обычных Kubernetes-ресурсов: Удобен этот подход тем, что при создании нового… Читать далее »

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… Читать далее »

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, передавая ему конфиг кластера, и создаёт или обновляет кластер Запускаться… Читать далее »