Архив рубрики: Amazon web services

Amazon Web Services is a subsidiary of Amazon that provides on-demand cloud computing platforms to individuals, companies and governments, on a paid subscription basis.

Kubernetes: Cluster Autoscaler: failed to renew lease
0 (0)

2 апреля 2021

Имеется в нашем Kubernetes Cluster Autoscaler для скейлинга AWS EC2 WorkerNode Groups. На Dev-кластере временами перестаёт работать скейлинг, а под с Cluster Autoscaler в логах пишет следующее: [simterm] … E0331 08:57:52.264549 1 leaderelection.go:320] error retrieving resource lock kube-system/cluster-autoscaler: Get https://172.20.0.1:443/apis/coordination.k8s.io/v1/namespaces/kube-system/leases/cluster-autoscaler: context deadline exceeded I0331 08:58:14.468096 1 leaderelection.go:277] failed to renew lease kube-system/cluster-autoscaler: timed out waiting… Читать далее »

Loading

Istio: интеграция Ingress Gateway с AWS Application LoadBalancer
0 (0)

26 марта 2021

В предыдущем посте — Istio: обзор и запуск service mesh в Kubernetes — запустили Istio в AWS Elastic Kubernetes Service, познакомились с основными компонентами. Следующая задача — добавить AWS Application Load Balancer (ALB) перед Istio Inrgress Gateway, так как Istio Gateway Service с типом LoadBalancer создаёт AWS Classic LoadBalancer, к которому можно подключить только один… Читать далее »

Loading

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

24 марта 2021

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

Loading

Opsgenie: интеграция с AWS RDS и алерты
0 (0)

15 марта 2021

Настроим интеграцию Opsgenie с AWS RDS. Идея заключается в том, что бы отправлять в Opsgenie сообщения о события в RDS, а Opsgenie в свою очередь будет отправлять уведомления в Slack. Для этого нам потребуются AWS Simple Notification Service и AWS RDS Event subscriptions. Документация тут>>>. Настройка Opsgenie Тут всё просто — переходим в Integrations list,… Читать далее »

Loading

AWS: InvalidSignatureException: Signature not yet current и Kubernetes AWS ALB Ingress controller
0 (0)

4 марта 2021

Одним прекрасным утром девелоперы пожаловались, что не создаются AWS LoadBalancer из Ingress нашего Dev-кластера Kubernetes (AWS EKS). Балансеры создаются через AWS ALB Controller, см. AWS Elastic Kubernetes Service: запуск ALB Ingress controller. Сама ошибка в лога контроллера выглядела так: E0304 07:12:38.595113       1 controller.go:217] kubebuilder/controller «msg»=»Reconciler error» «error»=»no object matching key \»test-namespace/test-ingress\» in local store»  «controller»=»alb-ingress-controller»… Читать далее »

Loading

Jenkins: запуск slaves в Kubernetes и билд Docker-образов
0 (0)

26 февраля 2021

Имеется у нас Jenkins, который запускает в Docker-контейнерах свои задачи. Со временем столкнулись с тем, что инстанс t2.2xlarge (8 CPU, 32 RAM) при пиковых нагрузках уже не справляется — забиваются и память, и процессорное время. Варианты — либо продолжать вертикальный скейлинг одного мастер-инстанса, и на нём дальше в Docker запускать джобы — или вынести запуск… Читать далее »

Loading

Kubernetes: NGINX/PHP-FPM graceful shutdown — избавляемся от 502 ошибок
0 (0)

24 февраля 2021

Имеется PHP-приложение, работает в Kubernetes в подах с двумя контейнерами — NGINX и PHP-FPM. Проблема: во время скейлинга приложения начинают проскакивать 502 ошибки. Т.е. при остановке подов — некорректно отрабатывает завершение подключений. Рассмотрим процесс остановки подов вообще, и особенности NGINX и PHP-FPM в частности. Тестировать будем приложение в AWS Elastic Kubernetes Service с помощью Yandex.Tank.… Читать далее »

Loading

Ansible: модуль community.kubernetes и установка Helm-чарта с ExternalDNS
0 (0)

24 ноября 2020

В посте Kubernetes: обновление DNS в Route53 при создании Ingress выполнили ручную установку ExternalDNS, и посмотрели, как он работает — пора добавить автоматизацию его установки на кластера. В роли Configuration Management Tool у нас используется Ansible, для которого существует модуль community.kubernetes — используем его. Вообще, есть много модулей для работы с Helm, например — helm… Читать далее »

Loading

ArgoCD: деплой Helm-чарта и работа с Helm Secrets через AWS KMS
0 (0)

21 ноября 2020

В предыдущем посте ArgoCD: обзор, запуск, настройка SSL, деплой приложения потрогали ArgoCD, запустили тестовый инстанс, и задеплоили приложение из его готовых примеров. Но наша цель — деплоить наши Helm-чарты, а потому посмотрим, как это можно сделать. Самое интересное ожидаемо коснулось работы с Helm secrets. Пришлось покостылить, но в результате всё заработало так, как и ожидалось.… Читать далее »

Loading

ArgoCD: обзор, запуск, настройка SSL, деплой приложения
0 (0)

19 ноября 2020

ArgoCD помогает деплоить приложения в Kubernetes, используя GitOps подход, т.е. когда приложения, конфиги, манифесты и тому подобные данных хранятся в Git-репозитории. Поддерживает работу с «голыми» манифестами Kubernetes, kustomize, ksonnet, jsonnet и то, чем пользуемся мы — Helm-шаблонами. ArgoCD запускает свой контроллер в Kubernetes-кластере, и отслеживает изменения в Git-репозиториях, синхронизируя приложения в кластере с их манифестами… Читать далее »

Loading