Архив рубрики: HOWTO’s

Вопросы, касаюшиеся установки и настройки различных приложений.

Kubernetes: PersistentVolume и PersistentVolumeClaim — обзор и примеры

31 июля 2020
 

 Для работы с дисками для данных, которые должны храниться постоянно, Kubenetes предоставляет два типа ресурсов — PersistentVolume и PersistentVolumeClaim. PersistentVolume — непосредственно система хранения, раздел на жёстком диске, например AWS EBS, подключенном к одному из AWS EC2, и с точки зрения этого кластера является таким же ресурсом как, например, Kubernetes Worker Node. PersistentVolumeClaim — запрос… Читать далее »

Neo4j: graph database — запуск в Docker и примеры работы с Cypher QL

28 июля 2020
 

 В отличии от традиционной RDMS (Relational Database Management System — реляционная база данных), у которой в первую очередь играют роли данные, в Graph Database связи между данными имеют большее значение, и выделены в отдельные объекты, что даёт лучшую производительность, особенно при больших объёмах данных с множеством взаимосвязанных объектов, и делает управление такой базой более гибким.… Читать далее »

Kubernetes: перезапустить Cron Job вручную

27 июля 2020
 

 Имеется Cron Job, которая при последнем выполнении сфейлилась. Найдём причину ошибки, а зачем перезапустим задачу вручную. Проверяем имеющиеся задачи: [simterm] $ kk -n eks-prod-1-bttrm-apps-ns get cronjobs NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE bttrm-apps-backend-reccuring-payment-cron 0 10 * * * False 1 22m 45d [/simterm] Проверяем поды крон-задач: [simterm] $ kk -n eks-prod-1-bttrm-apps-ns get pod |… Читать далее »

Prometheus: yet-another-cloudwatch-exporter — сбор метрик AWS CloudWatch

21 июля 2020
 

 Сейчас в Prometehus мы собираем метрики из AWS CLoudWatch с помощью CloudWatch exporter от самого AWS, см. Prometheus: CloudWatch exporter — сбор метрик из AWS и графики в Grafana, однако, у него есть несколько недостатков: написан на Java, тяжёлый — грузит хост мониторнига не подтягивает теги использует GetMetricStatistics для получения метрик умеет собирать метрики только… Читать далее »

Kubernetes: мониторинг кластера с Prometheus Operator

18 июня 2020
 

 В продолжение поста Kubernetes: мониторинг с Prometheus, в котором мы настроили мониторинг вручную, и более-менее разобрались с тем, как оно всё внутри работает — теперь попробуем прикрутить Prometheus Operator из Helm-репозитория. Напомню, задача — поднять Prometheus и все необходимые експортёры в AWS Elastic Kubernetes Cluster, и с него через /federation передавать метрики на наш «центровой»… Читать далее »

Kubernetes: ClusterIP vs NodePort vs LoadBalancer, Services и Ingress — обзор, примеры

4 июня 2020
 

 Для сетевого взаимодействия Kubernetes предоставляет четыре типа Service-ресурсов — ClusterIP (дефолтный), NodePort, LoadBalancer и ExternalName, плюс ресурс Ingress. В этом посте разберём каждый из них, и попробуем их в работе. Документация по типам — Publishing Services (ServiceTypes). Рассматривается в основном AWS, потому учитываем, что сеть у нас — AWS VPC, балансировщики нагрузки — AWS ALB/CLB,… Читать далее »

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 проставляет теги Докер-образа и значения переменных… Читать далее »

Jira: фильтры и почтовые уведомления о тикетах

10 мая 2020
 

 Начал сейчас больше вникать в работу с Atlassian Jira, узнавать новые плюшки. Одна из приятных возможностей — подписаться на почтовую рассылку о текущих/будущих задачах. Собственно, у тикета есть поле Due Date. По нашим процессам — девелоперы задают в это поле значение, дату, на которую им от нас, devops-тимы, требуется реализация какой-то фичи или фикс бага.… Читать далее »

Arch Linux: установить версию Java

7 мая 2020
 

 Небольшая заметка об установке и настройке дефолтной версии Java, когда их установлено несколько различных. Используем скрипт archlinux-java, см. Switching between JVM. Устанавливаем сам пакет, тут будет установлена Oracle Java 14: [simterm] $ yay -S jdk :: Checking for conflicts… :: Checking for inner conflicts… [Aur: 2] jre-14.0.1-1 jdk-14.0.1-1 … [/simterm] Проверяем текущую активную — будет… Читать далее »