Установка ClearML Server в k8s
Настройка параметров Helm charts для ClearML Server
Важно
Вместо <userdomain> укажите свой домен.
Настройка параметров производится из репозитория Helm. Для клонирования репозитория кода используйте следующие команды:
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 из распакованного архива:
В секции
ingressизмените хосты для доступа к компонентам приложения:bash#Скачиваем clearml.tar tar -xvf clearml.tar cd clearml DOMAIN=new.<userdomain>.ru sed -i "s/<userdomain>.ru/$DOMAIN/g" clearml-myvalues.yamlПример
bashingress: 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"Для работы встроенной аутентификации ClearML в секции
apiserverизмените настройки пользователя по умолчанию. Логин и пароль пользователя будут использованы для входа в web-интерфейс ClearML.bashsed -i "s/<youusername>/<newuser>/g" clearml-myvalues.yaml sed -i "s/<youpassword>/<newpassword>/g" clearml-myvalues.yamlПример
bashapiserver: configuration: additionalConfigs: apiserver.conf: | auth { fixed_users { enabled: true pass_hashed: false users: [ { username: "<youusername>" password: "<youpassword>" name: "<User Name>" } ] } }
Установка ClearML Server в созданный k8s кластер
Примечание
Установка производится из репозитория Helm.
Установите ClearML Server на кластер k8s, выполнив команду:
bashhelm 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 минут.
Проверьте статус развернутого приложения, выполнив команду:
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Войдите в интерфейс ClearML Server по адресу:
https://clearml-app.<userdomain>.ru.