Архив метки: 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 или… Читать далее »