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

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

Istio: общий Ingress/AWS ALB, Helm-чарт с условиями, Istio и ExternalDNS

14 апреля 2021
 

 Продолжаем баловаться с Istio. Предыдущие части: Istio: обзор и запуск service mesh в Kubernetes Istio: интеграция Ingress Gateway с AWS Application LoadBalancer Кроме Istio, мы будем настраивать ExternalDNS, см. Kubernetes: обновление DNS в Route53 при создании Ingress. Всё описанное ниже пока в статусе Proof of Concept, и деплоится на единый Dev-кластер AWS Elastic Kubernetes Service.… Читать далее »

Istio: обзор и запуск service mesh в Kubernetes

24 марта 2021
 

 Istio- одна из реализацией концепии Service Mesh, позволяющая реализовать Service Discovery, Load Balancing, контроль над трафиком, canary rollouts и blue-green deployments, мониторить трафик между приложениями. Мы будем использовать Istio в AWS Elastic Kubernetes Service для мониторинга трафика, в роли API gateway, разграничения трафика и, возможно, для реализации различных deployment strategies. В этом посте рассмотрим что… Читать далее »

Kubernetes: что такое Endpoints

13 марта 2021
 

 Практически все знают, что такое Kubernetes Service, но не все могут быть в курсе, что такое Endpoint, так как обычно он работает «за кулисами», и мы его не видим, аналогично тому, как мы пользуемся Deployment, но редко видим ReplicaSet-ы. Kubernetes Service Итак, Service — это абстракция Kubernetes, которая, используя labels, выбирает поды, на которые следует… Читать далее »

AWS: Glue — ошибка AWS S3 connect timed out, и cross-region connections

22 октября 2020
 

 Есть AWS Glue job, которая должна загрузить данные в AWS S3 в другом регионе. Джоба падает с ошибкой: ERROR [Executor task launch worker for task 39] executor.Executor (Logging.scala:logError(91)): Exception in task 6.1 in stage 2.0 (TID 39) com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to projectname-dwh.s3.eu-west-1.amazonaws.com:443 [projectname-dwh.s3.eu-west-1.amazonaws.com/52.218.112.104] failed: connect timed out Причину искал долго, потому… Читать далее »

Kubernetes: 503 no endpoints available for service — причины и решения

15 июня 2020
 

 Имеется Redis, для которого создан Service типа ClusterIP. К этому Редису должны ходить поды этого неймспейса (Gorush).   Проблема в том, что поды с Gorush подключиться к Redis по адресу gorush-server-redis-svc:6379 не могут — отваливаются с ошибкой «Can’t connect redis server: connection refused«: Проверяем наличие сервиса: Ошибка «no endpoints available for service» Попробуем подключиться к… Читать далее »

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

HTTP: редиректы, POST и GET запросы, и «потерянные» данные

23 ноября 2019
 

 Имеется приложение, которое должно принимать данные через POST-запросы от клиентов. Перед этим приложением имеется некий прокси, не важно какой — AWS Application Load Balancer, NGINX или любой другой. Мы изначально столкнулись с проблемой на AWS ALB, потом я начал тестить на NGINX, что бы искючить влияение самого AWS-сервиса — воспроизводится везде, т.к. не зависит от… Читать далее »

dnsmasq: ошибки в AWS — «Temporary failure in name resolution», логи, дебаг и размер кеша

26 октября 2019
 

 При использовании AWS VPC DNS периодически сталкиваемся с ошибками вида «php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution«. Единственный совет от тех. поддержки AWS заключался в установке dnsmasq в роли кеширующего сервиса, но он уже давно установлен — а проблема раз в несколько месяцев проявляется снова. Хотя пост не о том, но из возможных причин… Читать далее »

OpenVPN: ошибки No route to host и ERR_ADDRESS_UNREACHABLE — причина и решение

14 октября 2019
 

 Имеется OpenVPN сервер. Его установка и настройка описаны в постах OpenVPN: настройка OpenVPN Access Server и AWS VPC peering: OpenVPN сервер расположен в одной AWS VPC, Bitwarden — в другой. Между этими VPC поднят VPC Peering, и OpenVPN должен роутить трафик между клиентом и Bitwarden. Проблема в том, что при доступе к Bitwarden (см. Bitwarden:… Читать далее »