Архив метки: Docker

Helm: helm-secrets — шифрование sensitive данных с AWS KMS и деплой из Jenkins

15 мая 2020
 

 В продолжение поста Helm: пошаговое создание чарта и деплоймента из Jenkins — теперь нам надо добавить шифрование данных, что бы не хранить пароли и различные приватные ключи в открытом виде в Github-репозиториях — даже пусть и приватных. Судя по гуглу, чуть ли не единственный вариант — это использование helm-secrets (а подскажите в комментариях — кто… Читать далее »

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

14 мая 2020
 

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

AWS: eksctl — «Put http://169.254.169.254/latest/api/token: net/http: request canceled»

16 апреля 2020
 

 Имеется Docker-образ с eksctl. Имеется ЕС2 с Linux, на которой установлен eksctl. К ЕС2 поключен AWS IAM Instance Profile с политикой AdminAccess. На ЕС2 работает Jenkins, в Docker-контейнере, и свои джобы он запускает в отдельных контейнерах. Среди прочих — есть джоба на создание Elastic Kubernetes Service, которая вызывается из контейнера с eksctl. Проблема: при запуске… Читать далее »

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

8 апреля 2020
 

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

Linux: PHP-FPM, Docker, STDOUT и STDERR — нет логов приложения

17 февраля 2020
 

 Имеется Docker-образ, в который включены NGINX и PHP-FPM, плюс Supervisor для их запуска. В этот же образ включён код PHP-приложения, которое пишет ошибки PHP в /dev/stderr, как задано в php.ini: … [global] error_log=/dev/stderr … Проблема заключается в том, что при выполнении kubectl logs — в выводе этих данных нет. Где проблема? В Docker? Kubernetes? Linux… Читать далее »

Nextcloud: запуск в Docker Compose на Debian с SSL от Let’s Encrypt

27 ноября 2019
 

 Недавно потестировал Nexcloud вообще, см. NextCloud: установка сервера на Debian с NGINX и PHP-FPM, и клиента на Arch Linux — в целом понравилось, работает — можно попробовать мигрировать с Dropbox на него. Сегодня запустим Nextcloud полностью в Docker, на сервере с Debian 10 в Digital Ocean. К серверу подключён отдельный диск, на котором будут все… Читать далее »

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

26 сентября 2019
 

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

AWS: создание Elastic Container Registry и деплой из Jenkins

23 сентября 2019
 

 Задача: создать AWS ECR репозиторий для образов проекта, и добавить джобу в Jenkins, которая будет собирать образы, и загружать их в этот репозиторий. Продолжение — в посте Jenkins: деплой Docker Compose из Ansible и ECR авторизация. AWS ECR Переходим в ECR, жмём Get Started, выбираем имя нового репозитория: Оставляем по умолчанию Mutable, т.е. можно будет… Читать далее »

Docker: Compose и общие сети

20 августа 2019
 

 Имеется Docker Compose стек с Jenkins, SonarQube и PostgresSQL, см. пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема в том, что они описаны в одном Compose-файле, и весь стек перезапускается единым systemd-файлом (см. Linux: systemd сервис для Docker Compose). Соответственно, если надо перезапустить SonarQube — то придётся перезапускать и Jenkins, на котором… Читать далее »

Kubernetes: знакомство, часть 3 — обзор AWS EKS и ручное создание кластера

15 августа 2019
 

 Продолжаем знакомство с Kubernetes. Предыдущие части: Kubernetes: знакомство, часть 1 — архитектура и основные компоненты, обзор Kubernetes: знакомство, часть 2 — создание кластера с AWS cloud-provider и AWS LoadBalancer Следующие: Kubernetes: знакомство, часть 4 — аутентификация в AWS EKS, aws-iam-authenticator и AWS IAM В этой части перейдём уже непосредственно к EKS — кратко его рассмотрим,… Читать далее »