Denis
вообще пропали, все
Andor
Попробуйте выключить и снова включить
Denis
передеплоил хельмом - заработало, я думаю что проблема в том что это DEV cluster который на ночь вырубается и вся дата удаляется . Если я переключу Prometheus к Persistent Volume , то такой проблемы в принципе быть не должно ? Или Persistent Volume тоже умрет если весь кластер уйдет в шатдаун?
Sergey
пропали активные или совсем пропали?
Sergey
список пустой?
Denis
пропали активные или совсем пропали?
вообще не было ни одного таргета
Denis
да был пустой список
Sergey
если нет
Sergey
значит прометей не смог считать конфиг
Sergey
он где у вас
Sergey
онфу по джобам с хостами он берет оттуда если они не активные - значит не может соскрапить метрики если нет списка - нет конфига
Denis
ну насколько я понимаю конфиг - в конфиг мапе , на самом деле я не посмотрел если конфиг мап не был удален
Anton
и не стыдно без предварительной оценки и чтения логов приходить с проблеомой?
Denis
извините был напуган 😕 стыдно, согласен
Valerii
Всем привет. А как правильно создавать deployment в определенном кластере? Допустим, есть dev, staging, production. В каждом из них хотелось бы задеплоить микросервис "app" с одинаковым dns именем "app.default.svc.cluster.local" Но kubectl create -f file.yaml --cluster=dev (и без = тоже) ругается "cluster "dev" does not exist", хотя он вполне себе есть..:(
Valerii
Второй вопрос по GKE: при создании node-pool --node-taints не применяются, если использовать "gloud container clusters create", но применяются, если использовать "gloud beta container clusters create". Это так и должно быть?
Valerii
использую 1.10.5-gke.0, т.е. latest stable на GKE на текущий момент
Artyom
Может неймспейс указать?
Artyom
Или изменить кластер в .kube
Valerii
Может неймспейс указать?
нет, namespace одинаковый, кластеры разные
Valerii
разобрался: set-context dev --cluster=dev + use-context dev и тд
Nik
Народ, а куда мог пропасть /var/lib/kubelet/config.yaml?
Lex
Привет, а кубер умеет по TPU скедулить?
Alexander
Подскажите, ввожу токен, нажимаю логин и ничего не происходит, в чем может быть проблема?
Alexander
такое бывает если приходишь не с локалхоста
если варианты решения проблемы?
Slava
есть
Slava
у меня такая же проблема была
PsyDebug
если варианты решения проблемы?
да, по ssh прокинь порт и ходи на локалхост
Slava
суть: дэшборд не хочет пускать по 80-му порту (ну или на какой-ты там порт прокси поднял, или ингресс наружу выставил) никого (в логах что-то такое светилось, да и респонсы в консоли браузера говорили, что токен я тебе дам, но что-то несекюрно ко мне ходишь)
Slava
дальше делаю серт letsecnrypt, создаю secret, создаю ингресс и задаю ему созданный secret
Slava
иду к дэшборду по https, авторизовываюсь по токену
Slava
вуаля!
Slava
с дефолтными сертификатами, кстати, тоже прокатывало
Slava
главное ходить к нему по https
Denis
Мужики, кто юзает это у себя? https://github.com/kubernetes/charts/tree/master/stable/mongodb-replicaset
Denis
В чем вопрос?
У меня проблема, что после сбоя, меняется мастер в кластере, а приложение конектится к сервису, а тот перебрасывает его на слейв-ноду. Приложение не может туда записать данные. Может чего то я не допонимаю
Andrei
Если у Вас сверху не накручены конфиг сервера с роутерами, то вам нужно коннектится ко всем инстансам монги.
Denis
Так а в прилаге в строке подключения указаны все ноды сета?
Нет. Я не совсем это понимаю как сделать. К примеру полный путь до сервиса, через который ходит до монги мое приложение. mongodb.database.svc.cluster.local
Sebor▂▅▇█▓▒░
Строка подключения как выглядит?
Sebor▂▅▇█▓▒░
Вижу, что в соседнем чате уже ответили)
Denis
Строка подключения как выглядит?
Кажется понял.У нас приложение коннектится к монге через pymongo. Получается там нужно это реализовывать? Да, ответили) но мне хотелось бы понять, будет ли это относится к k8s конфигурации
Sebor▂▅▇█▓▒░
Как у вас определяется адрес монги в приложении? Через конфиг/хардкод/динамически? Вопрос скорее к вашему приложению, а не куберу
Andor
а ещё можно mongos использовать, который за тебя сам будет мастеров находить
Sebor▂▅▇█▓▒░
А в реплика-сете он есть?
Denis
Как у вас определяется адрес монги в приложении? Через конфиг/хардкод/динамически? Вопрос скорее к вашему приложению, а не куберу
Определяется в переменном окружении, с которым запускается под. Т.е - name: MONGO_URL value: mongodb.database.svc.cluster.local Ну и поэтому урлу приложение идет в монгу
Sebor▂▅▇█▓▒░
Ну вот там значит все ноды сета должны быть указаны
Andrii
{{- define "mongo.connection" -}} {{- $release := .Release.Name -}} {{- $db := .Release.Name -}} {{- $port := index .Values "mongodb-replicaset" "port" -}} {{- $replicas := index .Values "mongodb-replicaset" "replicas" | int -}} {{- $rs := index .Values "mongodb-replicaset" "replicaSet" -}} {{- $authUser := index .Values "mongodb-replicaset" "auth" "adminUserUE" -}} {{- $authPass := index .Values "mongodb-replicaset" "auth" "adminPasswordUE" -}} {{- $range := until $replicas -}} {{- printf "mongodb://" -}} {{- if $authUser -}} {{- printf $authUser -}} {{- if $authPass -}} {{- printf ":" -}}{{- printf $authPass -}} {{- end -}} {{- printf "@" -}} {{- end -}} {{- range $i, $_ := $range -}} {{- if $i -}} {{- printf ":%.0f" $port -}} {{- printf "," -}} {{- end -}} {{- printf "%s-mongodb-replicaset-%d.%s-mongodb-replicaset" $release $i $release -}} {{- end -}} {{- printf ":%.0f/%s?replicaSet=%s" $port $db $rs -}} {{- end -}} Ну и потом в env переменную. env: - name: MONGO_URL value: {{ template mongo.connection . }}
Andor
tpemltae
Andrii
через Helm chart https://github.com/kubernetes/charts/tree/master/stable/mongodb-replicaset
Andrii
tpemltae
спасибо
Denis
Всем спасибо
Denis
Ну вот там значит все ноды сета должны быть указаны
А если к replica set на пряму коннектится?
Sebor▂▅▇█▓▒░
Что значит напрямую?
Denis
Что значит напрямую?
mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test
Andor
ну вылечи
Sebor▂▅▇█▓▒░
mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test
Ну это и есть полная строка подключения Только лучше минимум 3 ноды делать в сете
Denis
Ну это и есть полная строка подключения Только лучше минимум 3 ноды делать в сете
Да у меня 3 ноды. Это получается что мне нужно 3 разных сервиса для каждой ноды монги поднимать?
Denis
https://docs.mongodb.com/manual/reference/connection-string/
Да я от туда и скинул пример выше
Andor
вообще это не куберо-вопрос, это монго-вопрос
Denis
Вообще я пытаюсь понять смысл работы этого хэлм чарта. И как работают с ним приложения в k8s
Andrii
он создайот 3 пода. Тебе нужно в стирге написать их. Ето стейтфул сет. Значит все поды будут иметь одинаковые имена и инкрементальный суфикс.
Konstantin
Вообще я пытаюсь понять смысл работы этого хэлм чарта. И как работают с ним приложения в k8s
Так разбираться нужно с тем, что ты уже умеешь готовить без куба. А так ты одновременно и Хелм и монгу пытаешься разобрать)
Denis
Так разбираться нужно с тем, что ты уже умеешь готовить без куба. А так ты одновременно и Хелм и монгу пытаешься разобрать)
Нужно быстрое решение) Вот и решил заюзать этот чарт. Может чуток не правильно выразился. Я представляю как он работает. Думал как то по другому люди цепляют свои сервисы.
Andrey
Привет. Вопрос про etcd. Периодически на лидере в journald прилетает etcdserver: failed to send out heartbeat on time и etcdserver: server is likely overloaded сейчас ему отдано 512Мб (всего на ноде 4Гб), кластер из 3-х нод, etcd:3.2.4, БД около 350Мб. В документации пишут о 8Гб, но сдается это многовато для моих текущих реалий. Если увеличу квоту до 1Гб, станет ли лучше, или в другую сторону копать?
Denis
он создайот 3 пода. Тебе нужно в стирге написать их. Ето стейтфул сет. Значит все поды будут иметь одинаковые имена и инкрементальный суфикс.
Да была такая мысль, да там проблема с большими урлами. Спасибо. Придется решать вопрос на уровне приложения походу
Andrii
Старанно у нас нет проблем с длинними урлами
Denis
Константин
а какой длины у вас URL'ы?
Sebor▂▅▇█▓▒░
40см холодной!
Maksim
Short names?
Pavel
/24
Sanzhar
/24
Vladimir
42
Костя
Коллеги, как поменять owner'a у директории, которая является mountPath'ом для PersistentVolume? Через securityContext не получится, потому что он только группу умеет менять. Через initContainer не получается, т.к. при старте init контейнера ещё не запровижионен pv. Что делать?