Sergey
Валентин, у нас несколько сред крутится , в k8s быстрее всё развернуть
Sergey
в том числе и кафка
Sergey
Но вот беда, наши тестировщики льют payload в кафку через jmeter из локальной сети
Sergey
Соответствено мне нужно чтобы kafka работал ещё и с external
Sergey
Меня уже трясёт от этой кафки (((( почему на ней элементарные вещи делаются через жжжж
Dennis
Меня уже трясёт от этой кафки (((( почему на ней элементарные вещи делаются через жжжж
Не получается у меня красиво рисовать - проклятые кисточки, меня трясёт уже от них. 😉
Nikolay
Но вот беда, наши тестировщики льют payload в кафку через jmeter из локальной сети
Только впн до внутренней сети подов в голову приходит, у фланта где-то было интересное решение с openvpn.
G72K
Но вот беда, наши тестировщики льют payload в кафку через jmeter из локальной сети
Напомните как у Кафки клиент дискаверит брокеров? Раньше было что ходит в зукипер и оттуда достает ИП адреса (а может хостнеймы, не помню). Как сейчас все происходит?
Ivan
Заходит в бутстрап кафку и получает список брокеров
Ivan
А Кафка уже из зукипера берёт что другие Кафки положили
G72K
Т.е. другие брокеры кладут внутренние адреса/хостнеймы? Чего то мне кажется на куб это очень плохо ляжет
Ivan
Обычно внешние прописывают если нужно лткрывать
Ivan
+ сплит днс
Николай
Меня уже трясёт от этой кафки (((( почему на ней элементарные вещи делаются через жжжж
Сергей, не пробовали этот чарт смотреть ? https://github.com/confluentinc/cp-helm-charts/tree/master/charts/cp-kafka я сам его не пробовал, но если совсем идеи закончились, можно и попробовать
Ivan
Вообще есть kafka-operator и оно классное
Anton
можно ли как-то где-то при джойне ноды (kubeadm join) автоматически выполнить действия на кластере, касающиеся этой ноды? Например, установить ей label и создать clusterrolebinding.
Anton
ну вообще в целом интересно обрабатывать событие рода "on_node_join"
𝚔𝚟𝚊𝚙𝚜
можно ли как-то где-то при джойне ноды (kubeadm join) автоматически выполнить действия на кластере, касающиеся этой ноды? Например, установить ей label и создать clusterrolebinding.
Можно, kubelet'ы должны иметь --cloud-provider=external, тогда при добавлении они будут иметь taint: node.cloudprovider.kubernetes.io/uninitialized, это позволит вам настроить их как нужно, затем снять этот taint
G72K
Обычно внешние прописывают если нужно лткрывать
Внешние ип не помогут - стейтфулсет поды их незнают. А сплит днс значит внутри кластера убирать .cluster.local на что то другое и даже в этом случае оно будет не совпадать с принятой схемой во внешнем ДНС. чё то сложно, проще jmeter внутри кластера пускать каким нибудь telepresence
Dmitry
долбаный pyhelm на macos. есть ли кто страдал от https://github.com/flaper87/pyhelm/issues/9 ?
Dmitry
пойду в #python
Rainbow
Anonymous
Приветы
Никита
А в чем там причина, в Nat'е?
А это про что вопрос, про кафку или сетевые плагины? (:
Vadim
а для чего нужны persistent volumes?
Stanislav
Сохранить информацию между рестартами контейнера
Sergey
Коллеги, попробовал развернуть kafka из confluentinc/cp-helm-charts , с параметром --set external.enabled=true , но ситуация так и не поменялась ((( кафка не видна с наруже через NodePort
Sergey
Видно что порты с кафка брокеров доступны по портам 32500 , 32501 , 32502 и ссылаются на внутр. порты брокеров 19092
Sergey
При попытке подключится к кафки из локальной сети с помощью kafka-console-producer получаю отлуп
Sergey
Не уж-то я один такой извращенец ) что хочу получить доступ к кафке из вне ?
Ivan
не думаю что kafka c node port будет работать норрмально когда-нибудь
Ivan
попробуйте host network
Sergey
При попытке отправить что-то в брокер пишет Failed to update metadata after 60000 ms
Sergey
Вы имеете ввиду host port ?
Sergey
А как мне быть если мне необходимо несколько кафак у себя крутить ? у нас несколько сред , через host port не совсем удобно.
Ivan
или https://github.com/strimzi/strimzi-kafka-operator
Ivan
юзайте BGP
Ivan
чтобы обращаться по внутреннему ип/днс
Ivan
кафка не создана для контейнеризации, к сожалению
Sergey
ну блин, а как тогда она работает в helm чартах ))) написано что есть external
Sergey
я просто хочу победить )
Ivan
просто смотри как она работает
Ivan
клиент подклчюается к bootstrap кафке и получает адреса брокеров и пытается к ним подключиться
Sergey
Ну вот там есть в кафка опция advertised listners , там обычно ставят либо fqdn имя либо IP , так вот в контейнере у kafka используется POD_IP
Ivan
ну и вот, вам надо чтоб на клиенте оно было доступно
Ivan
других вариантов нет
Sergey
по-идее в этом параметре должен стоять и внешний IP , чтобы кафка давала к себе подключатся
Ivan
это уже от настройки зависит
Sergey
блин да как так то (((
Sergey
может вот эти все чарты заточены под работу с ELB ?
Ivan
кафка не работает с ELB
Ivan
только если для бутстрапа
Sergey
Балин ) а external тогда вообще зачем нужен через NodePort
Sergey
Вы можете на своем k8s кластере попробовать этот helm chart ? а то я боюсь что у меня руки кривые или k8s который я разворачивал из kubespray
Sergey
Меня просто это беспокоит уже вторую неделю (((( я уже спать не могу (((( перерыл всю инфу ничего не помогает ... мне бы было спокойней если бы кто-то из опытных людей тоже у себя проверил и точно сказал что да действительно так и есть
Sergey
Когда я прописываю прямые маршруты через какую-либо ноду с локальной машины на POD IP брокера, то всё замечательно работает, но меня смущает две вещи 1) Когда перезапустится под с кафка у него уже будет другой IP , следовательно мне нужно будет опять править маршрут, 2) ну это как-то не совсем хороший вариант, быть может лучше всётаки через ingress-controller или NodePort
Ivan
https://github.com/confluentinc/cp-helm-charts/blob/master/charts/cp-kafka/values.yaml#L44-L53
Ivan
задавали?
Никита
клиент подклчюается к bootstrap кафке и получает адреса брокеров и пытается к ним подключиться
Ну, то есть, для nodeport нужно адвертайзить fqdn/ip хостов + порт сервиса.
Никита
https://github.com/confluentinc/cp-helm-charts/blob/master/charts/cp-kafka/values.yaml#L44-L53
Если бегло поскроллить чарт, там какие-то подобные env variables задаются, мб это как раз оно?
Sergey
Вот этот параметр EXTERNAL://${HOST_IP}:$((31090 + ${KAFKA_BROKER_ID}))
Sergey
Задает HOST_IP , как я понимаю это IP Interal верно ?
Sergey
Коллеги
Sergey
Спасибо огромное !!!! Вы боги
Sergey
У меня заработало, проглядел параметр $((31090 + ${KAFKA_BROKER_ID}))
Sergey
так как я выставлял 32500 first listner port
Sergey
Ну и параметр HOST_IP сыграл свою роль
Huan
привет всем. кто юзал istio, подскажите плз как разрешить доступ с сервиса на внешний elasticsearch?
Andrey
Подскажите, есть ли возможность установить timezone для всех подов внутри кластера разом, если не прописывать каждому переменную окружения TZ или монтировать /etc/localtime внутрь пода ?
Huan
https://istio.io/docs/examples/advanced-egress/egress-gateway/
спасибо, нужно создать ServiceEntry, Gateway и DestinationRule или достаточно Gateway?
Vlad
Всем привет! Подскажите пожалуйста вот что: Задача есть deployment на 3 реплики с подами go приложения(ручка пока только одна _info) и сервис который на эти поды трафик проксирует. Теперь нужно чтобы в сервис попадал трафик снаружи, но при этом не использует nginx или что то еще. По задумке работать должно так: Трафик попадает на Сервер -> Ingress k8s -> Service k8s -> Поды. Такая схема обычна, везде используется и проблем быть не должно? Везде в примерах используется nginx, мне же он пока не нужен, или nginx(аналоги) нужны обязательно?
Vlad
Service NodePort...? ingress-controller чаще всего это nginx
Имеешь ввиду type в конфиге сервиса? Там ClusterIP
Vlad
Т.е. в подобном случае можно заиспользовать NodePort ? Но если сервиса 2, а ip хотелось бы один?
Rainbow
NodePort выделит порт под сервис. Порт доступен на любой ноде. О каком ip речь?