Сервер TeamCity сообщает об отсутствии свободного дискового пространства при запуске в Kubernetes
У меня странная проблема с сервером TeamCity (и агентом TeamCity). У меня они бегают в Кубернетесе. Они оба сообщают, что у них нет свободного места на диске. Однако на диске достаточно места, и если я игнорирую эти предупреждения, все работает нормально.
Например, это сообщение сервера TeamCity:
Warning: Low disk space for the directory: "/data/teamcity_server/datadir/system".
Disk space available: 0 B which is below the limit of 500 MB.
Please contact your system administrator.
Некоторые версии:
- Физический хост Ubuntu Trusty 14.04.5
- миникуб 0,23
- клиент kubectl 1.8.3, сервер 1.8.0
- Сервер TeamCity 2017.1.5 (сборка 47175)
- Агент TeamCity 47175 (такая же сборка, как и у сервера)
Образы Docker сервера TeamCity и агента настроены правильно с точки зрения их томов. Я вижу это, потому что все файлы и папки правильно написаны на хосте.
Однако TeamCity настаивает на том, что на диске нет свободного места. Это вызывает некоторые ненужные раздражающие предупреждения, но также автоматически приостанавливает очередь сборки, что означает, что я должен войти в систему и отключить очередь вручную каждый раз, когда я хочу запустить сборку.
Кто-нибудь сталкивался с этим раньше? Похоже, проблема в том, как TeamCity пытается выяснить, сколько дискового пространства осталось, но я не знаю, как к этому подойти, и я не смог найти что-то в Интернете.
1 ответ
Хорошо, после повторения установки на нескольких других компьютерах, я понял, что проблема была в типичном случае PEBKAC.
Я неверно настроил физический путь к папкам как "/ home / myuser / foo". На хосте Linux каталог / home отображается как / hosthome внутри мини-куба. Таким образом, правильный способ его использования - это то же самое, что minikube видит его внутренне, то есть "/ hosthome / myuser / foo".
В случае, если это помогает кому-то еще:
- используйте Minikube SSH для двойной проверки вещей.
- На хосте Mac "/Users/foo" отображается как "/Users/foo" внутри мини-куба (без изменений).
- На хосте Windows "C:\Users\foo" отображается как "/c/Users/foo" внутри мини-куба.
- На хосте Linux "/ home / foo" отображается как "/ hosthome / foo" внутри мини-куба.