Vadim
https://kubernetes.io/docs/admin/authorization/rbac/#referring-to-resources - доки так рекомендуют
Anonymous
Почему ингресс может закрывать соединение (TCP FIN?). Меньше 15 секунд прошло, кастомных настроек таймеров в configmap-е нету, среди дефолтов тоже не вижу. А иногда ждёт и больше почему-то.
Andor
отлично, спасибо
Andor
про rbac ещё не читал, но принцип понимаю
Сергей
не могу стартовать kube-apiserver лог наглухо забит сообщениями вида мар 02 14:17:28 msk-00-zabbix kubelet[13275]: E0302 14:17:28.279806 13275 kuberuntime_sandbox.go:54] CreatePodSandbox for pod "kube-apiserver-msk-00-zabbix_kube-system(c5324181408680ae371697ac5587a17c)" failed: rpc error: code = Unknown desc = failed to start sandbox container for pod "kube-apiserver-msk-00-zabbix": Error response from daemon: json: cannot unmarshal array into Go struct field Process.capabilities of type specs.LinuxCapabilities мар 02 14:17:28 msk-00-zabbix kubelet[13275]: E0302 14:17:28.279826 13275 kuberuntime_manager.go:647] createPodSandbox for pod "kube-apiserver-msk-00-zabbix_kube-system(c5324181408680ae371697ac5587a17c)" failed: rpc error: code = Unknown desc = failed to start sandbox container for pod "kube-apiserver-msk-00-zabbix": Error response from daemon: json: cannot unmarshal array into Go struct field Process.capabilities of type specs.LinuxCapabilities мар 02 14:17:28 msk-00-zabbix kubelet[13275]: E0302 14:17:28.279893 13275 pod_workers.go:186] Error syncing pod c5324181408680ae371697ac5587a17c ("kube-apiserver-msk-00-zabbix_kube-system(c5324181408680ae371697ac5587a17c)"), skipping: failed to "CreatePodSandbox" for "kube-apiserver-msk-00-zabbix_kube-system(c5324181408680ae371697ac5587a17c)" with CreatePodSandboxError: "CreatePodSandbox for pod \"kube-apiserver-msk-00-zabbix_kube-system(c5324181408680ae371697ac5587a17c)\" failed: rpc error: code = Unknown desc = failed to start sandbox container for pod \"kube-apiserver-msk-00-zabbix\": Error response from daemon: json: cannot unmarshal array into Go struct field Process.capabilities of type specs.LinuxCapabilities" Этот же плейбук без проблем разворачивается в vagrant. Куда рыть?
Andor
> rror response from daemon: json: cannot unmarshal array into Go struct field Process.capabilities of type specs.LinuxCapabilities
Сергей
это я вижу, я не понимаю где и что смотреть. Гугл пуст и выдаёт go-specific ссылки
Vadim
вангую более новый докер
Andor
явно версии разные где-то
Andor
ядра, доскера, кубера
Сергей
хм
Сергей
docker version Client: Version: 17.09.0-ce API version: 1.27 (downgraded from 1.32) Go version: go1.8.3 Git commit: afdb6d4 Built: Tue Sep 26 22:39:28 2017 OS/Arch: linux/amd64 Server: Version: 17.03.1-ce API version: 1.27 (minimum version 1.12) Go version: go1.7.5 Git commit: c6d412e Built: Fri Mar 24 00:45:26 2017 OS/Arch: linux/amd64 Experimental: false
Сергей
версии разные
Сергей
спасибо за зацепку!!!
Anton
ну или в trap описать что нужно таки сделать. для меня все еще непонятно зачем это нужно. или раз в 3600сек выполнить задачу или при остановке?
нет никаких задач, надо чтобы контейнер просто не закончился. Пустой цикл. Ничего не надо делать. При остановке тоже нет задач.
Anton
так это ведь изнутри нельзя отрегулировать. ему прислали term, ему точно еще пришлют потом kill (всем внутри)
Alexander
привет всем , разбираюсь с openshift и столкнулся с проблемой логов контейнеров. Не могу понять в каких директориях они должны создаваться , на хосте есть директории /var/log/container (пустая) , /var/log/pods/ (внутри N директорий с именем id чего-то, все пустые), /var/lib/docker/containers (внутри директории видаID, с разными конфигами, но без логов)
Alexander
что-либо не работает или все же , т.к. есть директории с id , контейнеры "неразговорчивые" ?
Maksim
а что в /etc/sysconfig/docker
Alexander
да драйвер лога дефолт
Alexander
journald , еще и докер совсем не свежий - 1.12.6
Vadim
Там много апстримовых патчей
Vadim
Кстати, кому-нибудь нужен отдельный чат по опеншифт?
Maksim
Там много апстримовых патчей
Ну вих знает...он по сути не так делоко от k8s утопал
Alexander
дефолтный докер на centos/rhel будет писать в journald
а куда будет попадать лог контейнеров ?
Vadim
Vadim
Ну вих знает...он по сути не так делоко от k8s утопал
ну я не против отвечать на вопросы по imagestream/service catalog, лишь бы не мешало
Alexander
всё идёт в journald, /var/log/journal/
даже директории такой нет
Maksim
ну я не против отвечать на вопросы по imagestream/service catalog, лишь бы не мешало
Хе у меня тут в Организации война) Часть людей за OS часть за k8s ждём))))
Vadim
Хе у меня тут в Организации война) Часть людей за OS часть за k8s ждём))))
хехехех, а можно потом краткую саммари после победы?
Vadim
даже директории такой нет
может у вас какая-то кастомная конфигурация systemd?
Maksim
А её нет) Два проекта паралельно, каждый развивает своё. Експлуатация за OS, потому что есть вендор, и гореть будет не их жопа. R&D за k8s потому что гугл)
Vadim
так нужен же OS поверх k8s
а это кстати обещают, но не скоро
Andrey
openstack-helm или kolla-kubernetes
Alexander
может у вас какая-то кастомная конфигурация systemd?
в мане к journald.conf сказано что при Storage=auto директория /var/log/journal "is not created if needed' , что в общем не совсем понятно =(
Anonymous
много где директорию не создают исходя из того что если надо хранить журнал на диске - админ создаст каталог
Anonymous
в убунте кажется так
Alexander
rhel
Alexander
лэйтест
Vadim
:/ А journalctl работает?
Igor
install -d -g systemd-journal /var/log/journal && systemctl restart systemd-journald
Stanislav
хехехех, а можно потом краткую саммари после победы?
Имхо, в такой ситуации побеждает тот, у кого адмресурс больше
Vadim
Stanislav
Адмресурс не нужен только в ситуации, когда всем по**й
Andor
ну типа запустить кубер, а в нём опенстек, а в нём остаток кубера
Andor
девопсненько будет
Stanislav
https://www.surveymonkey.com/r/QY566F5
Stanislav
Опросник для тех кто заинтересован в контейнерах / кубернетс
Stanislav
ну типа запустить кубер, а в нём опенстек, а в нём остаток кубера
Это не очень здравая идея, так как неясно, что делать со сторадж слоем, не говоря уже о сети.
Andor
в опенстеке ж есть сторейж
Andor
который вроде даже кубер поддерживает как-то
Stanislav
ключевое слово - как-то
Vadim
нормално он Cinder поддерживает
Anton
я пока что вижу этот sleep как костылек, хоть так и не была озвучена цель\идея
Anton
все конечно любят говорить о том, как это плохо, пилить велосипеды и костыли, пока не доходит до реального дела =) я прост не понимаю пока что зачем это
Dmytro
мне пофигу на хостнеймы внутри подов, мне надо чтобы поды друг друга могли видеть
так для этого ведь используют сервисы с predefined именами, и тогда не нужно узнавать имя пода - это никому не интересно. Потому наверное и обосрали что юзкейс большинству непонятне
Anton
все конечно любят говорить о том, как это плохо, пилить велосипеды и костыли, пока не доходит до реального дела =) я прост не понимаю пока что зачем это
Пользователь запускает свой под со своими контейнерами. Помимо пользовательских контейнеров в каждом таком поде должен быть служебный контейнер. Он собран таким образом, что содержит определенные инструменты, которые периодически вызываются через exec. То есть там нет процесса, который должен быть запущен, а без такого процесса контейнер, как известно, жить не может. Вот я и пытаюсь создать такой процесс. Да, это напоминает существующий pause контейнер.
Andor
ну запускайте просто /bin/sh например
Andor
или какой-нибудь /bin/login если есть
Anton
/bin/cat =)
Andor
ну да, любой процесс который живёт до прерывания
Dmytro
нет никаких задач, надо чтобы контейнер просто не закончился. Пустой цикл. Ничего не надо делать. При остановке тоже нет задач.
просто нужно сделать trap на баше, есть много статей https://medium.com/@gchudnov/trapping-signals-in-docker-containers-7a57fdda7d86
Anton
нет, ip (и bridge)
Dmytro
у меня пачка таки инфра контейнеров где либо крон либо бесконечный цикл на баше, в качестве инит процесса юзаю tini который из альпайн реп ставится
Dmytro
сейчас покажу пример
Dmytro
entrypoint.sh: ... while :; do do_discovery "${STATEFUL_SET_NAME:?}" "${INTERNAL_SERVICE_NAME:?}" "${REPLICAS:?}" "${namespace_name}" "${stateful_set_labels}" "${service_selector_labels}" log "Sleep 5 seconds" sleep 5; done
Dmytro
Dockerfile: # small footprint \o/ FROM alpine:edge ENV TERM xterm # install runtime dependencies RUN apk --no-cache add curl jq mongodb tini \ && rm /usr/bin/mongoperf COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/sbin/tini", "--", "/entrypoint.sh"]
Ilya
Привет всем. А как вы решаете такую проблему с helm: нужно, чтобы приложение (чарт), устанавливался обязательно в определенный неймспейс. Указывать его через параметр —namespace не особо хочется, ибо всегда есть человеческий фактор, возможность очепятаться и тд. Создавать неймспейсы через шаблоны, как я понял, считается плохой практикой. А хочется, чтобы по умолчанию был указан неймспейс отличный от default. Продукт коробочный, чарты потом отдаются клиенту, хочется предоставить максмум конфигурации из коробки. Что посоветуете?
Dmytro
контейнер бесконечно бежит, если его киляет то tini убьет просто мой баш скрипт с циклом
Anton
спасибо, но по мне — много букв
Dmytro
Кстати, кому-нибудь нужен отдельный чат по опеншифт?
мне скоро будет нужен, переходим на это гуано :(
Vadim
мне скоро будет нужен, переходим на это гуано :(
если созреешь для чата - создай плиз