Hosted-инсталляция CodeScoring.Save¶
Hosted-вариант разворачивается в k3s и использует SQLite-профиль. Такой вариант подходит для тестирования, демонстрации возможностей, небольших команд и быстрого старта без отдельной инфраструктуры PostgreSQL и S3.
Установка k3s¶
# Установка k3s
curl -sfL https://get.k3s.io | sh -
# Проверка статуса
sudo systemctl status k3s
# Настройка kubectl
mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $USER:$USER ~/.kube/config
export KUBECONFIG=~/.kube/config
# Проверка кластера
kubectl get nodes
Подготовка Helm и пространства имен¶
Адрес Helm-репозитория и реестра контейнерных образов CodeScoring.Save предоставляет вендор. В примерах ниже используются плейсхолдеры <HELM_REPOSITORY_URL> и <REGISTRY_HOST>.
# Добавление Helm-репозитория CodeScoring
helm repo add codescoring <HELM_REPOSITORY_URL>
helm repo update
# Создание пространства имен
kubectl create namespace codescoring-save --dry-run=client -o yaml | kubectl apply -f -
Создайте imagePullSecret для доступа к приватному реестру. Имя секрета должно совпадать со значением app.image.pullSecrets в values.yaml.
kubectl create secret docker-registry codescoring-pvt-regcred \
--namespace codescoring-save \
--docker-server=<REGISTRY_HOST> \
--docker-username=<USERNAME> \
--docker-password=<PASSWORD> \
--dry-run=client -o yaml | kubectl apply -f -
Конфигурация SQLite¶
Для SQLite-варианта отключите встроенный PostgreSQL:
Для backend укажите SQLite-драйвер в app.envs:
Для auth-сервиса также измените DATABASE_DRIVER в существующем блоке env контейнера auth:
Переопределение контейнера auth
Не создавайте отдельный минимальный файл переопределений только с app.deployments.auth.containers, так как containers — это список. При частичном переопределении Helm может заменить весь блок контейнера. Меняйте эти значения в существующем values.yaml.
Установка¶
helm install codescoring-save codescoring/save \
--namespace codescoring-save \
--create-namespace \
--values values.yaml
Проверка установки¶
# Проверка статуса подов
kubectl get pods -n codescoring-save
# Проверка логов backend
kubectl logs -n codescoring-save -l app=backend --tail=100
# Проверка логов auth
kubectl logs -n codescoring-save -l app=auth --tail=100
# Проверка логов frontend
kubectl logs -n codescoring-save -l app=frontend --tail=100
# Проверка сервисов
kubectl get svc -n codescoring-save
# Проверка ingress
kubectl get ingress -n codescoring-save
Первоначальная настройка¶
Пароль администратора задаётся в переменной AUTH_ADMIN_PASSWORD в env контейнера auth.
В актуальном values.yaml env контейнера auth задаётся списком name/value, например:
После установки откройте веб-интерфейс по адресу, указанному в настройках ingress.
Следующие шаги¶
После успешной установки: