Oleksandr
нет - аминь
Oleksandr
могу ошибаться, конечно, сам изучаю тему и в проде кубера нет
Anatoliy
Вот я как раз на логическом и хочу. На уровне сети это ведь именно жесткое ограничение на уровне фаервола?
Vitalii
С практической точки зрения нэймспэйсы используются в ResourceQuota, NetworkPolicy и для упрощения RBAC. Можно начать проектирование с этого.
Anonymous
Netsil Visualizes the Performance of Microservices - The New Stack
https://thenewstack.io/netsil-visualizes-performance-microservices/
Anonymous
Спам пришел по куберу
Anatoliy
Oleg
Мне тоже спам пришел
Oleg
Netsil
Anatoliy
Netsil
А есть нечто подобное но бесплатное?
Oleg
хз
Anatoliy
Жаль( Ребят, если кто пользует нечто подобное но бесплатное - поделитесь названием пожалуйста)
Oleg
Кто ставил на 1.8.x Prometheus+Grafana?
Etki
все понимаю. Вы читали их описание этой фичи? Можете указать где они врут?
У них типичная модель транзакций, которая ничто иное как at-least-once delivery. Особенно радует вот это:
> On the consumer side, the guarantees are a bit weaker. In particular, we cannot guarantee that all the messages of a committed transaction will be consumed all together.
Другими словами, на стороне клиента/потребителя (которого обычно и имеют в виду, когда говорят про режим доставки), никаких гарантий никто предоставлять и не собирался (и все равно они по-прежнему невозможны).
Подробнее читать к сожалению нет времени, поэтому на самом деле в протокол я не вник.
Logan
https://gist.github.com/tallclair/11981031b6bfa829bb1fb9dcb7e026b0
очень клевый gist
Anton
Anton
Anton
по большей части изза требования не стартовать под рутом
Oleg
че там опять? =)
https://github.com/giantswarm/kubernetes-prometheus не завелось, джоба подвисла, думаю с rbac nhf,ks
Anonymous
# Allow core volume types.
volumes:
а интересно, эти пермишны только к поду относятся? то есть если я запрещу тут юзать configmap но деплоймент получает к нему доступ - все норм будет? просто из пода нельзя будет по api обратиться к configmap?
Anonymous
Anton
ℭ𝔞𝔯𝔯𝔬𝔩
Комрады, был ли у кого-то из вас опыт развёртывания тайфуна в baremetal?
https://typhoon.psdn.io/
Как оно по сравнению с kubespray?
Etki
А есть где-нибудь нормальное описание уязвимостей при запуске из-под рута? А то я что ни погуглю, так там очередной умелец монтирует хостовую систему целиком и говорит "вот, видите, я могу в bin записать что угодно с любым setuid"
Pavel
ну вот
Pavel
https://www.oreilly.com/ideas/five-security-concerns-when-using-docker
Pavel
ну там так, общие фразы
Etki
спасибо, но общие фразы я читал не раз
Pavel
ну а как иначе, это тоже самое что, зачем приложение запускать не из под рута
Etki
а иначе можно описать реальную атаку, а не просто стращать соответствием айдишников
Oleksandr
уязвимость одна и та же - если взламывают сервис из-под рута то получают полный контроль над сервером (при условии что не накручен рбак итд на самом руте)
Etki
да как его взламывают-то
Etki
Я прекрасно понимаю, что если захватить контроль над изподрутовым демоном, в т.ч. докером, получаешь все права этого демона. Но все статьи просто бубнят про соответствие айдишников и ничего про то, как реально может быть проэксплуатирована система.
Oleksandr
так вы эксплоит хотите или понять риски?
Oleksandr
под рутом сервис как правило может писать сколько угодно куда угодно
Oleksandr
порождать процессов сколько угодно
Oleksandr
итд итп
Oleksandr
риски сто лет назад описаны
Etki
и я это все знаю
Oleksandr
ну тогда вопрос не должен возникать
Pavel
ну например
Pavel
https://www.cvedetails.com/cve/CVE-2016-9962/
Etki
между "запуск бинарника в контейнере из-под рута" и "захват рутового процесса на хосте" есть огромная белая пропасть, которую никто не стремится объяснить
Etki
Pavel
https://www.cvedetails.com/vulnerability-list/vendor_id-13534/product_id-28125/Docker-Docker.html
Anonymous
Как минимум зачем людям давать возможность внутри контеинера, что-то ставить?
Etki
господи, инфосек мечты
Oleksandr
господи, инфосек мечты
заметьте, никто ж не запрещает. если понимаете что рисков нет - запускайте на вверенным вам ресурсам и сервисам
Anonymous
Можно кстати и без монтирования, если твой бинарь имеет закладку и запущен под рутом внутри контейнера, можно им спокойно ставить всякую херню. К примеру, если нету cfs, то можно помайнить или поддосить кого-нибудь
G72K
У них типичная модель транзакций, которая ничто иное как at-least-once delivery. Особенно радует вот это:
> On the consumer side, the guarantees are a bit weaker. In particular, we cannot guarantee that all the messages of a committed transaction will be consumed all together.
Другими словами, на стороне клиента/потребителя (которого обычно и имеют в виду, когда говорят про режим доставки), никаких гарантий никто предоставлять и не собирался (и все равно они по-прежнему невозможны).
Подробнее читать к сожалению нет времени, поэтому на самом деле в протокол я не вник.
Ну это вы придираетесь. Они говорят примерно: вот в файл мы записали, но поскольку читатель может сам выбирать откуда читать, он не обязательно прочтет это сообщение. Так можно про все сказать :) самое главное там то, что если ты читаешь сообщение, другого такого (его дупликата) точно не будет. Это и есть exactly once.
G72K
ℭ𝔞𝔯𝔯𝔬𝔩
G72K
в разрезе развёртывания и масштабирования по сравнению с kubespray удобнее?
Я кубспрей не смотрел, но осуждаю :) так что предвзят. из хорошего в посейдоне: все на CoreOS, все по iPXE, кластер получается self hosterd, так что при некоторой аккуратности можно директорию со всеми ресурами bootkube/assets/manifests подцеплять из отдельной git репы, в итоге деплой обновлений кластера становится очень похожим на деплой приложений в кластер, т.е. все плюшки ci/cd но для инфраструктуры
G72K
Еще из хорошего: Использует bootkube, а там сертиикаты очень удобно разложены (и вообще все по сертификатам включая etcd), можно очень легко сделать чтобы на etcd была отдельная ca chain, а значит на нодах просто физически не будет лежат сертификата по которому можно пойти в etcd и слить все данные. Насколько я знаю все куб инсталлеры эту проблему не решают вообще никак
Etki
G72K
Из того что надо допилить: Kube proxy ходит на один apiserver, решил пока созаднием ipvs на каждой ноде, в ipvs ходит kube proxy , а оттуда уходит на один из нескольких apiserver
G72K
Еще манифесты в bootkube простенькие, например не разнесены по service accounts, но это решается как раз созданием репы и ветки там, в ветке можно все запатчить как надо, при этом подтягивать обновления из будущих версий bootkube не теряя своих правок. Я как освобожусь доделки может в bootkube отошлю
Logan
G72K
да, в самом коде kubernetes
Yerlan
Подскажите куда копать хоть:
curl -v https://172.28.9.200:30001
* About to connect() to 172.28.9.200 port 30001 (#0)
* Trying 172.28.9.200...
* Connected to 172.28.9.200 (172.28.9.200) port 30001 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -5938 (PR_END_OF_FILE_ERROR)
* Encountered end of file
* Closing connection 0
curl: (35) Encountered end of file
Не хочет отвечать приложение
Yerlan
В самом кубернетесе может где подкрутить надо?
dk
Бодрого дня! Подскажите пожалуйста про установку кубера. Если делаю cubeadm init до запуска cubelet.service, то получаю кучу ошибок про невозможность получить даннные с разных /healthz, а запустить cubelet не получается т.к. "error: unable to load client CA file /etc/kubernetes/pki/ca.crt: open /etc/kubernetes/pki/ca.crt: no such file or directory", который быть создан командой cubeadm init. Как такое можно разрезолвить?
G72K
Serega
понятно, обновление через ж. т.е. руками
Andrey
ab -t 20 -c 20 http://echo.example.com/doku.php
3x node k8s with ingress: 6250 reqs
3x node k8s with nodePort: 806 reqs (each node)
2x node k8s with ingress: 4250 reqs
Результаты какие-то удивительные, но приятные, может кто-нибудь на своем/тестовом кластере прогнать, для сравнения ?
Anonymous
Привет всем! Подскажите, а как правильно деплоить код в kube?
Т.е. как правильно ложить сами сорцы приложения в контейнеры?
Нужно ложить в отдельный обычный volume? Или лучше брать gitrepo volume?
Или быть может есть какие-то более удобные инструменты?
Alexey
правильно собрать код в контейнер и потом его деплоить
Anonymous
правильно собрать код в контейнер и потом его деплоить
Если каждый раз код ложить в контейнер, то будет уходить туча времени на это. Есть более быстрый способ?
На данный момент докер контейнеры поднимаются локально и код просто монтируется туда.
Т.о. на каждый чих с любым файлом, он уже новый лежит в контейнере. Есть какой-нибудь инструмент для аналогичного поведения?
Sergei
Sergei
не стоит пытаться работать с кубернетесом, как будто это виртуальный хостинг для PHP. возьмите, лучше, виртуальный хостинг для PHP.