Запуск Serverless Container по триггеру
Итак, у вас есть цель выполнять какую-то задачу внутри serverless контейнера по расписанию. К сожалению, вы не сможете просто взять положить в контейнер ваш код и надеяться что все заработает просто так.
Итак, у вас есть цель выполнять какую-то задачу внутри serverless контейнера по расписанию. К сожалению, вы не сможете просто взять положить в контейнер ваш код и надеяться что все заработает просто так.
Сегодня я хотел бы разобрать модель работы облачных функций в Яндекс Облаке.
Если вы хотите отгружать логи из Managed Kubernetes в Yandex Cloud, для этого есть как минимум два пути:
Тут конечно же мы рассмотрим второй способ.
Я сначала начал писать заголовок на русском, но получилось что-то типа «Набор правил для валидации специфичных для Яндекс Облака расширений, для интеграции с другими облачными сервисами, спецификации OpenAPI 3.0, используемой для конфигурации сервиса API Gateway.» Потом посмеялся и стер всё.
Я наткнулся на очень популярный (30тыс звёзд на GitHub) туториал Kelsey Hightower «Kubernetes The Hard Way». Это очень подробный туториал, разделенный на 14 лабораторных, подробно рассказывающий как развернуть кластер Kubernetes самостоятельно, не прибегая к managed решениям.
В туториале минимум автоматизации и максимум наглядности. Изначально он писался для Google Cloud Platform.
Я решил его перевести и переложить на использование Yandex Cloud.
Моя версия тут https://github.com/nikolaymatrosov/kubernetes-the-hard-way
В туториале будут развернут высоко доступный зональный кластер с 3 мастерами и 3 воркерами. Перед мастерами настроен Network Load Balancer.
Я считаю, что это отличное пособие для тех, кто хочет разобраться как Kubernetes устроен изнутри и как его компоненты взаимодействуют друг с другом. Если вы собираетесь администрировать кластера Kubernetes, то вы обязательно должны его пройти.
И так вы решили создать managed кластер Redis с поддержкой SSL в Yandex Cloud, но старые примеры кода не работают?
Как и обычно туториал я начну с небольшого кода приложения, которое мы будем использовать для наглядности. Код ни разу не production ready, а скорее минимально необходимый для демонстрации.
Надеюсь вы уже знакомы с тем, что такое GitHub Actions и для чего они вам могут быть полезны. Если нет, то могу посоветовать хороший доклад и его текстовую расшифровку на эту тему.
Тут же я расскажу про экшены, которые помогут вам интегрироваться с Yandex Cloud.
Cloud Logging отличный сервис для просмотра логов. Но у него есть одно ограничение — время хранения. Сейчас, пока сервис в стадии превью это 3 дня, позже с выходом в General Availability это время вероятно увеличат, но все равно оно вряд ли будет бесконечным, и уж тем более это не будет бесплатно.
А теперь вопрос: что делать если вам хочется (ну чтобы через год сравнить) или необходимо (по каким-нибудь юридическим или регуляторным причинам) хранить логи достаточно продолжительное время, от года и более. А еще делать это максимально просто и дешево.
Решение есть! А самое прекрасное, что нам почти не понадобится нечего дополнительно настраивать, если вы уже настроили поставку логов через Fluentbit, как я рассказывал в двух предыдущих постах про поставку логов из контейнера.
В прошлом посте я рассказал, как доставить логи из systemd. Теперь давайте разберемся как доставлять логи контейнеризированного приложения. И, как и в прошлый раз начнем с микро приложения, которое будет генерить нам поток логов.