Перейти к содержанию

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:

postgres:
  enabled: false

Для backend укажите SQLite-драйвер в app.envs:

app:
  envs:
    DATABASE_DRIVER: sqlite

Для auth-сервиса также измените DATABASE_DRIVER в существующем блоке env контейнера auth:

app:
  deployments:
    auth:
      containers:
        - name: auth
          env:
            - name: DATABASE_DRIVER
              value: sqlite

Переопределение контейнера 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, например:

- name: AUTH_ADMIN_PASSWORD
  value: <STRONG_PASSWORD>

После установки откройте веб-интерфейс по адресу, указанному в настройках ingress.

Следующие шаги

После успешной установки:

  1. Создайте первый репозиторий
  2. Настройте политики очистки
  3. Создайте пользователей и назначьте роли
Страница была полезна?