Алексей
А что логи, с логами всё норм. Приложение работает как и работало. Индексируется и включается в работу. Есть идея, посмотрю по мониторингу - может в память упирается
Olka
о, привет
о, день добрый ))
Алексей
в event'ах пробовал смотреть, что он там делает?
нет, пока ещё не смотрел, что-то новое
Andor
не стыдно?
Алексей
не стыдно?
ни капли
Andor
фу таким быть
Алексей
фу таким быть
симметрично
Olka
нет, пока ещё не смотрел, что-то новое
ты посмотри ) инфа полезная там пишется
Olka
иногда
Andor
из тебя клещами приходится вытягивать информацию, хотя помощь нужна тебе самому
Алексей
из тебя клещами приходится вытягивать информацию, хотя помощь нужна тебе самому
Это ты тут клещами что-то вытягиваешь. Остальные помогают. Не кипяши. Всё норм
Rainbow
Тут нечему помогать. Вы где-то какого-то статуса не видите. Тут идти и смотреть. На крайняк на хосте руками стартануть контейнер (смотря параметры в get -o yml) и посмотреть что там происходит.
Алексей
Тут нечему помогать. Вы где-то какого-то статуса не видите. Тут идти и смотреть. На крайняк на хосте руками стартануть контейнер (смотря параметры в get -o yml) и посмотреть что там происходит.
да я вижу что в контейнере происходит. Я вижу, что таймауты не достигает. Сейчас посмотрел, даже пол лимита по памяти не набирает. В дескрайбе всё норм. Тупо рестартит поды и всё после ввода их в сервис. Может конечно отсутствие LP сказывается - не знаю.
Rainbow
Я бы запускал уже руками контейнер...
𝚔𝚟𝚊𝚙𝚜
https://engineering.tumblr.com/post/182013497734/open-sourcing-our-kubernetes-tools интересные утилиты от тумблера
Можно ещё статику и бинарники в base64 как конфигмапы хранить :)
Vadim
Можно ещё статику и бинарники в base64 как конфигмапы хранить :)
конфиг не обязательно должен быть текстовый, так что все честно
Алексей
kubectl logs -f и подождать пока умерт под - что в конце лога и какой exit code?
2019-01-15 10:33:14,997 INFO stopped: searchd (terminated by SIGTERM) 2019-01-15 10:33:14,998 INFO stopped: crontab (terminated by SIGTERM) rpc error: code = Unknown desc = Error: No such container: f074827221210a58d3fe1405099de967c73b1533157c502c936b094b2f06a96a% Процесс не падает, если такая мысль была. Завершается шедулером и запускается заново.
Dmytro
Можно ещё статику и бинарники в base64 как конфигмапы хранить :)
фух, не одному мне значит показалось что это какое-то собрание антипаттернов?
Dmytro
есть подозрение что readiness probe не выполняется и под киляется
Dmytro
можно для проверки сразу удалить readiness probe
Алексей
kubectl get ev -n xxx -w и запусти sts, мб действительно увидишь, что там ему не нравится
Спасибо. Показывает 12 раз зафейлилась Редипробка и после того как контейнер в Normal его дропает сам кубер 2019-01-15 12:25:44 +0200 EET 2019-01-15 12:20:14 +0200 EET 12 sphinx-2.1579fe5b442c4d8d Pod spec.containers{sphinx} Warning Unhealthy kubelet, dc01kube-node03 Readiness probe failed: dial tcp 10.50.112.107:9332 : getsockopt: connection refused 2019-01-15 11:25:47 +0200 EET 2019-01-15 11:25:47 +0200 EET 1 sphinx-2.1579fb6282fe7c77 Pod spec.containers{sphinx} Normal Killing kubelet, dc01kube-node02 Killing container with id docker://sphinx:Need to kil l Pod
Dmytro
ну как-то по дескрайбу такого не скажешь
Алексей
ну как-то по дескрайбу такого не скажешь
ну вот я и сам не могу понять куда ещё дальше смотреть
Dmytro
можно начать с того чтобы сюда в чат показать описание readiness probe...
Dmytro
и полного дескрайба
Алексей
можно начать с того чтобы сюда в чат показать описание readiness probe...
readinessProbe: tcpSocket: port: 9332 initialDelaySeconds: 15 periodSeconds: 30 failureThreshold: 5 ailureThreshold: 50 (misstype)
Dmytro
а то хрустальные шар в ремонте
Алексей
а то хрустальные шар в ремонте
дескрайба чего? именно, пода? sts?
Dmytro
пода, где увидеть можно все попытки readiness probe
Алексей
пода, где увидеть можно все попытки readiness probe
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 7m default-scheduler Successfully assigned sphinx-2 to dc01kube-node03 Normal SuccessfulMountVolume 7m kubelet, dc01kube-node03 MountVolume.SetUp succeeded for volume "data" Normal SuccessfulMountVolume 7m kubelet, dc01kube-node03 MountVolume.SetUp succeeded for volume "pod-info" Normal SuccessfulMountVolume 7m kubelet, dc01kube-node03 MountVolume.SetUp succeeded for volume "default-token-r9r5g" Normal Pulling 7m kubelet, dc01kube-node03 pulling image "myownregistry/kube-sphinx/sphinx:1-1-31" Normal Pulled 7m kubelet, dc01kube-node03 Successfully pulled image "myownregistry/kube-sphinx/sphinx:1-1-31" Normal Created 7m kubelet, dc01kube-node03 Created container Normal Started 7m kubelet, dc01kube-node03 Started container Warning Unhealthy 17s (x14 over 6m) kubelet, dc01kube-node03 Readiness probe failed: dial tcp 10.50.112.107:9332: getsockopt: connection refused
Andor
ну посмотри describe у подов
Olka
dial tcp 10.50.112.107:9332: getsockopt: connection refused так он же говорит тебе, что ему не разрешают
Алексей
dial tcp 10.50.112.107:9332: getsockopt: connection refused так он же говорит тебе, что ему не разрешают
Это ожидаемое поведение. Как только индексация проходит, запускается searchd и всё норм.
Алексей
там потому и трешхолд такой большой - 50 аж
Andor
а нафиг initialDelaySeconds: 15 тогда?
Dmytro
так ты увеличь initialDelaySeconds
Andor
лучше его задери чем вот это вот
Dmytro
сколько идет индексация?
Dmytro
вот на столько и отсрочить надо первую пробу с помощью initialDelaySeconds
Алексей
Индексация минут 9 сейчас
Dmytro
например, было у меня одно ML приложение которое грузит гигабайты моделей в память и я там ставил initialDelaySeconds: 600 (10 минут)
Dmytro
иначе его куб убьет раньше
Алексей
Ок, попробую. У меня уже месяца три работает и вот такие карусели совсем недавно начались.
Aleksey
Господа, кто тут metallb исользует? Можете подсказать, можно ли сделать несколько metallb операторов для нескольких namespace? Ну или разделить пулы по неймспесам?
Алексей
Но видимо из-за того что время индексации увеличилось
Andor
тут выяснилось что надо мутировать компонент в зависимости от вкратце: прометей-оператор принимает сикрет (строго один) для добавления кастом конфигов, а мне надо добавлять несколько таких кастомных конфигов и кажется я не могу это сделать из разных компонентов
Andor
@kvaps ^ есть идеи?
Andor
или просто пихнуть в один компонент портянку?
Andor
я ещё не умею
Andor
делай его projected
чота не гуглится ничего по ksonnet+projected
Vadim
чота не гуглится ничего по ksonnet+projected
https://kubernetes.io/docs/tasks/configure-pod-container/configure-projected-volume-storage/
Aleksey
что все уже выпилили metallb ?
Andor
но ведь прометей-оператор это не умеет использовать
Vadim
хмм, разве ему прям вот секрет нужен, а не смонтированные файлы?
Andor
кажется да
Andor
AdditionalScrapeConfigs allows specifying a key of a Secret containing additional Prometheus scrape configurations. Scrape configurations specified are appended to the configurations generated by the Prometheus Operator. Job configurations specified must have the form as specified in the official Prometheus documentation:
Andor
было бы удобно если бы там можно было сделать просто список
𝚔𝚟𝚊𝚙𝚜
но ведь прометей-оператор это не умеет использовать
А как он этот секрет берет, самостоятельно из API или он маунтится к контейнеру через volumeMounts?
Andor
ну прометей точно не умеет сикреты читать, так что я думаю оператор его монтирует
Andor
Дабавь if else в список?
да у меня просто в этом списке будут разнородные джобы, было бы красивее если бы они были разными компонентами, а потом склеивались в один
𝚔𝚟𝚊𝚙𝚜
Разными компонентами не получится, как ты иначе реализуешь ks apply env -c someComponent
Andor
ну я конечно могу просто во внешний файл вынести
Andor
впрочем пофиг на перфекционизм, пойду сделаю if'ами
maybe
я тут свой whois написал, а он пропал
Andor
небось ссылку туда вписал
maybe
таки да
𝚔𝚟𝚊𝚙𝚜
Однако одним компонентом можно читать параметры другого и на основе их генерить код - в этом нет ничего зазорного
maybe
там был вопрос о том, откуда я узнал, и я указал ссылку, откуда узнал