Helm chart для запуска tuna в Kubernetes
Мы подготовили Helm chart для запуска tuna в Kubernetes.
В этой статье мы опишем случаи применения когда tuna может помочь вам в работе с приложениями в Kubernetes.
Обзор
В большинстве случаев вы можете обойтись штатными инструментами kubectl, опубликовать сервис просто создав Ingress, создать Service LoadBalancer у облачного провайдера для публикации доступа к базе данных, ну или просто запустить port-forward. Но не всегда штатные инструменты позволяют решать наши запросы достаточно быстро, удобно или дёшево.
Подключение репозитория
Прежде чем начать, установите Helm.
Подключите репозиторий и обновите манифесты:
helm repo add tuna https://releases.tuna.am/charts/
helm repo update tuna
Основные значения (values)
type
- тип туннеля, передаётся как 1й аргумент к команде, доступные значения -http, tcp, ssh
.to
- адрес назначения, это обязательный аргумент для типовhttp, tcp
. Значениеto
передаётся в переменнуюTUNA_PORT
Вы можете указать адрес сервиса в вашем кластере, например -my-service:80
илиpostgres-postgresql.postgres.svc:5432
.token
- ваш токен для создания туннелей, если передать его в это поле, то он будет сохранён в секрет и передан в tuna как переменная окруженияTUNA_TOKEN
. Но это не обязательно, вы можете и просто передать его вenv.TUNA_TOKEN=<your_token>
или вargs[0]='--token=<your_token>'
.
Также скорее всего вы захотите задать дополнительные конфигурации:
env: {}
- Конфигурация через переменные окружения.args: []
- Конфигурация через аргументы командной строки.
Более подробно читайте в отдельном разделе.
Публикация сервиса
Базовый пример это просто публикация сервиса. Например вы хотите получить доступ какой то админке или метрикам. Tuna также поможет открыть доступ к сервису в minikube в серой сети.
helm install tuna --set to=my-service:80 --set token=<your_token> tuna/tuna