Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

OpenFaaS Kubernetes

OpenFaaS — это платформа с открытым исходным кодом для запуска функций (FaaS) поверх Kubernetes. Она упрощает деплой небольших единиц кода, которые выполняются по запросу или событию.

В основе OpenFaaS лежит модель Function as a Service (FaaS), при которой вы пишете функцию и оборачиваете ее в Docker-образ. OpenFaaS отвечает за масштабирование, сетевые вызовы и управление жизненным циклом.

Для взаимодействия используется удобный веб-интерфейс и CLI-утилита faas-cli. Функции можно писать на популярных языках — Python, Node.js, Go и других — с помощью готовых шаблонов.

Полная документация по OpenFaaS Kubernetes доступна на официальном сайте дополнения.

Установка плагина

Для установки OpenFaaS Kubernetes откройте раздел «Дополнения» в панели управления кластером. Найдите «OpenFaaS Kubernetes» в списке и нажмите на него.

Scr 20250709 Mlfn

В открывшемся окне можно изменить параметры установки. Найдите секцию ingress и включите ее — установите enabled: true, а также укажите свой домен в параметре host. Это упростит доступ к дашборду и позволит использовать faas-cli.

Если вы включаете ingress, можно отключить exposeServices, который используется по умолчанию.

Scr 20250709 Mlof

После указания параметров нажмите кнопку «Установить» и дождитесь завершения установки.

Чтобы убедиться, что все работает, проверьте состояние подов в неймспейсе openfaas-fn:

    

Пример вывода:

    

Если все поды в статусе Running — установка прошла успешно.

Установка CLI

Для работы с OpenFaaS из консоли потребуется утилита faas-cli. С ее помощью можно создавать функции, собирать и отправлять образы, деплоить их в кластер, вызывать функции и просматривать их статус.

Утилита доступна для Linux, macOS и Windows. Для ее установки выполните следующие команды:

    

После установки убедитесь, что все работает корректно:

    

Пример использования

Рассмотрим пример использования OpenFaaS. Развернем плагин, привяжем домен для удобного доступа к дашборду и обращения к OpenFaaS через CLI, установим функцию из встроенного стора и создадим собственную функцию с деплоем через Docker Hub.

Предварительные требования:

  • Домен или поддомен, по которому будет доступен OpenFaaS;
  • установленное дополнение Nginx Ingress;
  • аккаунт в Docker Hub (для кастомных функций);
  • установленная утилита faas-cli;
  • установленный Docker.

Перейдите к установке плагина OpenFaaS в панели управления. В разделе «Конфигурация» найдите секцию ingress и включите ее, изменив enabled: false на enabled: true. Также задайте значение host, указав домен, по которому будет доступен дашборд. Запустите установку плагина.

Теперь необходимо создать балансировщик нагрузки. Создайте манифест loadbalancer.yaml:

    

Примените манифест:

    

После создания балансировщика, привяжите A-запись к домену. Если домен размещен на наших NS-серверах — просто выберите созданный балансировщик, при настройке А-записи домена. Если используется сторонний DNS, получите IP-адрес балансировщика и добавьте запись вручную:

    

IP будет в колонке EXTERNAL-IP.

Перейдите по домену, указанному при установке. Откроется окно базовой авторизации.

  • Логин: admin
  • Пароль: можно получить командой:
    

После входа откроется главный экран дашборда.

Scr 20250709 Nvkl

Перейдем к использованию функций. Установим функцию из встроенного стора OpenFaaS.

Сначала авторизуйтесь через CLI. Это позволит выполнять команды, связанные с управлением функциями:

    

Где:

  • домен — адрес, указанный при установке OpenFaaS;
  • admin — имя пользователя по умолчанию;
  • пароль — пароль можно получить при выполнении команды:
    

Теперь установим функцию figlet, которая преобразует текст в ASCII-арт:

    

Убедитесь, что функция установилась:

    

В списке появится функция figlet со статусом Ready.

Вызовите функцию с передачей строки на вход:

    

В ответ вы получите ASCII-арт с переданным текстом.

Scr 20250709 Oezl

Теперь рассмотрим деплой кастомной функции. Выберите шаблон:

    

Создайте новую функцию на базе нужного шаблона, например python3-http:

    

Будут созданы:

  • hello-k8s/handler.py — код функции;
  • stack.yaml — манифест функции.

Перед сборкой отредактируйте файл stack.yaml, указав путь до образа в Docker Hub. Например:

    

В поле image укажите имя пользователя Docker Hub и название образа. Обратите внимание, что в OpenFaaS Community Edition разрешена работа только с публичными образами.

Соберите образ:

    

После сборки образа опубликуйте его в Docker Hub:

    

И наконец, задеплойте функцию в кластер:

    

После выполнения команды появится ссылка, по которой доступна функция. 

Scr 20250709 Ohdk

Перейдите по ссылке — вы увидите результат выполнения — сообщение «Hello from OpenFaaS!».

Была ли статья полезна?
Ваша оценка очень важна