Zhyhanov
ну а как тогда обращаться с сервисам через ingres, ip/FQDN чей указываешь в обращении ?
Rainbow
ну а как тогда обращаться с сервисам через ingres, ip/FQDN чей указываешь в обращении ?
нужно трафик направить на любую машину с ingress-controller. Как именно - на ваш выбор и что у хостера есть или cdn сверху или ещё что
Zhyhanov
у меня БМ, но балансер заказщика Ф5
Rainbow
у меня БМ, но балансер заказщика Ф5
ingress как daemonset с hostNetwork: true (это на всех или некоторые ноды готовы принимать трафик на 80|443) а как от пользователя трафик доходит до любого из nginx - уже другой вопрос, не относится к k8s. И я в этих вопросах плаваю, у меня просто dns балансировка на случай отвала сервера и все.
Rainbow
Zhyhanov
ну тоесть клиент что бы попасть на сервисы может обращаться только на 80 и 443 порт ?
Rainbow
ну тоесть клиент что бы попасть на сервисы может обращаться только на 80 и 443 порт ?
Он когда обращается на nginx, то отправляется на сервис по рулам вроде apiVersion: extensions/v1beta1 kind: Ingress metadata: name: stock-frontend namespace: default spec: rules: - host: stock.frontend.com http: paths: - path: / backend: serviceName: stock-frontend servicePort: 4566 Но никто не мешает nodePort сделать, если это не нужно.
Rainbow
ingress просто удобный способ роутинга, можно так сказать. Такой то домен и path на такой сервис
Zhyhanov
моя цель, есть например 3 ноды на которых крутится куча разных сервисов и обращение к ним идет портам и мне просто нужно отдать заказчику ip | fqdn с портом , а балансить они уже будут сами
Zhyhanov
но иза того что мне нужно что бы эти сервисы общались по https с балансером, я подумал что лучше взять ингресс что бы запилить https
Rainbow
вы лучше опишите что конкретно за сервисы и почему балансить должен внешний балансировщик. А то второй день у вас туманные вопросы.
Zhyhanov
такая задача, что балансировка ложится на плечи заказчика.
Rainbow
такая задача, что балансировка ложится на плечи заказчика.
если все так, то звучит как service: LoadBalancer и controller который ходит к балансеру и рассказывает ему как нужно. В самом простом случае контроллер это вы и сервисы NodePort
Zhyhanov
ну я уже понял что сервисом нодпорт делать лучше, вопрос остался за шифрованием. Просто сам сервис не умеет https, и до кубер мы перед сервисом ставили nginx
Incognito
https://akomljen.com/get-automatic-https-with-lets-encrypt-and-kubernetes-ingress/
Gustav
Всем привет. Кто сможет ответить в л/с на вопросы по k8s? Для сообщества они слишком банальные. А я вот стеснительный)))
Gustav
Ну и конечно с меня пиво)))
Puma
да задавай тут все равно скучно
Incognito
банальных вопросов не бывает
Vadim
всё же надо писать FAQ
Mentat
всё же надо писать FAQ
Надо не пускать к куберу без опыта в докере
Anonymous
я же говорил, что лучше в личку)))
Anonymous
поэтому я и стесняюсь)))
Mark ☢️
Mark ☢️
Баян, да ?
Incognito
https://github.com/docker/dockercraft
Vadim
вопросы вполне здравые, вопросы в личку вряд ли сподвигнут кого-то всё же написать нормальный FAQ
Anonymous
лады, сори, ребят. говорю же банальные вопросы)
Евгений
Надо не пускать к куберу без опыта в докере
А без опыта в кластерных сторадж движках и оверлейных сетях?
Mentat
А без опыта в кластерных сторадж движках и оверлейных сетях?
Надо чеклист написать, и каждому джойнящемуся в чат заставить поставить все галочки в нем, типа изучил докер, изучил сети, получил все сертификаты, в постели у админов уже был итды
Incognito
k8s для того и придуман был в том виде, как он есть, чтобы популяризировать в массах и снизить порог вхождения
Vadim
1. https://github.com/kubernetes/dashboard/wiki/Access-control 2. https://kubernetes.io/docs/concepts/storage/persistent-volumes/ 3. можешь выдрать отсюда - https://github.com/openshift/origin/blob/master/examples/db-templates/postgresql-persistent-template.json - например
Incognito
k8s придуман как спека, а не чтобы было проще
спека сильно упрощает жизнь )
Mentat
k8s для того и придуман был в том виде, как он есть, чтобы популяризировать в массах и снизить порог вхождения
самое лучше что случалось для популяризации докера - это докерхаб и docker-compose. Кубер тут врядли
Евгений
изучил openssl еще добавь, да
Понял как работает raft и потыкал голый etcd
Vadim
Понял как работает raft и потыкал голый etcd
+ всякие мелочи типа cgroups, как ядро работает с сетью, досконально знать пару-тройку гипервизоров
Vadim
а там уже и экзамен по стораджу -это минимум, на read-only режим
Anonymous
ну все прекращайте) такое ощущение, что сообщество только и ждет такие вопросы, чтобы оживить чат)))
Andrey
И совсем уж никуда без пары-тройки патчей в апстрим ядра
Исправление опечаток в документации считается?
Rainbow
@Andorka а у тебя jsonnet от куда тоже по 30 сек собирался?
Andor
больше 10 секунд не бывало
Rainbow
пора комп менять
Andor
но я не особо мерял
Andor
применяет всяко дольше
Rainbow
33,19s user 0,09s system 99% cpu 33,324 total
Andor
12 секунд на два окружения
Andor
включая запуск докер-контейнера
Rainbow
Мда, надо perf потыкать i5-6400 не самый дохлый
Andor
но у меня в том окружении кроме куб-прометея почти ничо и нету
Rainbow
но у меня в том окружении кроме куб-прометея почти ничо и нету
У меня 1 env. git clone из репы плюс немного кастомизации
Andor
ну у меня там нет гитклон
Andor
мне хочется связать две инсталляции alertmanager'ов в разных кластерах, как бы это сделать?
Rainbow
ну у меня там нет гитклон
да, я тупанул, у меня тоже
Andor
инсталляции в кубенях в разных регионах в авс, между ними есть vpc peering
Andrei
Ребят, кто победил авторизацию в nginx ingress: чтобы одновременно работало и basic auth и доступ без пароля по ip?
Rainbow
@Andorka а как конкретно ты args патчил у node exporter можешь показать? Целиком выход или через nodeExporter+:: { } ?
Rainbow
Ребят, кто победил авторизацию в nginx ingress: чтобы одновременно работало и basic auth и доступ без пароля по ip?
Если уже долго мучаешься, проще свой nginx-proxy впихнуть отдельный и забить. А так вообще есть server snippet
Grigorii
ребят, вот кто jsonnet/ksonnet использует, такой вопрос. Если уходить от хельма по причине "работа со строками" -> "работа с объектами", то ведь можно в этих целях использовать тот же k8s python client, типа того: container = client.V1Container( name="nginx", image="nginx:1.7.9" ) это вроде и выглядит чище чем jsonnet, и вдобавок можно работать с мощным языком, который любой файл/урл/сокет/шифрование подтащит из библиотек. В чем могут быть минусы?
Grigorii
а потом просто распечатывать хоть yaml хоть json
Grigorii
хоть сосисон)
Grigorii
как будто в хельме циклов нет..
𝚔𝚟𝚊𝚙𝚜
Rainbow
@Andorka а как конкретно ты args патчил у node exporter можешь показать? Целиком выход или через nodeExporter+:: { } ?
nodeExporter+:: { daemonset+: { spec+: { template+: { spec+: { containers: patchItems(super.containers, 'name', 'node-exporter', (function(item) { args: item.args + ['--collector.textfile.directory=/host/root/var/node_exporter'] })), }, }, }, }, },