Andrey
Начальник мой. :с
Andrey
Коллеги, подскажите, никто не встречался с периодическими проблемами резолва внешних и внутренних доменов через kube-dns? Как-то диагностировали? Ошибки сопровождаются стандартным django.db.utils.OperationalError: could not translate host name "postgres" to address: Temporary failure in name resolution.
sherzod
Да, можно. Используйте сервисвный аккаунт с доступом к gcr для инстанса. Внутри инстанса используйте gcloud docker pull
я просто использую drone.io и нет возможности кастомизировать аутентификацию и комманды pull
sherzod
сделал через стандартные средства drone (забил полученный ключ для сервис аккаунта)
G72K
А это зачем? Они работают по отдельности
Мало ли, мож код для externalTrafficPolicy включается только для уровня NodePort и выше
G72K
Залили вторую версию, сам еще не прочитал https://docs.google.com/document/d/1q1UGAIfmOkLSxKhVg7mKknplq3OTDWAIQGWMJandHzg/mobilebasic
V
ребят расскажите что за сервис тип loadbalancer в k8s
V
я как понял это не касается локального кластера если я его сам поднял
Anton
я как понял это не касается локального кластера если я его сам поднял
Type LoadBalancer On cloud providers which support external load balancers, setting the type field to "LoadBalancer" will provision a load balancer for your Service. вроде ты все правильно понял, но я не настоящий доктор. я дальше локального minikube не сильно продвинулся, но в процессе..
Vadim
я даже представить не могу а как этот kubectl знает о тот в каком он облаке
читает /etc/kubectl/cloudprovider/*.conf (или как там правильный путь), оттуда получает тип, нужные credentials - и готово
V
читает /etc/kubectl/cloudprovider/*.conf (или как там правильный путь), оттуда получает тип, нужные credentials - и готово
тоесть aws и Google предоставляют одинаковое апи для создание этого Loadbalancer
V
и где ошибку прочитать а то у меня висит до сих пор pending а причину pending я не знаю
Vadim
V
у тебя minikube?
нет у меня Google kubernetes
V
кажется будто kubernetes спасёт мир
Михаил
кажется будто kubernetes спасёт мир
очередной хайп просто
V
очередной хайп просто
ты опять тролишь
Михаил
ты опять тролишь
1)А что, нельзя? 2)нет, смотрю на всю эту истерику вокруг куба и мне грустно
V
1)А что, нельзя? 2)нет, смотрю на всю эту истерику вокруг куба и мне грустно
почему грустно и где истерика. нельзя, но законы ещё не сделали
Михаил
почему грустно и где истерика. нельзя, но законы ещё не сделали
потому что народ считает куб серебряной пулей, которой можно накрыть косяки в инфрастракче)
Михаил
и косяки в приложениях
Михаил
ок, не истерика Вижу хайп. DevOps конфа куб куб куб
Lex
Хм, куб упрощает многие вещи но закрывать им косяки? Не думаю.
Logan
ок, не истерика Вижу хайп. DevOps конфа куб куб куб
потому что куб сейчас - самый девопс-подход. Но тюнить бульдозер в самолет опасно. Не все это понимают
Dmitrii
>Production-Grade Container Orchestration А я вот решил пару месяцев назад кубер в проде пощупать, и сегодня сразу два issue из багтрекера докера словил, в итоге две ноды их трех штормило. И к самому куберу нареканий нету, и все равно осадочек остался.
Михаил
что именно не правда?
Dmitrii
Первая связана с meltdown-патчем ядра, выше тут кидали ссылку, выражалось в том что ноду штормило/контейнеры рестаровали. Сдрейнил плохую, поды уехали на другую и она словила это: https://github.com/moby/moby/issues/32827 - кронджобы запускались и зависали, инит-контейнеры не могли завершиться.
Dmitrii
Я правда неподдерживаемый докер 17.12/17.09 юзаю, но вроде и в 1.13/17.03 багов полно
Михаил
ты про то что не серебряная пуля?
Vadim
в 1.12/1.13 еще терпимо
Anton
коллеги, а подскажите пожалуйста начинающему.. сделал я statefulset, прикрутил к нему persistent volume и вроде бы все хорошо, но кое-что меня тревожит.. правильным ли будет в этот сторадж положить какой-нибудь файлик и под livenessProbe проверять его наличие? тогда в ситуации, пропажи стораджа можно будет попробовать передеплоить под? или существует какой-то другой способ? цель - не дать поду крутиться без стораджа...
Anton
если сторадж отвалился - под будет убит, если я правильно помню
хорошо если так, просто на локальном minikube такого поведения я не получил (делал kubectl delete pv и руками через minikube ssh лез и удалял каталоги), вот начал переживать и пока не смог найти информации о поведении в реальном окружении
Logan
моему утверждению не стоит верить на слово – его лучше проверить. Но вообще вы описали под и сторадж является частью этого пода. А значит – при исчезновении стораджа под должен быть пересоздан, это логично
Anton
похоже я не всю информацию предоставил, и может быть это имеет значение.. на самом деле у пода указан не сторадж, а pvc
Dmytro
это была бредовая идея, потому как откуда я знаю куда я файлик положил? на сторадж или в фс контейнера...
но ведь ты знаешь какой размер вольюма который ты прикрутил? можно например через df/du проверять что там сейчас примаунчено, но это какой-то странный кейс. Если сторадж отвалился то и само приложение упадет ведь оно не сможет ни читать ни писать и какой бы там не был healthcheck у этого приложения - он должен упасть в таком случае тоже
Dmytro
я даже представить не могу а как этот kubectl знает о тот в каком он облаке
kubectl и не знает, знает мастер кубернетеса (ну и воркер ноды тоже но создавать лоадбалансер будет мастер) - это один из флагов которые передаются кубелету при запуске - тип клауд провайдера
Maksim
я даже представить не могу а как этот kubectl знает о тот в каком он облаке
А ему пофиг. Это задача облака мониторить сервисы....
Anonymous
http://itmithran.com/monitoring-docker-containers-using-built-commands/
G72K
это была бредовая идея, потому как откуда я знаю куда я файлик положил? на сторадж или в фс контейнера...
Вы же знаете куда в контейнере монтируется сторадж :) так что можете сказать где файлик
Vadim
Удивительно, что оно дает PV удалить нв лету
ну да, сейчас сторадж еще пилить-неперепилить
G72K
Мне кажется если PV напрямую в поде использовать, то не даст.
G72K
ну да, сейчас сторадж еще пилить-неперепилить
Я тут недавно удивился, чего это нетривиальный performance fix (для альфа фичи правда) в 1.9 вдруг бэкпортнули и заглянул в код schedule_queue там мрак
Anton
Вы же знаете куда в контейнере монтируется сторадж :) так что можете сказать где файлик
не совсем знаю, ведь если у меня точка монтирования какая-нибудь /mnt/datadir и делаю там файлик через touch healthy, я изначально не знаю, оно создаст его в фс контейнера или в примонтированный сторадж (вдруг он не примонтировался) предыстория такая: есть брокер VerneMQ, который сохраняет сообщения и подписки в LevelDB. мне хочется это положить в PV, что бы не потерять при решедулинге пода. но обратил внимание, если оторвать PV, процесс VerneMQ внутри контейнера продолжает себе жить, срыгивая ошибки в лог... поэтому думаю над способом как прибить под, у которого отвалился PV, без модификации сорцов. я только начал этот тернистый путь, и думал может есть какие-то стандартные способы решения, но пока не нагуглил.
G72K
не совсем знаю, ведь если у меня точка монтирования какая-нибудь /mnt/datadir и делаю там файлик через touch healthy, я изначально не знаю, оно создаст его в фс контейнера или в примонтированный сторадж (вдруг он не примонтировался) предыстория такая: есть брокер VerneMQ, который сохраняет сообщения и подписки в LevelDB. мне хочется это положить в PV, что бы не потерять при решедулинге пода. но обратил внимание, если оторвать PV, процесс VerneMQ внутри контейнера продолжает себе жить, срыгивая ошибки в лог... поэтому думаю над способом как прибить под, у которого отвалился PV, без модификации сорцов. я только начал этот тернистый путь, и думал может есть какие-то стандартные способы решения, но пока не нагуглил.
К моменту запуска пода оно точно примонтировано. И я очень сильно сомневаюсь, что вообще возможно отмонтировать из контейнера вольюм на лету. Я пока на телефоне, но удаление PV видится мне чем то нереальным. Почти 100% уверен, что если оно реально удаляется, то под пересоздается. Пока на телефоне, но сегодня проверю
Anton
К моменту запуска пода оно точно примонтировано. И я очень сильно сомневаюсь, что вообще возможно отмонтировать из контейнера вольюм на лету. Я пока на телефоне, но удаление PV видится мне чем то нереальным. Почти 100% уверен, что если оно реально удаляется, то под пересоздается. Пока на телефоне, но сегодня проверю
Вы правы, на момент запуска оно точно будет примонтировано, иначе PVC будет ждать появления подходящего PV. Я тоже очень хочу это все попробовать на живом кубе, но пока балуюсь локально с minikube и там заметил такое странное поведение. Вечером однозначно проведу эксперимент еще раз и поделюсь результатами. Интересует два сценария: 1. удаление PV который используется подом 2. удаление физического стораджа, на который смотрит PV (не средствами kubectl)
Anonymous
оффтоп: ммм, а не напомните как решается проблема с "Permission denied" при монтировании volume в контейнер так как разные uid у юзеров? я как-то раньше решал а сейчас не могу вспомнить, нужна какая-нибудь отправная точка :)
Anonymous
спасиб
Anton
а нельзя этот vernemq запатчить?
можно конечно, но думалось отделаться малой кровью :)
Andor
ну это знаешь "малой кровью" ака "костыли и подпорки" vs "правильное решение"
Anton
согласен. мне просто не понятно было, что должно быть с подом, если вольюм пропал или стал нездоров. на миникубе почему-то решедулинга не было. хотя может я дурак и делал что-то не так. вечером попробую еще раз.
Andrey
очень старнный вывод
я, кстати, покопался в исходниках
Andrey
https://github.com/kubernetes/minikube/blob/5661ba0b5e2402e45a8cb766495cd34411139ca6/pkg/localkube/proxy.go
Andrey
теперь понятно, откуда берется адрес 0 в записи лога о попытке пингануть /healthz
V
ребята а расскажите как expose порт если это не cloud
V
я немного запутался
Anton
service type: nodePort
Anton
или hostnetwork в pod
Anton
service externalIP
Anton
и еще наверное варианты есть
V
service type: nodePort
а node port что означает ?