Solyar
Ребят, можете подсказать момент (может звучать глупо). Где Эластик хранит логи которые в него отправляет любой сервис?
Andor
Можно ещё в кубере запускать волт который будет выписывать сертификаты для аписервера
Vadim
конечно. там же https обычный
ага, а как ты начальный ингресс установишь?
Lucky SB
ага, а как ты начальный ингресс установишь?
давайте разделять две разные вещи
Vadim
давайте разделять две разные вещи
давайте лучше посмотрим на код, а то философии тут много, а решений мало
Lucky SB
1. kubelet с узлов к API
Solyar
в /var/lib/es
А если там пусто?)
Andor
давайте разделять две разные вещи
Давайте же разделять аписервер и живой трафик
Lucky SB
2. внешний админ к API
Vadim
окей, разделили в уме. Как ингресс-то ставить?
Alex
Ребят, можете подсказать момент (может звучать глупо). Где Эластик хранит логи которые в него отправляет любой сервис?
в своей базе. Если ты хочешь оттуда напрямую что-то прочитать, то, боюсь - у меня плохие новости
Lucky SB
окей, разделили в уме. Как ингресс-то ставить?
echo 'apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/proxy-send-timeout: "300" nginx.ingress.kubernetes.io/proxy-read-timeout: "300" nginx.ingress.kubernetes.io/whitelist-source-range: 1.1.1.1/32,2.2.2.2/32 nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" labels: app: kube-api name: kube-api spec: rules: - host: k8s.sb.ru http: paths: - backend: serviceName: kubernetes servicePort: 443 path: / tls: - hosts: - k8s.sb.ru secretName: k8s-sb-ru-tls' | kubectl apply --namespace default -f -
Vadim
это запускать на ноде?
Vadim
С каким kubeconfig'ом?
Vadim
(причем есть очевидный вариант же, но чем это проще keepalived?)
Alex
И их оттуда никак не достать?
в чистом виде - нет. Делаешь запросы - он возвращает jsonы
Lucky SB
это запускать на ноде?
это запускать руками. оттуда где ты админишь кластер. предварительно подумав. хватит уже троллить то....
Andor
Почему "троллить"-то?
Andor
В каком месте это троллинг?
Vadim
хех, ну ладно, я думал спросить зачем придумали static pod'ы, но пусть так будет
Alex
Понял
Их обычно напрямую никто оттуда и не читает. Кибана, Грейлог - вот это всё
Vadim
интересный вариант кстати
так себе вариант на самом деле - ингресс контроллер и помереть может
Vadim
и привет аписерверу
Vadim
+ сертификаты надо будет другие делать
Andor
Ингресс вообще опциональный компонент
Solyar
Их обычно напрямую никто оттуда и не читает. Кибана, Грейлог - вот это всё
У меня просто есть задача ( на знаю нахуя правда ) сохранять логи эластика локально, чтобы в случае смерти ноды (рестарта например) данные подсасывались из хранилища
Lucky SB
хех, ну ладно, я думал спросить зачем придумали static pod'ы, но пусть так будет
как делает кубспрей. статик подом на каждой ноде запускает nginx (или haproxy), который проксирует запросы кублета на один из N API-серверов.
Lucky SB
а про ингресс - это доступ снаружи к API
𝚔𝚟𝚊𝚙𝚜
можно и без ингресса
Lucky SB
а теперь можете объяснить чем это устойчивее keepalived?
точка отказа локальная для каждого узла ? выпадение локального прокси не скажется на других узлах ?
Solyar
ага, тут и metallb нужен
У нас всё работает на metallb, брат жив
Lucky SB
а для жонглирования ip адресом надо две сущности.
Lucky SB
плюс не у каждого хостера такое можно сделать. хорошо, если у тебя свое собственное железо.
Lucky SB
и ты даешь ТЗ своим сетевикам
Vadim
вот вам и точка отказа
Lucky SB
под с контроллером-то один
каким контроллером ???
Vadim
ингресс контроллером
𝚔𝚟𝚊𝚙𝚜
под с контроллером-то один
так в том-то и дело, что можно и без ингреса обойтись
Solyar
Я тоже не понимаю, для чего может понадобиться хранить копии логов в plain text?
Не совсем копии, нужно сделать так чтобы эластик собирал все логи в локальное хранилище и оттуда же с ними работал. Я сказал что это пиздец. Но никого не волнует
𝚔𝚟𝚊𝚙𝚜
нужен только кубовый балансер (metallb) и рабочий api-server
Vadim
так в том-то и дело, что можно и без ингреса обойтись
через metallb? А в чем разница будет, оно все равно контроллит ингрессы
Lucky SB
ингресс контроллером
ну значит ССЗБ. если у вас под с ингресс-контроллером один
𝚔𝚟𝚊𝚙𝚜
через metallb? А в чем разница будет, оно все равно контроллит ингрессы
теже яйца только в профиль, metallb через куб менеджится только
Vadim
теже яйца только в профиль, metallb через куб менеджится только
ну да, только ставки выше - не всегда сможет назад поднятся если к аписерверу доступа нет
Vadim
А тут еще и предлагается аписервер на два фронта заставить работать
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
изнутри, все кубелеты черещ локальный haproxy ходят
Solyar
Логи всё равно потеряем
Lucky SB
А что если все сдохнут?
даже не знаю. наверное надо сходить покурить. пока админы чинят ?
Alex
Логи всё равно потеряем
Да и хуй с ними! Ещё нагенерите!
Lucky SB
кстати. filebeat запоминает с какой позиции лога он не смог отправить данные
Lucky SB
и как только приемник возвращается - он все что нового в файлах логов появилось отправит
Alex
Ахуенный подход :D
Это не данные клиентов - раз. И я не представляю себе ситуации, чтобы разом накрылись три реплики эластика - два!
Solyar
У меня просто в микросервисах хардкодом забито отправлять данные в elasticsearch:9200
Solyar
Ебанутый пиздец
Vadim
изнутри, все кубелеты черещ локальный haproxy ходят
ну да, кубелеты ходят - а ингресс контроллер свалился и все, доступа нет. Что делать - ручками лезть на ноду?
Lucky SB
У меня просто в микросервисах хардкодом забито отправлять данные в elasticsearch:9200
создай в ns сервис, назови его elasticsearch и создай для него руками endpoints куда надо
Solyar
Ну это извращение
Lucky SB
ну да, кубелеты ходят - а ингресс контроллер свалился и все, доступа нет. Что делать - ручками лезть на ноду?
кублеты ходять через свой локальный прокси. который у них на ноде запущен статик подом. а не через общий ингресс-контроллер
Vadim
При котором вешается не только сайты, но еще и апишка?
Vadim
asking for a friend