Anonymous
блин, во всех мануалах "как переключи логи из google cloud logging в elasticsearch" написано: "создайте новый кластер запустив setup.sh с флагом KUBE_LOGGING_DESTINATION=elasticsearch"
а че делать если уже есть существующий кластер :( чем-то напоминает "если к вам неожиданно пришли друзья и вы не успели ничего приготовить - нестрашно, пошлите слугу на рынок..."
kay
@vkfont https://github.com/kayrus/elk-kubernetes
kay
ничего переключать не надо
kay
как только Kibana заработает, тогда выключай GCL
Anonymous
не, мне надо чтобы stdout контейнеров (fluentd) посылался в эластик автоматом
Anonymous
кластер из эластика и гуя кибаны у меня итак есть
kay
ну так оно и работает
Bro
а чем логи с контейнеров собираете?
kay
просто заигнорь поднятие EK стэка
kay
и оставь fleunt
kay
https://github.com/kayrus/elk-kubernetes/blob/master/es-fluentd-ds.yaml
kay
само собой контейнер сам можешь собрать ,а не использовать мой
kay
Dockerfile здесь https://github.com/kayrus/elk-kubernetes/tree/master/docker/fluentd
Anonymous
попробую, спс
kay
не зря время на логи тратил.
kay
kay
Anonymous
то есть по факту надо просто fluentd свой поднять который на эластик смотрит и прибить старый?
kay
да
Anonymous
че-то как-то легко... подозрительно :) (шутка)
kay
ну я значительное время потратил на то, чтобы правильный fluentd конфиг состряпать. он отвечает моим требованиям, но зато содержит примеры, которые никому не мешают
Anonymous
а где старый fluentd искать?
Anonymous
$ kubectl --namespace=kube-system get pods
NAME READY STATUS RESTARTS AGE
default-http-backend-40jhh 1/1 Running 0 2d
heapster-v1.2.0-2328783301-1zj74 2/2 Running 0 2d
kube-dns-v19-e0uka 3/3 Running 0 2d
kube-dns-v19-hc0fc 3/3 Running 0 2d
kube-lego-3129421299-018gk 1/1 Running 0 2d
kube-proxy-gke-edissons-default-pool-abd1b1de-5pf4 1/1 Running 0 2d
kube-proxy-gke-edissons-default-pool-abd1b1de-aefq 1/1 Running 0 2d
kube-proxy-gke-edissons-default-pool-abd1b1de-e73x 1/1 Running 1 2d
kube-proxy-gke-edissons-default-pool-abd1b1de-lho2 1/1 Running 0 2d
kube-proxy-gke-edissons-default-pool-abd1b1de-tae0 1/1 Running 0 2d
kubernetes-dashboard-v1.4.0-ja905 1/1 Running 1 2d
nginx-ingress-controller-gyjao 1/1 Running 0 2d
Anonymous
а как контейнерам сказать чтобы они драйвер fluentd юзали?
kay
у меня docker по дефолту
kay
пишет файлы в лог на ФС
kay
fluentd эти логи подхватывает
kay
ничего перезапускать и переконфигурировать не надо
kay
> а где старый fluentd искать?
а он есть?
Anonymous
ну хз я думал через него в google logging посылает
kay
к сожалению, без понятия как google logging работает
Anonymous
ладно, не гружу, пойду поковыряю, спасибо за репу )
kay
Я сейчас пилю prometheus+grafana
kay
кстати не в курсе нужен ли heapster с cadvisor в этом случае
Alexander
Покажешь потом, мне интересен prometheus.
yolkov
привет, а можно как то ограничить чтобы на ноду не устанавливались поды, кроме подов с определенными лайблами
yolkov
т.е. сделать ограниченные ноды, только для определенных задач?
yolkov
с помощью Node affinity?
kay
только в 1.4 http://kubernetes.io/docs/user-guide/node-selection/#alpha-features-affinity-and-anti-affinity
yolkov
да, у меня 1.4 и есть, спасибо, поизучаю
Ivan
хотя конечно можно и node affinity, да
Ivan
но тогда affinity для всех подов придётся вбивать
yolkov
как раз это писал)
kay
что-то мой прометей тормозит на 100 подах
kay
загибается
Михаил
а есть кто с openshift работал? хотя я думаю это часть k8s. нужно билдить кастомный веб аппликейшн джавы в кастомном же контейнере.
Михаил
я че-то не понимаю как.
из темплейтов то wildfly отлично билдиться
Anonymous
$ kubectl --namespace=fulldive-staging create configmap fulldive-api-doc --from-file=doc
error: api_data.js is not a valid key name for a configMap
ура, это поведение в 1.4 починили, теперь статику можно хранить
kay
просто раньше они для обычных имен применяли политику DNS RFC
Alexander
а сейчас?
Anonymous
а сейчас kubectl обновили по ишьюсе - это не серверное ограничение было а валидатор в клиентской части
Anonymous
и теперь я могу статику пихать в конфигмапы не придумывая мозголомные схемы с внешними хранилищами :) хз правда правильно это или нет, но то что удобнее гораздо это точно
Anonymous
https://github.com/fabric8io/exposecontroller/blob/master/vendor/k8s.io/kubernetes/pkg/kubectl/configmap.go#L204
Anonymous
https://github.com/fabric8io/exposecontroller/blob/8a3314477203bc7736b03499733f3196c81bc95c/vendor/k8s.io/kubernetes/pkg/api/validation/validation.go#L2626
kay
я просил этот фикс в 1.3 запилить
kay
https://github.com/kubernetes/kubernetes/pull/25458#issuecomment-239452805
kay
не стали
kay
зато вот это запилили https://github.com/kubernetes/kubernetes/pull/29523
Denis
На TheNewStack начали публиковать цикл материалов о запуске stateful-сервисов в кластере Kubernetes. На данный момент вышло две статьи, рассказывающих о Kubernetes Volumes и о механизме выделения ресурсов для stateful-сервисов.
http://amp.gs/T7wX
http://amp.gs/T7wF
yolkov
👍
Anonymous
подскажите, куда в документацию смотреть, я стартую консул как daemonSet, хочу ему сказать -bind=CONTAINER_IP и -retry-join=OTHER_CONSUL_IP, откуда я могу собрать эти IP адреса. Ну и вообще информацию данного рода
Anonymous
в кореос я готовил env файл на каждом хосте с нужной мне инфой
kay
configmap. http://kubernetes.io/docs/user-guide/downward-api/#example
Anonymous
спасибо!
Anonymous
а кто должен обеспечивать сеть, которая по дефолту 100.64.0.0, у меня ip эти абсолютно нигде не представлены и ничего не пингуется. Поды в daemonSet между собой не пингуются
Anonymous
засетапил weave
kay
пинговаться они вроде не должны
kay
это виртуальный IP
kay
которые роутятся исключительно правилами iptables
Anonymous
а, это ок
kay
этим занимается kube-proxy
kay
для проверки сети просто запусти два контейнера docker
kay
на разный ходах
kay
типа busybox
kay
и попробуй их внутренние IP пропинговать
kay
один из другого и наоборот
Anonymous
вот внутренние IP не пингуются (правда у меня даемонсет)
Anonymous
или просто контейнеры запустить?
kay
сделай что я посоветовал