Maksim
Нам не хочется возиться с 100нями вариантов установок, так что все в кубеадм. Так мы уверены что вы установили все правильно, и ваш тикет не от вашей тупости
Maksim
И у нас нет крупного корпаративного клиента, так что амшем и херачим релизы...потому что опенсурс и платят нам за код и релизы...
Maksim
Примерно так.
Maksim
Сейчас этап бурного роста. Через пару лет приземлиться в крупный корпаратив и убавит темпы.
Maksim
Посмотри на ОпенСтак)
Maksim
1.6 уже на ectd 3?
Shamil
Проблему, с которой я столкнулся решили уже в 1.7 — пул-реквест лежит почти полгода, причем это не какая-то мелочь, а серьезная вещь: если поставить в kubtadm.yaml cloudProvider: openstack то apiserver не стартует и установка уходить в бесконечный луп, поэтому приходится ставить без этой опции и потом допиливать руками. Это крайне неудобно.
Maksim
Ну в 1.8 сломали http auth. Выпилив приглашение. Теперь приходится зарание формировать хедер
Shamil
Посмотри на ОпенСтак)
OS в этом плане вообще цирк с конями, но там другая история, у них куча сайд-пректов где каждый суслик — агроном.
Maksim
Добро пожаловать в ОС)
Maksim
Я уже (-:
А чего так грустно?
ℭ𝔞𝔯𝔯𝔬𝔩
Когда обновили kubeadm, реакция ньюфага и олдфага:
ℭ𝔞𝔯𝔯𝔬𝔩
Maksim
Прально олдфаг на кубеадм вообще не смотрит
Maksim
Ну там RBAC вполне обоснованно перепили.
Дело не в ролях, а в ошибке http сервера у кубеапи, который при http basic auth не. Шлет приглашение улиенту, а сразу отвечает 403
Maksim
Или вообще не шлет 401 при отсутвии auth в хедере. Я не смотрелтна пакеты.
Shamil
Прально олдфаг на кубеадм вообще не смотрит
Ну как на него не смотреть, если его объявили единственным поддерживаемым путём установки k8s?
Maksim
Они и мастер компоненты подвешивают в виде под к кублету напрямую....
Shamil
Они и мастер компоненты подвешивают в виде под к кублету напрямую....
О чем и речь! Как я понимаю все это рассчитывается под CoreOS, а мы все дело крутим на CentOS? поскольку нам нужна оркестровка хост-систем, чтобы сами эти хост-системы не были питомцами. Иначе это рушит всю идею: получается, поды — скот, а ноды — питомцы.
Maksim
Тут можно долеко уйти
Shamil
Тут можно долеко уйти
В каком смысле?
Maksim
Есть мысль что они хотят как VMware со своей vSphere
Maksim
когда в парадигме сервера грузятся по PXE ловят esxi, и предстроенный кофниг, для коннекта в vCenter, после их уже манеджат, да только имхо не выйдет)
Maksim
тот же VMware начали продавать предустановленным, сами вендоры
Anatoliy
Ребят, у Weave вроде как есть какая то визуальная штука для отображения информации о сети, никто не знает название?
Anatoliy
Нашел, Weave Scope, вроде оно
Anton
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 Результаты какие-то удивительные, но приятные, может кто-нибудь на своем/тестовом кластере прогнать, для сравнения ?
я гонял yandex tank, он умеет всякие плюшки, типа квантилей. сранивал какая будет разница при использовании одного хоста по старинке и кластера к8с (ingress + hostnetwork, внутри развернуто приложение через deployment с двумя репликами на разных нодах). пока не зафорсил Connection: keepalive через proxy-set-header результат отличался заметно. как только кипэлайв внутри заработал, отличие в результатах практически сошло на нет.
Maksim
а yandex cocaine не видел?)
Anton
погоняю сегодня, скинь команду если сохранилась
там зарегаться нужно, чтобы результаты в веб залились успешно. пример load.yml: core: lock_dir: . overload: {enabled: true, job_name: JOB-NAME, package: yandextank.plugins.DataUploader, token_file: token.txt} phantom: address: x.x.x.x:443 header_http: '1.1' headers: '[Host: www.xxx] [Connection: close]' instances: 10 load_profile: {load_type: rps, schedule: 'const(200, 3m)'} package: yandextank.plugins.Phantom ssl: true uris: /your/uri запускать можно так: docker run -v $(pwd):/var/loadtest -v $HOME/.ssh:/root/.ssh --net host -it --rm direvius/yandex-tank -c load.yml instances \ schedule подбирать под задачу, в uris может быть куча uri, которые нужно дергать. я сравнивал только процедуру отдачи, так что дергал статику. эти ребята не так давно переехали на yaml, но документацию не обновили толком.
Anton
а yandex cocaine не видел?)
чет я с недоверием отношусь к внутренним поделкам крупных компаний
Maksim
////
Anton
шутка не зашла? =)
Anton
Осторожно, ваш HA setup недостаточно HA: http://github.com/kubernetes/kubernetes/pull/23129
if we start to run controllers like scheduler and controller-manager onto the cluster in HA configurations, they should talk to the same API server if possible. Because each apiserver serves from a cache а разве controller-manager & scheduler не ожидают лок объекта при запуске? я прост пробовал их стартовать в большем числе, они при запуске блокируют объект какой то устаревающий, чтобы гарантировать что запущены в одном числе. плохо понимаю как может быть несколько этих компонент одновременно работающих. пока писал понял, что речь только о большем числе аписерверов. что каждый раз подключаюсь к другому аписерверу можно поймать косяк с кэшем =))
Anonymous
Привет всем. Если в кубере создаю сервис с типом NodePort как мне к нему с внешней сети достучаться?
Anonymous
$ kubectl get services --namespace=kube-system
Anonymous
traefik-ingress-service NodePort 10.100.142.132 <none> 80:32182/TCP,8080:31056/TCP 18h
Anatoliy
ip машины внешний и порт который там примерно такой: 31056
Anonymous
спаисбо за быстрый ответ
Anonymous
если 3 машины в кластере. 1 мастер и 2 миньёна?
Anatoliy
ищи на которой запущено
Anatoliy
либо ингрес и нормальный проброс
Maksim
ищи на которой запущено
На всех машинах где есть kube-proxy(скорее всего миньёны)
Anatoliy
Ребят, а с TeamCity деплоит кто в кубер?
Anonymous
ищи на которой запущено
Именно на той и есть. Спасибо
Maksim
Именно на той и есть. Спасибо
Возможно есть проблема в overley сети
Егор
Всем привет! Ребята, подскажите как лучше сделать? Хочу спрятать важные ingress-ресурсы за фаерволом, например dashboard, он у меня проброшен на субдомен, наружу у ClusterIP торчит только 433 порт, получается и к доске доступ есть
Anton
в ingress можно повесить ограниения
Anatoliy
а зачем вообще открывать dashboard?
Anton
через ingress.kubernetes.io/auth-type можно навесить basic auth например
Anton
и вот еще белый лист есть, тоже через аннотации
Anton
а зачем вообще открывать dashboard?
чтобы быстрее к нему иметь доступ видимо. тыкнул ссылку и посмотрел
Anatoliy
ну хз, открывать такое наружу... что там такого надо что нельзя провесить напрямую? создавать через него что-то все равно не удобно
Егор
Аутентификацию базовую включил, но хотелось бы совсем закрыть
Anton
можно совсем не открывать
Роман
Кто какой версией nginx-ingress-controller пользуется у себя в продакшене?
Andrey
забавно, яндекс на овер-инжинирил https-бенчмарк, сделал его как сервис, а он отдает 502 на 50% запросов
Andrey
Andrey
видимо себя они не тестируют)
G72K
ну там кубелеты до сих пор не очень умеют нативно жить с HA-аписервером еще
Вот это я и хочу решить при помощи ipvs , может на этой неделе получится
G72K
Например? К чему быть готовым :)
Sergei
если я правильно понимаю, они активно еще и лонг-поллингом пользуются, что весьма портит жизнь попыткам это забалансировать. и реконнект кубелета к аписерверу я не нашел как легко и контролируемо чинить.
Sergei
мы имели проблемы на том что ELB, стоящий над apiserver'ами менял адреса, а кубелеты не перерезолвливали. из-за этого периодически кубелеты нахер отваливались от аписервера
G72K
А ну это старая проблема, они закостылили в kubelet тайиаут на связь с апи. По хорошему надо б client-go чинить, но уж как есть
Sergei
по хорошему надо в кубелет залезать и заставлять его нормально интерпретировать мультимастер
Sergei
все остальное - паллиативное решение, что балансировщики (где бы они ни были)
Sergei
кстати, зачем совать там ipvs?