Skip to content

Установка ClearML Server в k8s

Настройка параметров Helm charts для ClearML Server

Важно

Вместо <userdomain> укажите свой домен.

Настройка параметров производится из репозитория Helm. Для клонирования репозитория кода используйте следующие команды:

bash
helm repo add allegroai https://allegroai.github.io/clearml-helm-charts
"allegroai" has been added to your repositories
helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "allegroai" chart repository
Update Complete. ⎈Happy Helming!⎈
helm search repo allegroai
NAME                      CHART VERSION APP VERSION DESCRIPTION
allegroai/clearml         4.4.0         1.8.0       MLOps platform
allegroai/clearml-agent   2.0.2         1.24        MLOps platform
allegroai/clearml-serving 0.7.0         1.2.0       ClearML Serving Helm Chart

Для внесения изменений в структуру myvals.yaml в качестве шаблона используйте прилагаемый файл: clearml.zip, clearml.tar.

Внесите следующие изменения в файл clearml-myvalues.yaml из распакованного архива:

  1. В секции ingress измените хосты для доступа к компонентам приложения:

    bash
    #Скачиваем clearml.tar
    tar -xvf clearml.tar
    cd clearml
    DOMAIN=new.<userdomain>.ru
    sed -i "s/<userdomain>.ru/$DOMAIN/g" clearml-myvalues.yaml
    Пример
    bash
    ingress:
      annotations:
        kubernetes.io/ingress.class: nginx
     app:
        enabled: true
        hostName: "clearml-app.<userdomain>.ru"
        tlsSecretName: "tls-secret-clearml-app"
     api:
        enabled: true
        hostName: "clearml-api.<userdomain>.ru"
        tlsSecretName: "tls-secret-clearml-app"
     files:
        enabled: true
        hostName: "clearml-files.<userdomain>.ru"
        tlsSecretName: "tls-secret-clearml-app"
  2. Для работы встроенной аутентификации ClearML в секции apiserver измените настройки пользователя по умолчанию. Логин и пароль пользователя будут использованы для входа в web-интерфейс ClearML.

    bash
    sed -i "s/<youusername>/<newuser>/g" clearml-myvalues.yaml
    sed -i "s/<youpassword>/<newpassword>/g" clearml-myvalues.yaml
    Пример
    bash
    apiserver:
      configuration:
        additionalConfigs:
          apiserver.conf: |
            auth {
              fixed_users {
                enabled: true
                pass_hashed: false
                users: [
                  {
                    username: "<youusername>"
                    password: "<youpassword>"
                    name: "<User Name>"
                  }
                ]
              }
            }

Установка ClearML Server в созданный k8s кластер

Примечание

Установка производится из репозитория Helm.

  1. Установите ClearML Server на кластер k8s, выполнив команду:

    bash
    helm install clearml allegroai/clearml -f clearml-myvalues.yaml --version 4.4.0
    NAME: clearml
    LAST DEPLOYED: Mon Dec 26 15:07:10 2022
    NAMESPACE: default
    STATUS: deployed
    REVISION: 1
    NOTES:
    1. Get the application URL by running these commands:
      export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services clearml)
      export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
      echo http://$NODE_IP:$NODE_PORT

    Установка приложения ClearML Server занимает около 10 минут.

  2. Проверьте статус развернутого приложения, выполнив команду:

    bash
      ~ kubectl get pods
    NAME                                                     READY   STATUS    RESTARTS   AGE
    clearml-apiserver-566879b78c-sg2kq                       1/1     Running   0          29d
    clearml-elastic-master-0                                 1/1     Running   0          32d
    clearml-fileserver-65dfd858db-hgbc5                      1/1     Running   0          32d
    clearml-mongodb-68fc76cf49-4rfsj                         1/1     Running   0          32d
    clearml-redis-master-0                                   1/1     Running   0          32d
    clearml-webserver-696c9c5c94-q7zcl                       1/1     Running   0          32d
  3. Войдите в интерфейс ClearML Server по адресу: https://clearml-app.<userdomain>.ru.