Anonymous
а вообще что посветуете настроить из "маст хэв" на кубернетесе? не в плане всех модных хипстерских гуев, а реально нужные вещи в продакшне... вот я запустил чистый кластер, что еще туда доставить чтобы комфорт почуствовать?
Dmitry
мониторинг и алерты
Dmitry
дашборд
Dmitry
графана
Anonymous
"мониторинг и алерты" это надо расшифровать
Dmitry
ну прометеус, телеграф
Dmitry
https://prometheus.io
Anonymous
а нет статей как его настраивать грамотно? а то я почитал сайт: "вот вам набор болтов и гаек, а автомобиль сами собирайте - раз вы это читаете то скорее всего вы механник" )
Dmitry
https://www.influxdata.com/time-series-platform/telegraf/
Dmitry
я не видел грамотных статей
Anonymous
прометеус И телеграф, или прометеус ИЛИ телеграф? они дополняют или заменяют?
Dmitry
у нас в связке работают
Dmitry
в телеграфе есть поддержка большого количества сервисов, из коробки по сути. В прометеусе нету части из них
Dmitry
а тк все пишут в инфлюксдб, то разницы нету особой
Anonymous
ну вот мне надо просто знать все ли ок с кластером: когда по ресурсам перебор, когда начали поды отваливаться с ошибками... короче состояние знать, желательно без лишних телодвижений или с внятными мануалами
Anonymous
чего-то одного хватит, или бросать текущую професию и в девопсы закапываться?
Dmitry
такого нету) ну или я не нашел
Anonymous
эх
Dmitry
мы сами определяли метрики которые нам важны и какие алерты слать
Anonymous
типа "программист"
Anonymous
ну я на бэкенде плотно засел так что полюбому пересекается с devops щас, фронендам в этом плане проще
Vladimir
k8s стартует контейнер, а через 30 секунд Killing container with docker id 4460572e63c0: Need to kill pod. что это может быть?
kay
livenessprobe и timeout
kay
> At the bottom of the kubectl describe output there are messages indicating that the liveness probes have failed, and the containers have been killed and recreated. http://kubernetes.io/docs/user-guide/liveness/
Vladimir
вот так стоит: ports: - containerPort: 3000 name: http-server livenessProbe: httpGet: path: /login port: 3000 initialDelaySeconds: 60 timeoutSeconds: 5 но почему-то убивается ровно через 30 сек
kay
а эти изменения видны в самом k8s? kubectl get pods bla -o yaml ?
Vladimir
не видны
kay
вот в этом и проблема
kay
может ты pod не рестартанул, может синтаксическая ошибка где-то
Vladimir
ок, щас попробую найти проблему
Vladimir
оказалось у меня конфилктовали названия в конфигах для веб приложения и воркера. по одиночке они работали, а если вместе запусить, то кубернетес убивал их
Vladimir
Failed to pull image, no space left on device на машине 27 gb свободного места. другие контейнеры запустились
Vladimir
Есть какие-то мысли?
kay
inodes?
Etki
на всякий - с инодами все в порядке?
kay
df -ih /var/lib
Vladimir
df -ih /var/lib Filesystem Inodes IUsed IFree IUse% Mounted on /dev/xvda1 2.0M 51K 2.0M 3% /
kay
df -h /var/lib?
Etki
https://github.com/docker/docker/issues/10613 возможно, оно
Vladimir
df -h /var/lib Filesystem Size Used Avail Use% Mounted on /dev/xvda1 32G 3.3G 27G 11% /
kay
если btrfs, то проверить место можно sudo btrfs fi show
Vladimir
ext4
Vladimir
/dev/xvda1 on / type ext4 (rw,relatime,data=ordered)
Vladimir
sudo btrfs fi show Btrfs v3.17
Ivan
у докера ранее были суровые косяки с понятием о free space при использовании btrfs, например https://github.com/docker/docker/issues/5900 Сейчас не знаю, но возможно из той же оперы
Ivan
docker info | grep Storage
Vladimir
docker info | grep Storage WARNING: No swap limit support WARNING: No kernel memory limit support WARNING: No cpu cfs quota support WARNING: No cpu cfs period support Storage Driver: aufs
Ivan
хмм. тогда не знаю сходу
kay
кстати вот и причина того, почему ресурсы не работают
Ivan
btrfs я не юзал особо. но, возможно, причина где-то здесь https://btrfs.wiki.kernel.org/index.php/FAQ#Understanding_free_space.2C_using_the_original_tools
Alexander
Ядро какое?
Vladimir
uname -r 3.16.0-4-amd64
Alexander
меняй на 4
Alexander
но это не решит проблему с местом :))
Vladimir
ок :-)
Alexander
может ты куда /var/lib засунул на отдельный партишен ?
Alexander
ну и тут был разговор про драйвера стораджей, ну и советовали overlay2
Vladimir
вроде всё на одном партишене. ок, я понял, что нужно пересоздать кластер, учитывая эти нюансы
Vladimir
я пользовался кубернетовским туториалом для aws. Что можно использовать другое для этого?
Zon
Пока я не напилил свой костыль, расскажите, как вы ssl ключи манаджите для k8s? Чтоб не руками
kay
http://kubernetes.io/docs/user-guide/ingress/#tls
kay
kubectl create --namespace="namespace" secret tls mytlskeys --cert=/path/to/cert.crt --key=/path/to/key.key
Zon
Я про те, что нужны самому куберу для работы
Zon
а не внутренние хранилище
Zon
на этапе создания хостов
kay
у меня скрипты у которых есть доступ к ca.key. на основе его создаются client/server/client-server ключики
Zon
там это через openssl делается или как-то живее?
kay
я через cfssl делал
kay
в ansible
kay
всё автоматом
kay
если ключика на ноде нет, то запускается cfssl и генерится ключик
Zon
к серваку cfssl подключается?
Zon
центральному
kay
по хорошему конечно нужно API server но у меня скриптами
kay
@noodlensk у меня wildcard на два года
Zon
https://github.com/iameli/kubernetes-letsencrypt
это уже внутри кластера.