bebebe
https://github.com/kubeflow/experimental-kvc кто нибудь пробовал?
выглядит интересно, если кто-нибудь попробует, пошарьте опыт в чат
bebebe
мне больше из соседнего репозитория понравилось https://github.com/kubeflow/tf-operator
Andor
Кореось про операторы с месяц назад писали
bebebe
https://github.com/kubeflow/tf-operator/blob/master/examples/tf_job/templates/tf_job.yaml мне порой не хватало таких абстракций
Andor
https://github.com/operator-framework/awesome-operators
Eduard
Спасибо
Напиши потом отзыв, пожалуйста, стоит ли вообще трогать
bebebe
Напиши потом отзыв, пожалуйста, стоит ли вообще трогать
Я не уверен что мои руки дойдут до этого в ближайшее время, но постараюсь делегировать. Если будет что то стоящие отпишусь
Yaroslav
Добрый день, товарищи ! Как подсунуть ssh key в качестве env. Использую helm . В папке с template есть файл secrets.yaml который имеет вид: .... (описание секрета ) data: privateKey: {{ .Values.privateKey | b64enc | quote }} publicKey: {{ .Values.publicKey | b64enc | quote }} В файле values.yaml privateKey: значение private key publicKey: значение public key Собственно при запуске приложения который использует env , падает с ошибкой не валидности приватного ключа. Можно ли как нибудь более корректно поднусуть ssh ключ в контейнер ?
Nikita Dwarf
Всем привет,не могли посоветовать литературу по кубику?
Konstantin
Всем привет,не могли посоветовать литературу по кубику?
Глянь в доках группы, хотя там их много
Nikita Dwarf
Ок,спасибо
Nikita Dwarf
Просто думал что есть какие то уже зарекомендованые типа лутца для питона
Yaroslav
возможно с переносами строк что-то не так все зависит от того, как у тебя ключ в Values.yaml записан и как его потом обратно из env декодирует приложение ты пробовал просто в лог его распечатать для дебага?
Тоже думал насчёт переноса , я у приватного ключа секции BEGIN и END обрезал и удалил все переносы и пробелы. Как понимаю это вообще не валидно ? Можно его в какой нибудь другой формат перегнать чтобы он имел вид одной строки без переносов и пробелов ?
Grigorii
не нужно ничего удалять просто кодируй его в b64, а приложение его потом пусть декодирует обратно перед использованием, так все переносы сохранятся
Grigorii
либо не env используй, а монтируй секрет сразу в файл
Grigorii
apiVersion: v1 kind: Secret metadata: name: very-secret type: Opaque data: {{ (.Files.Glob "bar/*").AsSecrets | indent 2 }} в helm вот так удобно секреты создавать если что
Grigorii
кладешь в папку bar два файла — ключ и серт в формате pem
Yaroslav
не нужно ничего удалять просто кодируй его в b64, а приложение его потом пусть декодирует обратно перед использованием, так все переносы сохранятся
Вот с декодированием внутри приложения проблема , так как нету доступа к коду который подтягивает env. А потом в контейнере эти файлы где будут лежать ? в папке.ssh ? Просто у меня в приложение есть возможность использовать локальные настройки ssh.
Grigorii
туда куда ты примонтируешь секрет
Grigorii
можно куда хочешь
Yaroslav
туда куда ты примонтируешь секрет
Ок понял , спасибо , сейчас почитаю и попробую сделать)
Grigorii
кстати да)
Anonymous
Ребята, всем доброго времени суток! ПОдскажите, пожалуйста, куда копать и что почитать, чтобы добиться следующего сценария: Есть кластер k8s на гугле (GKE). Нужно создать деплоймент приложения с двумя инстансами приложения - active и standby (warm standby то бишь). Надо реализовать следующий сценарий: в случае фейла активного инстанса, нужно послать определенный REST на standby-инстанс, сделать его тем самым active, и тем временем перезапускать уже зафейленый инстанс и после запуска - пометить его как standby. Кто подскажет, в сторону чего стоит посмотреть для реализации подобного сценария?
Anonymous
StackOverflow подсказывает смотреть на readiness probe, но это не решает проблему с отправкой REST-запроса в standby-инстанс.
Etki
я сейчас выступлю с самым неприятным вопросом, но зачем вообще разделение приложения на активное/стэндбай?
Anonymous
я сейчас выступлю с самым неприятным вопросом, но зачем вообще разделение приложения на активное/стэндбай?
Увы, но таковы условия - в один момент времени может быть только одно активное приложение. К сожалению, тут ничего с этим не поделаешь.
Anonymous
Я бы и мог только один инстанс его, конечно, крутить, и уповать на авторестарт - но это, если я правильно понимаю, времени отнимет больше, нежели свитч на standby?
Etki
Это зависит от времени старта вашего приложения. Но вообще в схеме с переключалкой больше возможностей для проблем.
Anonymous
Средней тяжести, но даунтайм даже меньше чем в 10 секунд может быть проблематичным.
Etki
У меня до сех пор не было времени посмотреть, что такое оператор, возможно это как раз ваш случай. Если это не совсем то, то в любом случае вы можете напсиать микроприложение, которое будет делать то же самое, и там скорее всего получится уложиться в меньшее время.
Anonymous
Окей, будем копать в операторы - спасибо за совет!
Anonymous
Если бы вы делали это без куба, то как? Мне на ум приходит держать прослойку-прокси через которую будут идти запросы и она умеет делать нужные вам вещи
Такая мысль, конечно же, пришла так же - но в первую очередь хотелось поискать более «штатные» методы :)
bebebe
а у вас там рук?
Нет конечно.
Ilya
ребят, такой вопрос, допустим , есть пользователь созданный в namespace "dev", он авторизовался по токену в дашборде, почему он видит и может работать в других namespace ?
Sergey
уровень прав?)
CrusaderX
Rbac точно включен?
Ilya
я кажется сам лоханулся
Ilya
щас гляну
Denis
1.10
Нужно смотреть в сторону rbac
bebebe
11 петабайт рав или с каким-то уже RF?
вам еще интересны подробности?
Maksim
читай доку по панели-)
bebebe
https://www.katacoda.com/courses/kubernetes
bebebe
мопед не мой
Anatolii
Подскажите, как соединить выделенный IP на хосте с сервисом кластера Kubernetes (mimikube)? Я хочу чтобы пример деплоя WordPress https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/ был доступен в интернете с других компьютеров.
Grigorii
а где куб развернут? самый простой способ — сервис вида externalIP
Grigorii
я имею в виду облачный провайдер или у себя? потому что в облаке можно LoadBalancer замутить а так да, попробуй externalIP
Anatolii
я имею в виду облачный провайдер или у себя? потому что в облаке можно LoadBalancer замутить а так да, попробуй externalIP
Я хочу уточнить правильно ли я все делаю.... Мой выделенный IP 178.54.220.175, комп находится в локальеной сети по адресу 192.168.1.10, сервис с Вордпрессом на 192.168.99.100:30375. Я прописываю в роутере сопоставление портов на адрес моей машины с кубом 192.168.1.10:30375, наверно я что-то делаю не так?
Grigorii
а сервис как выглядит у тебя? выделенный ip на хосте с кубом или нет?
Anatolii
Выделенный IP у меня не напрямую заходит в хост, а только до роутера, а в роутере нужно прописать с какой машиной соединять. Если я вас правильно понял....
Andor
зацените грязный хак livenessProbe: httpGet: path: /status port: 5555 # Restart container every 24 hours initialDelaySeconds: 86400 timeoutSeconds: 5
Anatolii
Выделенный IP у меня не напрямую заходит в хост, а только до роутера, а в роутере нужно прописать с какой машиной соединять. Если я вас правильно понял....
Сейчас вот так выглядит сервис: apiVersion: v1 kind: Service metadata: name: wordpress labels: app: wordpress spec: ports: - port: 80 selector: app: wordpress tier: frontend type: LoadBalancer —-
Grigorii
Сейчас вот так выглядит сервис: apiVersion: v1 kind: Service metadata: name: wordpress labels: app: wordpress spec: ports: - port: 80 selector: app: wordpress tier: frontend type: LoadBalancer —-
если у тебя не cloud provider, то создавай не лоад балансер а NodePort, либо ExternalIP указыв твой выделенный IP. Тогда тебе нужно будет в роутере прописать route так чтобы он внешний IP вел на эту машину
Sergey
вам еще интересны подробности?
подробности всегода интересны
bebebe
подробности всегода интересны
дословно от инженера: rf-3 , диски свежие, дисков 10, дефолтная, скраб -збс эти ответы в том порядке в котором вы задавали вопросы
bebebe
2.6 pt занято из 9.2, 190 osd
Sergey
скраб, что там?
bebebe
скраб, что там?
Инженер говорит что есть. За подробностями в ЛС
Oleg
Всем привет. Только начинаю разбираться с кубом. Подскажите, можно ли в конфигмапе указывать значение на секретную переменную ? И в деплойменте указать env соответсвенно
Andor
нет
Stanislav
А зачем если есть секреты?
Stanislav
Можно пихать конфиг туда на крайняк
Oleg
хм..просто не совсем понимаю, как правильно использовать. вот есть у меня приложенька, у нее конфиг 40 строк, среди них есть пароли от баз
Oleg
как правильно тогда это с кубом использовать
Andor
можешь сунуть конфиг целиком в сикрет