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

Pritunl: запуск VPN в Kubernetes

5 октября 2022
 

 Pritunl – VPN-сервер с пачкой дополнительных возможностей по безопасности и управлению доступами. По сути – является просто обёрткой над OpenVPN, добавляя к нему такие себе Access Control Lists в виде Организаций, юзеров и роутов. Задача – развернуть тестовый инстанс Pritunl в Kubernetes, что бы потрогать его изнутри. Пока использовать будем бесплатную версию, попозже глянем платную.… Читать далее »

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“: [simterm] $ kk -n gorush-test logs gorush-server-55cd659dff-9wfbw time=”2020/06/12 – 13:44:02″ level=debug msg=”Init… Читать далее »

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 в роли кеширующего сервиса, но он уже давно установлен – а проблема раз в несколько месяцев проявляется снова. Хотя пост не о том, но из возможных причин… Читать далее »