Size: a a a

2021 June 23

PK

Pavel Klyuev in DevOps Moscow
Я пошел по пути Kubernetes Native с созданием CRD и развертыванием оператора внутри
У меня не получается настроить HA для Job — я думал на filesystem s3:// класть, но что-то сыпет ошибками, а в доке 1.3 вообще про filesystem state backend не написано, только про hashmap (inmemory jvm) и rocksdb — вот недопонимание возникло

и еще каждый раз когда я сабмичу джобу у меня поднимается свой jobmanager, так это и задумано? Типо если ничего не исполняется, то и jobmanager не запущен, следовательно и ui нет, и истории запусков не видно или как?
источник

DZ

Dmitriy Zaytsev in DevOps Moscow
Ты путаешь сущности немного. Смотри, стейт бекенд - это уровень хоста. Используй роксдб и не парься об этом. HA там делается на уровне сохранения куда-то снепшотов. Тебе нужны ручки high-availability.storageDir и state.checkpoints.dir. В кубере я флинк не пускал, такшо возможно какой-то специфики не знаю. У меня он под ярном работает.
источник

DZ

Dmitriy Zaytsev in DevOps Moscow
И да, джоб менеджер - это сущность уровня джобы именно. Про историю запусков - да, не видно.
источник

DZ

Dmitriy Zaytsev in DevOps Moscow
Ну хотя должно быть видно на уровне кубера, наверное. А логи ты и так должен куда-то на с3 складывать
источник

PK

Pavel Klyuev in DevOps Moscow
Ранее там zookeeper для этого использовался у них? Или я продолжаю путать?
Судя по доке, я ожидал, что HA Flink самого не нужен нам (см. выше - он просто не стартует если нет задач же)
А нужны HA для Job:
    #high-availability: org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory
   #high-availability.storageDir: s3:///dev-flink-ha/recovery
   #kubernetes.cluster-id: flink-cluster

Пытался вот так добавить, но у меня начало плеваться исключениями - и я решил уточнить, правильно ли я вообще иду.

И savepoints = checkoints судя по всему, да? я так и думал их класть на s3
источник

PK

Pavel Klyuev in DevOps Moscow
Тут ок — понял. Не было понимая, что так и задумано) теперь ок
источник

PK

Pavel Klyuev in DevOps Moscow
Ладно буду дальше курить, по идее я хотел бы HA для Job сделать и чтобы складывалось все на S3 результаты выполнения.
источник

DZ

Dmitriy Zaytsev in DevOps Moscow
Да, раньше зк (и у меня зк). Но зк только как сторадж для ссылки на чекпоинт. Сам чекпоинт уже где-то на с3.
источник

PK

Pavel Klyuev in DevOps Moscow
Раньше тоже так было, просто часто простаивают ресурсы, джобы не всегда катаются — вот решили уехать в кубер для управления ресурсами, чтобы когда нет джобов, вообще ничего не утилизировалось.
выглядит интересно вобщем
источник

DZ

Dmitriy Zaytsev in DevOps Moscow
У меня aws emr, cluster per job, такшо такой проблемы уже нет. Либо кластер работает, либо не нужен.
источник

PK

Pavel Klyuev in DevOps Moscow
А UI вообще нужен в таком паттерне? вы пользуетесь им?
источник

PK

Pavel Klyuev in DevOps Moscow
Мне видится, что просто сабмитим джобы через Kube API и все, к чему UI
источник

DZ

Dmitriy Zaytsev in DevOps Moscow
Ну только для справки какой-то, я вообще не хожу, разработчики конкретных джоб может очень редко чот смотрят
источник

DZ

Dmitriy Zaytsev in DevOps Moscow
Ну вот да, если всё CRDшкой описывается, то мож и не нужен гуй часто. Для отладки только если какой-то.
источник

PK

Pavel Klyuev in DevOps Moscow
я все равно гипотетически сломался - ведь если у меня запустится много job, то и много jobmanager'ов поднимется, надо чтобы и ингрессы для них чтоли создавались еще -  если хотим ui..
источник

DZ

Dmitriy Zaytsev in DevOps Moscow
У меня подобной задачи нет, и флинк не в кубере - хз даж. Если удобно надо - то наверное да, надо как-то ингрессы рисовать. С другой стороны - у тебя же сабмит джобы как-то реализован, как-то этот ямлик генерится - ну добавь генерацию и ингресса в ямлик.
Если редко нужно - то можно как-то объяснить людям делать k port-forward на конкретный сервис и ходить в локалхост к себе.
источник

PK

Pavel Klyuev in DevOps Moscow
источник
2021 June 24

V

Victima in DevOps Moscow
я может не в курсе,  о чем речь в итоге , сабмодули плохое решение, а можно ссылки или что-то подобное, чем так же удобно пользоваться ну и поддерживать тоже))
источник

DS

Dm S in DevOps Moscow
Ну либы же!
Это когда ты тянешь что-то зависимое из другого места, а не хранишь в репе, фиксируешь версию, и менеджищь их подтягивание чем-нибудь сторонним. Ну то есть сабмодули, только ебли чуть больше и придется использовать что-то кроме гита. Но вот когда твой проект вырастет до размеров гугла, ты скажешь спасибо, что тебе посоветовали тут в чатике не использовать сабмодули
источник

V

Victima in DevOps Moscow
покурю на выходных, спасибо в любом случае, советы помогают всегда )
источник