AWS Transfer — Public FTP

AWS Transfer поддерживает 3 протокола: SFTP, FTP и FTPS. И только SFTP может иметь публичный эндпоинт, FTP/FTPS можно запускать только внутри VPC. Так же для авторизации по логину/паролю, необходимо использовать кастомный провайдер, больше информации об этом вы можете найти тут. Цель: Создать AWS Transfer сервер для протокола FTP, сервис должен быть публичным и так же … Продолжить читать "AWS Transfer — Public FTP"

Nginx — Regular Expression Tester

  Для быстрого тестирования регулярных выражений Nginx‘а, можно воспользоваться готовым докер образом. Для этого нужно клонировать репозиторий NGINX-Demos:   Переходим в директорию «nginx-regex-tester«:   И запускаем контейнер с помощью «docker-compose«:   И открываем следующую страницу: http://localhost/regextester.php  

AWS — EKS Fargate — Fluentd CloudWatch

На момент написания статьи EKS Fargate не поддерживал драйверлог для записи в CloudWatch. Единственный вариант — использовать Sidecar Создадим ConfigMap, в котором укажем имя EKS кластера, регион и namespace:   Далее создадим сервис аккаунт и ConfigMap с файлом конфигурации для Fluentd. Для этого скопируем текст ниже и сохраним его как файл «fluentd.yaml»   И применим … Продолжить читать "AWS — EKS Fargate — Fluentd CloudWatch"

Kubernetes — Одна роль для нескольких пространств имен

    Цель: Есть 2 пространства имен, это «kube-system» и «default«. Нужно запускать крон задачу в пространстве «kube-system«, которая будет очищать выполненные джобы и поды в пространстве «default«. Для этого создадим сервис аккаунт в пространстве «kube-system«, роль с необходимыми правами в пространстве «default«, и для созданного аккаунта привязываем созданную роль. cross-namespace-role.yaml

Jenkins — Active Choice: GitHub — Commit

  Для параметризованной сборки с выбором тега образа, понадобится плагин Active Choices Переходим в настройки Jenkins‘а   Раздел «Управление плагинами»   Переходим к вкладке «Доступные» и в поиске указываем «Active Choices» Устанавливаем его. Так же необходим плагин Amazon Web Services SDK Создаем «New Item» — «Pipeline«, указываем, что это будет параметризованной сборка, и добавляем параметр … Продолжить читать "Jenkins — Active Choice: GitHub — Commit"

AWS Cli — Lambda: Обновить значение одной переменной

Ключ «—environment» утилиты AWS Cli заменяет все переменные, на те которые вы укажете в качестве аргумента. Чтобы изменить значение только одной переменной не стирая другие, или не перечисляя их все, можно воспользоваться следующим BASH скриптом:   aws_lambda_update_env.sh:   Для работы этого скрипта нужна утилита jq   Скрипт вычитывает все текущие переменные, подменяет значение переменной «ECR_TAG» … Продолжить читать "AWS Cli — Lambda: Обновить значение одной переменной"

FIX ERROR — Jenkins: dial unix /var/run/docker.sock: connect: permission denied

После того, как установили Docker на Jenkins сервер и запустили его, при попытке выполнить сборку получаем следующую ошибку:   Решение: Добавляем пользователя «jenkins» в группу «docker«:   После этого пользователь «jenkins» сможет выполнять работу с Docker‘ом, если подключиться по SSH, но при Jenkins сборке будет по прежнему та же ошибка, чтобы от нее избавится, необходимо … Продолжить читать "FIX ERROR — Jenkins: dial unix /var/run/docker.sock: connect: permission denied"

AWS — Lambda: kubectl

Пример того, как можно создавать сущности в Kubernetes, используя AWS Lambda. Функция будет на Python3, так что воспользуемся Kubernetes Python Client Больше примеров по использованию можно найти тут. Так как AWS Lambda не поддерживает данный пакет, упакуем в нашу функцию модули «kubernetes» и «boto3«. «boto3» понадобится для обращения в AWS SSM, где будет хранится kubeconfig … Продолжить читать "AWS — Lambda: kubectl"