Denis
?
Vadim
да, в файл
Vadim
ну и https://github.com/kubernetes-incubator/cri-o/issues/377
Denis
спасибо почитаю
𝚔𝚟𝚊𝚙𝚜
Блин, какой кубернетес все таки крутой..
𝚔𝚟𝚊𝚙𝚜
:)
𝚔𝚟𝚊𝚙𝚜
чем больше погружаешься тем больше любви излучаешь к нему)
𝚔𝚟𝚊𝚙𝚜
самое сложное - это пройти стадию отторжения в самом начале пути
𝚔𝚟𝚊𝚙𝚜
догадываюсь у такого сумбурно развивающегося проекта навенрняка такой же сумбурный код.
𝚔𝚟𝚊𝚙𝚜
Но я не за реализацию я больше за идею
Aleksey
чем больше погружаешься тем больше любви излучаешь к нему)
ну это пока в 2 ночи все не ляжет и с ходу хз что делать ))
Алексей
как ограничить видимое количество cpu ( ядер ) в поде?
Maksim
resources limits
Sergey
пока в исходники не залезешь
ну там не все так плохо на самом деле)
Vadim
ну там не все так плохо на самом деле)
https://medium.com/@arschles/go-experience-report-generics-in-kubernetes-25da87430301 например
Denis
The Kubernetes type system is built at runtime, so type checks must be done at runtime
Denis
Лол
Denis
You dawg, I heard you like runtimes so we took what usually happens during compilation and put it inside your runtime.
Tony
Поднял Minio в k8s. Он отвечает в 2 раза дольше, чем если поднять через docker run. Kubernetes ставил через kubespray, Network plugin: flannel. Как мне это чудо дебагать?
Салтыдык
ну это пока в 2 ночи все не ляжет и с ходу хз что делать ))
нужно играть на опережение и самому всё сломать, но днём
Vladislav
https://medium.com/@arschles/go-experience-report-generics-in-kubernetes-25da87430301 например
Эти проблемы не решают дженериками. Ну и на самом деле все нормально. Как бы нет другого нормально способа делать RPC не в рантайме. Просто не самый приятный интерфейс, точнее недостаточно документированный раз у человека возникли проблемы.
Салтыдык
я слышал, что за это слово банят в некоторых чатах
Vadim
>Ну и на самом деле все нормально стадия первая: отрицание =)
Vadim
не знаю как решить - дженериками или переписыванием на расте, я только осветил проблему
Vladislav
Проблема - чувак не понял как делать. Решение - документация и примеры.
Vadim
да-да, просто опишем в доках что нужно делать - и проблема исчезла
Алексей
Resource limits cpu?
Алексей
Это ограничение количества процесорного времени А мне нужно чтобы под видел ограниченное количество процессоров Не все 64 а только 4
Etki
такого нет в докере
Limit the specific CPUs or cores a container can use. A comma-separated list or hyphen-separated range of CPUs a container can use, if you have more than one CPU. The first CPU is numbered 0. A valid value might be 0-3 (to use the first, second, third, and fourth CPU) or 1,3 (to use the second and fourth CPU).
Maksim
Ет в какой версии?
Сам уже нашёл
Aleksey
нужно играть на опережение и самому всё сломать, но днём
Ну так и делаем. Но надо отдать должное - сломать сложно
Anonymous
а вы таски по расписанию запускаете юзая кронджобс, или внешней хренью разруливаете?
G72K
как ограничить видимое количество cpu ( ядер ) в поде?
Никак, 99% читают /proc/cpuinfo а оно с хоста. Можно лечить LD_PRELOAD в теории, наверняка у кого нибудь есть уже. 1% делает умно и читает sched_get affinity (jvm 8 кажется так делает тоже), а значит можно заставить "увидеть" при помощи нового CPUManager (включается в kubelet) корректное количество CPU
Sergey
под каким юзером стартуете поды на coreos?
Sergey
nobody/nogroup?
someone
Всем привет. Подскажите есть ли возможность отключить создание автоматических правил iptables и использовать свои?
Denis
не ставь kube-proxy
Denis
на ноду
Алексей
@rossmohax спасибо
someone
а если всего 2 физических сервера в режиме мультимастер?
Elia
господа, а никто не сталкивался с тем, что при превышении лимитов по памяти/cpu одного из подов, перезапускается весь репликасет?
Maksim
господа, а никто не сталкивался с тем, что при превышении лимитов по памяти/cpu одного из подов, перезапускается весь репликасет?
Крайне странно. Учитывая что механизм работает иначее..Контейнер убивается oom_killer'ом а повторно его запускает уже кублет
Elia
Крайне странно. Учитывая что механизм работает иначее..Контейнер убивается oom_killer'ом а повторно его запускает уже кублет
почему-то в итоге убивается весь под из 3-х контейнеров (ну это ладно фиг с ним), но вместе с ним убивается и вторая реплика, которая не получала такого сигнала, потому что не превышала лимитов
Anonymous
strace-ом найти функцию + читать её usage
Aleksey
Чятик, подскажите, могу ли я в один сервис запихнуть больше одного селектора? Хочу 22 порт пускать напрямую в приложение, а 80/443 через проксю.
Aleksey
Гугл говорит, что я не могу сделать это в рамках одного сервиса. А как в таком случае это сделать?
Andrey
сделать два сервиса, не?
Aleksey
@yourallah @gorilych разные ip же будут
Andrey
а надо обязательно одинаковый?
Aleksey
Да. Есть сервис в который для веба мне надо воткнуть проксю и ничего никому не сломать :)
Andrey
исходная ситуация какая? Есть поды, в которые сейчас сервисом перенаправляются 22,80,443. Этим сервисом пользутся каким-то образом по его ip. Вы хотите теперь 80 и 443 перенаправить на другие поды. Я правильно понял?
Aleksey
исходная ситуация какая? Есть поды, в которые сейчас сервисом перенаправляются 22,80,443. Этим сервисом пользутся каким-то образом по его ip. Вы хотите теперь 80 и 443 перенаправить на другие поды. Я правильно понял?
исходно — есть фабрикатор, один под. Надо воткнуть в веб проксю, но не сломать хождение по fqdn для гита. Соответственно git на 22 порту, веб на 80,443.
Andrey
веб прокся будет отдельный под?
Aleksey
веб прокся будет отдельный под?
да, она уже существует для других сервисов
Andrey
можно попробовать через указание endpoints вручную для сервиса
Andrey
сервис с пустым селектором
Andrey
apiVersion: v1 kind: Service metadata: name: testservice spec: ports: - port: 22 protocol: TCP name: ssh - port: 80 protocol: TCP name: http selector: {} —- kind: Endpoints apiVersion: v1 metadata: name: testservice subsets: - addresses: - ip: 10.104.195.18 ports: - port: 22 - addresses: - ip: 10.98.31.226 ports: - port: 80
Stanislav
На GKE персистентный сторадж надо выделять на уровне создания KE кластера или на уровне подов?
Stanislav
Или там делаешь кластер, а потом аттачишь туда persistent volume?
Andrey
да, к сожалению
Andrey
https://github.com/kubernetes/kubernetes/issues/13358
Andrey
в таком случае стоит закрепить ip в определениях нижележащих сервисов
Andrey
но мне всё-таки кажется, что вы хотите странного и стоит это странное пересмотреть
Andrey
оно уже вроде как есть у него
Andrey
используется в другом месте
Andrey
я так понимаю, какая-то утилита может ходит в git по ssh и по http(s), и использует для этого один адрес. Надо http(s) трафик направить в обход
Andrey
если эта утилита внешняя по отношению к кластеру, можно было бы через один LB это сделать
Andrey
жаль, в k8s нет внутреннего LB