57 lines
2.3 KiB
Markdown
57 lines
2.3 KiB
Markdown
# sless — примеры
|
||
|
||
> ⚠️ **Тестовое окружение.** Все примеры работают с тестовым API Nubes и тестовым кластером sless. Не используйте в продакшне без предварительного согласования.
|
||
|
||
**sless** — платформа для запуска serverless-функций на базе Kubernetes.
|
||
Разработчик загружает код, платформа собирает Docker-образ и разворачивает его в кластере.
|
||
Всё описывается декларативно через Terraform.
|
||
|
||
---
|
||
|
||
## Ресурсы Terraform-провайдера
|
||
|
||
| Ресурс | Что делает |
|
||
|---|---|
|
||
| `sless_job` | Разовый запуск: выполняет код один раз и завершается (установка ПО, миграции и т.д.) |
|
||
| `sless_service` | HTTP-сервис: всегда запущен, отвечает на запросы, имеет постоянный URL — _примеры появятся позднее_ |
|
||
|
||
---
|
||
|
||
## Конфигурация провайдера
|
||
|
||
```hcl
|
||
provider "sless" {
|
||
endpoint = "https://sless.kube5s.ru"
|
||
token = var.api_token
|
||
}
|
||
```
|
||
|
||
Токен задаётся в `terraform.tfvars` (файл в `.gitignore`, не попадает в git).
|
||
|
||
---
|
||
|
||
## Примеры
|
||
|
||
### [`VM/`](VM/) — Виртуальная машина в Nubes vDC
|
||
|
||
Создаёт vApp + Ubuntu 22.04 VM в облаке Nubes. После создания — автоматически устанавливает ПО (nginx, Docker, пакеты) через serverless-джобы (`sless_job`) по SSH.
|
||
|
||
> В этом примере используются только **разовые джобы** (`sless_job`). Примеры с HTTP-сервисами (`sless_service`) появятся позднее.
|
||
|
||
**→ [Начать здесь](VM/README.md)**
|
||
|
||
---
|
||
|
||
## Полезные команды
|
||
|
||
```bash
|
||
# Посмотреть состояние ресурсов:
|
||
terraform show
|
||
|
||
# Повторно запустить установку ПО: увеличить install_run_id в terraform.tfvars, затем:
|
||
terraform apply
|
||
|
||
# Удалить все ресурсы:
|
||
terraform destroy
|
||
```
|