Архив рубрики: Проблемы и решения

Описания различных проблем и способы их решения

Kubernetes: Helm – “x509: certificate signed by unknown authority” и ServiceAccount для Pod

28 сентября 2021
 

 Имеются у нас Github runners, которые запущены в виде подов в Kubernetes-кластере, см. Github: обзор Github Actions и деплой с ArgoCD. На них выполняеттся сборка docker-образов и их пуш в Docker Hub, а затем деплой приложения с Helm или ArgoCD. При первом запуске helm install в поде получаем ошибку “x509: certificate signed by unknown authority“:… Читать далее »

AWS: Cost Explorer – проверка расходов на примере CloudWatch Logs

7 сентября 2021
 

 Данный пост – не полноценный обзор возможностей Cost Explorer (а их много), но больше просто пример того, как с его помощью можно отследить расходы. В данном случае, вернувшись из отпуска обратил внимание, что за август существенно выросли расходы на CloudWatch – до 50 долларов в день (входит в Others на графике):   Что бы узнать,… Читать далее »

Tableau: установка Tableau Bridge для доступа к базам данных в приватных сетях

9 августа 2021
 

 Для доступа к серверам баз данных, к которым нет доступа из мира (а так и должно быть – доступ только внутри VPC) Tableau предлагает использовать Tableau Bridge. Идея заключается в том, что мы устанавливаем Bridge внутри сети, из которой есть доступ к базам данных, а затем в datasource настраиваем доступ к базе как Private access.… Читать далее »

Prometheus: prometheus_replica и дублирование метрик

4 августа 2021
 

 После запуска Prometheus в виде трёх подов, см. Prometheus: ошибки «federation failed: broken pipe» и «Received SIGTERM, exiting gracefully» — постоянные рестарты – метрики начали дублироваться: Одна метрика получена от инстанса prometheus_replica=”prometheus-prometheus-prometheus-oper-prometheus-1″, вторая – от prometheus_replica=”prometheus-prometheus-prometheus-oper-prometheus-2″, так как запущено три пода: И в Grafana потом неправильно рисуются графики – вместо одного получаем три: Для решения… Читать далее »

Let’s Encrypt: SSL и ошибка SERVFAIL looking up CAA for domain.com

29 июля 2021
 

 Отвалился один из сайтов, начал падать с ошибкой Connection reset. По конфигам NGINX всё хорошо, должен работать. В логах ошибок NGINX тоже пусто, конфиги PHP-FPM правильные. Проверяем curl-ом: Причина Так как ошибка выше прилетает от SSL_connect, то первая мысль – проверить сертификат, хотя если бы он проекспайрился – ошибка была бы другая. Тем не менее,… Читать далее »

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 поддержка… Читать далее »

AWS: мониторинг Simple Email Service с CloudWatch и Prometheus

10 июня 2021
 

 Случилась у нас бяда – AWS отключил нам отправку писем через AWS SES из-за bounce-рейта. Проверить это можно в AWS SES > Reputation Dashboard, аккаунт сейчас в статусе Under review: После обращения в тех. поддержку отправку почты нам временно включили, но решить проблему надо, а заодно – следить, что бы подобное не случалось в будущем.… Читать далее »

ArgoCD: интеграция с Okta и группы пользователей

14 мая 2021
 

 В предыдущем посте ArgoCD: пользователи, доступы и RBAC разобрались с пользователями и RBAC в целом, теперь настроим ArgoCD SSO. Идея заключается в том, что мы не заводим локальных пользователей в ArgoCD, а используем базу Okta, и она же выполняет их аутентификацию. На стороне же ArgoCD мы будем выполнять авторизацию, т.е. проверять уровни доступа. Плюс, используя… Читать далее »

Kubernetes: spec.ports[0].nodePort: Forbidden: may not be used when `type` is ‘ClusterIP’

26 апреля 2021
 

 Во время деплоя приложения из Helm-чарта, описанного в посте Istio: общий Ingress/AWS ALB, Helm-чарт с условиями, Istio и ExternalDNS, возникает ошибка “spec.ports[0].nodePort: Forbidden: may not be used when `type` is ‘ClusterIP’“. Воспроизведём ошибку вручную, и рассмотрим способы обхода проблемы с помощью kubectl и при использовании Helm. Ошибка spec.ports[0].nodePort: Forbidden: may not be used when `type`… Читать далее »

Istio: причина и решения ошибки “SQLSTATE Connection refused”

22 апреля 2021
 

 Во время старта подов возникает ошибка “SQLSTATE[HY000] [2002] Connection refused’“, при чём в двух разных приложения – на РНР и на NodeJS. В РHР/Yii она возникает во время выполения pre-install hook в деплое Helm и выполнении MySQL Migration Job: Yii Migration Tool (based on Yii v2.0.38)Exception ‘yii\db\Exception’ with message ‘SQLSTATE[HY000] [2002] Connection refused’in /app/vendor/yiisoft/yii2/db/Connection.php:642Error Info:… Читать далее »