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

AWS Elastic Kubernetes Service: — автоматизация создания кластера, часть 2 — Ansible, eksctl

31 марта 2020
 

 Первая часть — AWS: Elastic Kubernetes Service — автоматизация создания кластера, часть 1 — CloudFormation. Напомню, что общая идея заключается в следующем: Ansible использует модуль cloudformation , создаёт инфрастуктуру используя Outputs созданного стека CloudFormation — Ansible из шаблона генерирует файл настроек для eksctl Ansible вызывает eksctl, передавая ему конфиг кластера, и создаёт или обновляет кластер Запускаться… Читать далее »

AWS Elastic Kubernetes Service: автоматизация создания кластера, часть 1 — CloudFormation

31 марта 2020
 

 Задача: продумать автоматизацию развёртывания AWS Elastic Kubernetes Service кластера. Используем: Ansible: для автоматизации создания CloudFormation стеков и запуска eksctl с нужными параметрами CloudFormation с NestedStacks: для создания инфрастуктуры — VPC, подсетей, SecurityGroups, IAM-роли, etc eksctl: для создания самого кластера, используя ресурсы, созданные CloudFormation Идея заключается в следующем: Ansible использует модуль cloudformation , создаёт инфрастуктуру используя Outputs… Читать далее »

AWS Elastic Kubernetes Service: запуск ALB Ingress controller

26 марта 2020
 

 UPD: тут описывается ALB Controller v1. См. AWS: миграция AWS ALB Ingress Controller (v1) на AWS Load Balancer Controller (v2). AWS ALB Ingress Controller for Kubernetes — контроллер Kubernetes, который управляет соданием Application Load Balancer (ALB) при создании в кластере ресурса типа Ingress с аннотацией вида kubernetes.io/ingress.class: alb. Ingress-ресурс в свою очередь определяет настройки ALB… Читать далее »

Kubernetes: знакомство, часть 5 — RBAC авторизация и примеры Role и RoleBinding

25 марта 2020
 

 Задача — создать пользователя, у которого будет возможность проверять состояние подов и читать их логи — ко всем другим операциям доступа быть не должно. AWS EKS использует AWS IAM для аутентификации в в Kubernetes-кластере (см. пост Kubernetes: знакомство, часть 4 — аутентификация в AWS EKS, aws-iam-authenticator и AWS IAM), но для авторизации, т.е. определения конкретных… Читать далее »

Prometehus: мониторинг AWS Billing

5 марта 2020
 

 Задача — иметь перед глазами график в Grafana, который будет отображать расходы на AWS. Есть два варианта — использовать експортер от Prometheus — prom/cloudwatch-exporter, или самописный от nachomillangarcia — prometheus_aws_cost_exporter. Первый собирает метрики от AWS CloudWatch, в которые данные по биллингу поступают только на следующий день. Второй написан на Python, ходит к AWS API, получает… Читать далее »

AWS: CloudFormation — вложенные стеки и Import/Export параметров

28 февраля 2020
 

 Вложенные стеки (Nested Stacks) в CloudFormation — это стеки, которые создаются из другого, «родительского», стека используя AWS::CloudFormation::Stack. Основная идея использования вложенных стеков — избежать необходимости писать новый шаблон для ресурса, который используется в нескольких стеках. Вместо этого — шаблон создаётся один раз, хранится в AWS S3 корзине, и при создании стеков — вы просто ссылаетесь… Читать далее »

Kubernetes: запуск push-сервера Gorush в EKS за AWS LoadBalancer

6 февраля 2020
 

 Gorush — сервер, написанный на Go, для отправки пуш-уведомлений на мобильные. Запускать будем в AWS EKS, в отдельном namespace, при этом сервис должен быть доступен толкьо внутри VPC, поэтому используем AWS Internal Application Load Balancer. Запуск Gorush Namespace Клонируем репозиторий: [simterm] $ git clone https://github.com/appleboy/gorush $ cd gorush/k8s/ [/simterm] Создаём пространство имён gorush и confgiMap,… Читать далее »

AWS: IAM AssumeRole — описание, примеры

24 января 2020
 

 AssumeRole — механизм аутентификации в AWS IAM, позволяющий получить временные данные доступа для выполнения запросов к ресурсам, к которым у вас нет доступа. Эти временные данные доступа состоят из привычных ACCESS и SECRET ключей, плюс security token. Одним из примеров AssumeRole может быть Jenkins в EC2, джобы которого могут выполнять операции в AWS-аккаунте, используя EC2… Читать далее »

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

26 октября 2019
 

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

AWS: Redshift — быстрый запуск кластера и подключение из SQL-workbench

18 октября 2019
 

 Наши дата-аналитики наконец-то решились потрогать AWS Redshift вместо MariaDB RDS. Соответственно задача — поднять Proof of Concept кластер Redshift в AWS. Сейчас сделаем быстро, без вникания и рассмотрения деталей, если решение таки пойдёт в Production — то поразбираемся с нюансами. На данный момент нас интересует только выбор типа нод для кластера — Dense Storage или… Читать далее »