Lucky SB
Привет! Помогите разобраться сетью в кубере. Есть под который сконфигурён с сетевым сервисом типа loadbalancer. Я бы хотел повестить порты пода на lo0 интерфейс хоста и через хапрокси делать проброс трафика на порты пода. Может есть ещё рецепты?
не делайте так. не надо вешать порты пода на lo0 интерфейс хоста. он у вас один - берегите его. второй такой же под вы не повесите, потому что порт будет уже занят первым подом service типа NodePort поможет
Yuriy
не делайте так. не надо вешать порты пода на lo0 интерфейс хоста. он у вас один - берегите его. второй такой же под вы не повесите, потому что порт будет уже занят первым подом service типа NodePort поможет
Спасибо, но этот порт работает по tcp и в принципе больше сервисов ипользующих этот порт уже не будет. Исользуя metallb (прописал диапазон /32) у меня получилось прицепить под на экстернал ип ноды. Если не трогать тип сервиса есть ли ещё способы проброса портов на под? Я в принципе могу и lo1 создать и на него вешать свои tcp сервисы
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
Хотя по хорошему не мешало бы на https://kubernetes-dashboard.kube-system поменять, чтобы не хардкодить к cluster.local
𝚔𝚟𝚊𝚙𝚜
Так не работает
а где у тебя дашборд запущен вообще?
𝚔𝚟𝚊𝚙𝚜
kubectl get svc -n kube-system kubernetes-dashboard
𝚔𝚟𝚊𝚙𝚜
Бинго! CRI-O без CNI не умеет контейнеры запускать, а чтобы CNI-конфиг положить нужно запустить контейнер.
𝚔𝚟𝚊𝚙𝚜
Даже статик поды не работают :(
Andrey
kubectl get svc -n kube-system kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes-dashboard ClusterIP 10.233.44.69 <none> 443/TCP 243d
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
через kubectl proxy можешь до него достучаться?
Andrey
значит у тебя с дашбордом чет не так
C дашбордом все ок. Не работает ридерект через ingress
Andrey
там нужно как то правило настроить
Andrey
значит у тебя с дашбордом чет не так
Потом что по имени https://hostname.domain/ я норм захожу, если добавить потом что по имени https://hostname.domain/something ловлю 404 not found
𝚔𝚟𝚊𝚙𝚜
C дашбордом все ок. Не работает ридерект через ingress
Ну у меня ingress предельно простой, eg: apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx name: kubernetes-dashboard-proxy spec: rules: - host: dashboard.example.org http: paths: - backend: serviceName: kubernetes-dashboard-proxy servicePort: 80 tls: - hosts: - dashboard.example.org
𝚔𝚟𝚊𝚙𝚜
Для дашборда не нужен ингресс, прокси стучится напрямую в svc
𝚔𝚟𝚊𝚙𝚜
Vadim
без cni?
угу, нетворк разворачивается статик подом
𝚔𝚟𝚊𝚙𝚜
а какая версия cri-o?
Andrey
Для дашборда не нужен ингресс, прокси стучится напрямую в svc
- —redirection-url=https://kubernetes-dashboard.example.org это что за адрес тогда?
Vadim
а какая версия cri-o?
1.12, но и на 1.11 работало
Vadim
у нас минимальный конфиг создается через podman, правда, может там минимально необходимый CNI ложится
𝚔𝚟𝚊𝚙𝚜
- —redirection-url=https://kubernetes-dashboard.example.org это что за адрес тогда?
это тот url, на который отправит тебя keycloak после удачной авторизации
𝚔𝚟𝚊𝚙𝚜
это адрес твоего прокси
Andrey
это адрес твоего прокси
т.е. сам он сам на себя отправляет?
𝚔𝚟𝚊𝚙𝚜
он передает этот url keycloak, когда перенаправляет на форму авторизации, что бы тот знал куда вернуть пользователя обратно
Andrey
с такой конфигурацией возвращает ошибку при запуске пода
Timur
Ну LINSTOR состоит из двух частей: control-plane и бэкенд с drbd9 в главной роли. Сам control-plane пока что еще сыроват и видимо еще не все успели запилить, к примеру модель прав и шифрование общения контроллера с сателитами - есть только в зародышевом состоянии, т.е. она в принципе есть, но интерфейса к ней нет. Я эту проблему решил шифруя все общение через stunnel запущенный сайдкаром, работает збс! В control-plane бывает случаются непонятные баги лечащиеся рестартом, но в последнее время вроде все пофиксили и стало намного лучше, благо разработчики оч. активно работают с комьюнити и отвечают на любой присланный им issue. А в случае чего весь control-plane можно полностю выпилить на время, все что работало - продолжит работать. По бэкендам - их может быть несколько: LVM, thinLVM и ZFS. Мы юзаем LVM и thinLVM. (второй поддерживает снапшоты), для репликации используется DRBD9. С ним проблем почти нет, за исключением того, что прежде чем его в серьез использовать, нужно сначала потюнить его под вашу сеть, а так же настроить кворум или выставить политики разрешения split-brain, все это можно выставить в качестве глобальных параметров в linstor. Кстати drbd9 также поддерживает RDMA. Еще мне не нравится старый flexvolume драйвер, но благо его сейчас переписали на нормальный CSI. К сожалению все созданные старым провижионером тома, по прежнему продолжают использовать старый flexvolume драйвер, я пока не придумал как это решить. Так же советую использовать нормальную бд, например Postgress, вместо встроенной H2. Это не критично, но по мне с постгрессом работать куда приятнее и удобнее чем с H2, ну и бэкапить конфигурацию можно в SQL/
а я правильно понимаю, что могу из существующих трех серверов с живыми данными, собрать linstor ? На сколько я помню надо дополнительно сделать разделы для метаданных только
𝚔𝚟𝚊𝚙𝚜
[error] the cookie is set to secure but your redirection url is non-tls
нужно либо https, либо отключить SecureCookie у keycloak-gatekeeper
Timur
Что такое живые данные?
файлы, директории :) Понятно, что надо будет отмаунтить
𝚔𝚟𝚊𝚙𝚜
ну линстору бэкенд нужен какой-нибудь - это может быть lvm, zfs или thinlvm, если у вас есть свободное место в lvm на нодах, то можно, да
Andrey
нужно либо https, либо отключить SecureCookie у keycloak-gatekeeper
Меня перенаправляет на страницу https://kubernetes-dashboard.kube-system.svc.cluster.local но так как у меня dns сервер про этот адрес ничего не знает я ловлю ошибку о его не доступности
Rainbow
нужно либо https, либо отключить SecureCookie у keycloak-gatekeeper
я вот не нашел как отключить, по коду прошелся. подумал что зашито. Ни env, ни аргументов
Lucky SB
спасибо!
плюс вот это https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/
𝚔𝚟𝚊𝚙𝚜
первое знакомство с CRI-O
𝚔𝚟𝚊𝚙𝚜
Vadim
lol, а почему runp не сработал?
𝚔𝚟𝚊𝚙𝚜
вот это хороший вопрос
Михаил
Vadim
посмотри можешь ли ты вообще поды запускать, пусть и с хостневорком
Vadim
вдруг у тебя pause_image сломан, к примеру
Vadim
сандбокс-то он создал
𝚔𝚟𝚊𝚙𝚜
такое ощущение что crictl и kubelet в разные cri смотрят, что странно, т.к. на машине установлен только cri-o
Yaroslav
если кто эксплуатировал хелмовский stable/postgresql , подскажите, как там выполняется файловер мастера ?
Nikolay
Кстати, а есть какая-то сравнительная статья про докер, крио и контейнерд?
Anonymous
А кто-то заландо оператор или любой другой для постгреса использует ? У вас тоже база в 2 раза медленнее работает по сравнению с ванильным постгресом ? Zalando-Оператор: tps = 326.657845 (including connections establishing) Ванильный Постгрес: tps = 491.466615 (including connections establishing)
Yurii
привет знатокам. Такой вопрос, имеется кластер на aws eks. Приложениям внутри нужен доступ к s3 бакетам. Как можно организовать доступ через полиси? есть ли какой либо метод. Заставить следовать iam политикам запросы от приложений? может есть надстойка для кубера?
Vadim
https://habr.com/ru/company/flant/blog/443458/
Vadim
не знаю чего флантовцы не форвардят свои статьи сюда, они довольно хорошие
Михаил
https://habr.com/ru/company/flant/blog/443458/
@zuzzas тебе респекты передают
Михаил
не знаю чего флантовцы не форвардят свои статьи сюда, они довольно хорошие
Потому что предыдущие их творения вызывали у меня много вопросов)
Vadim
не single pain of glass и то спасибо
𝚔𝚟𝚊𝚙𝚜
посмотри можешь ли ты вообще поды запускать, пусть и с хостневорком
Не, не могу, похоже какой-то специфичный для Ubuntu баг DEBU[...] Running conmon under slice and unitName crio-conmon-fc14...007.scope WARN[...] Failed to add conmon to systemd sandbox cgroup: Invalid unit name ''
Михаил
А что за убунту?
𝚔𝚟𝚊𝚙𝚜
bionic
Andrey
Кто настраивал правила ingress с path: /*?
Andor
Никто
Andrey
https://habr.com/ru/company/flant/blog/443458/
Спасибо! Я собираю кейсы и пишем. Я сюда стесняюсь кидать, потому что пиар как-то невежливый получается.
Vadim
Спасибо! Я собираю кейсы и пишем. Я сюда стесняюсь кидать, потому что пиар как-то невежливый получается.
тут грань тонкая конечно, но если вежливо и не 3 раза в день, то я бы почитал с удовольствием
Anonymous
Good
Oleg
Никто
Эт шуточка или ответ на пустой вопрос?
Andor
Да
Oleg
Надмозг
Vadim
голосования тут не любят, пишите что сломалось
Rainbow
Кто настраивал правила ingress с path: /*?
Убери * и все заработает. Ну надо ж ответить
Andrey
Убери * и все заработает. Ну надо ж ответить
Она работает, но не так как нужно. Нужно чтобы ingress перенаправлял на под, не смотря на то что идет после "/"