172 похожих чатов

Привет всем! Я столкнулась с ситуацией в Kubernetes: представьте, что другой

пользователь создает снапшот своего состояния Kubernetes с помощью инструментов, наподобие microk8s dbctl. Этот снимок включает поды, настроенные на работу на конкретных узлах - узлах этого пользователя.
Теперь, когда я пытаюсь восстановить эту резервную копию на своем узле с помощью команды, например, microk8s dbctl restore backup-2023-11-06.tar.gz, все восстановленные поды продолжают пытаться запуститься на узлах, указанных в снимке.
Моя цель - изменить это поведение так, чтобы при восстановлении поды назначались и работали на моих узлах, а не тех, что были указаны при создании резервной копии. И важно, что это должно происходить без редактирования YAML-файлов или других конфигураций.
Есть ли у кого-нибудь идеи, подходы или возможные инструменты, которые помогут в этой ситуации? Мне бы хотелось найти решение, которое было бы максимально доступно для конечного пользователя, не требовало бы детального знания о конфигурации YAML или настройках узлов и дало бы больше контроля над процессом восстановления.
Заранее большое спасибо за любые советы и предложения!

28 ответов

103 просмотра

Если это тестовое - шлите их нахер)

Вы некорректно используете куб в данном случае. Все предложенные варианты будут разной степени сложности костылями. Вам шаблонизатор нужен, в котором можно будет указать набор узлов, где должны работать поды.

Anna- Автор вопроса
Alexander
Вы некорректно используете куб в данном случае. Вс...

Я понимаю, а если узлов очень много? Нужно же сделать так, чтобы пользователь сам смог ноду указать, без вмешательства в конфигурацию

Какая священная информация у вас хранится в дампе, от которой нельзя отказаться в пользу сетапа "чистого" кластера?

Anna- Автор вопроса
Serhii Sergey
Какая священная информация у вас хранится в дампе,...

Различные пользователи создают различные поды с уникальными данными и настройками. Восстановление с "чистого" кластера не воспроизведет эти уникальные настройки. Моя задача - помочь пользователям восстановить их поды на своих узлах так, как они были задамплены, чтобы они могли продолжить работать без необходимости вручную изменять конфигурации или настройки

Anna- Автор вопроса
Марат Рахимов
вам не нужен кубер

Но этого требует бизнес, моя задача лишь развернуть)))

Товарищ ниже правильно сказал - вы хотите странного

шо за наркомания

Alex Domoradov
шо за наркомания

ничего необычного, просто xyproblem?

Anna
Но этого требует бизнес, моя задача лишь развернут...

не может бизнес требовать того, чего не знает. Кто-то бизнесу сказал, что так можно, если вы, то вы ошиблись. Вернитесь к началу и продумайте все еще раз

Anna
Я понимаю, а если узлов очень много? Нужно же сдел...

Конфигурация - это yaml с описанием где и что должно быть. Куб управляется через yaml. Просто очень похоже, что или задача неправильно поставлена/интерпретирована или инструмент неподходящий.

Anna- Автор вопроса
Alexander
Конфигурация - это yaml с описанием где и что долж...

У меня есть снапшоты, сделанный другим пользователем. В этом снимке уже прописано, на каких узлах должны работать приложения (поды). Когда я восстанавливаю такой снимок, поды автоматически хотят работать на тех же узлах, где и был сделан снапшот. Но у меня эти узлы могут быть другими, или их может вовсе не быть. Я хочу найти способ, чтобы при восстановлении снимков можно было быстро и просто изменить узел, на котором будут работать поды. Это нужно, чтобы не делать дополнительных настроек и чтобы пользователям было проще восстанавливать свою систему у себя. Важно, что все это хочется делать без редактирования yaml-файлов конфигурации, потому что это сложно для пользователя и занимает много времени. Есть ли функция или инструмент, который мог бы помочь в моем случае? Извините, если вы меня неправильно поняли)

Anna
У меня есть снапшоты, сделанный другим пользовател...

а в чем проблема если под запустится на другой ноде?

Anna- Автор вопроса
DimaE
а в чем проблема если под запустится на другой нод...

Надо чтобы на локальной пользователя запустился

Anna
Надо чтобы на локальной пользователя запустился

Короче, напишите композ-файл и скажите бизнесу, что это кубер.

Anna
У меня есть снапшоты, сделанный другим пользовател...

Забудьте про снапшоты - это специфика микрок8с, похоже

Anna
У меня есть снапшоты, сделанный другим пользовател...

Я это прочитал :) единственное, что напрашивается - mutation webhook. На запуск этих подов, но опять таки это надо настраивать.

Alexander
Я это прочитал :) единственное, что напрашивается ...

Зачем? Тут речь о хелм-чарте, по сути. Ни одного объяснения необходимости снапшота.

Anna- Автор вопроса
Alexander
Я это прочитал :) единственное, что напрашивается ...

Вроде то что нужно. Ознакомлюсь, спасибо)

Anna
У меня есть снапшоты, сделанный другим пользовател...

А состояние восстановленного пода pending? а что если ему describe сделать? возможно pv был hostpath и он хочет именно эту ноду? вообще чето не то, кубер про запуск нагрузки на любых или желаемых узлах, и от локальных томов толку ноль.

Похожие вопросы

Обсуждают сегодня

Ребят в СИ можно реализовать ООП?
Николай
32
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный  TFilestream  не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
14
добрый день. Подскажите, есть сайт на 1.4.7 и я хочу обновиться, особо ничего не меняя. мне выбирать версию 1.4.35 или третью ветку? и можно ли обновлять "как есть", или нужно...
Digital Cat
12
народ, плиз хелп, всю голову сломал себе уже... разве может быть так, что GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetThreadDescription" ) вернёт ненулевое значение...
Iluha Companets
12
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Кстати, что за тип булеана, который в памяти как 00 для фолса и 01 для тру отображается? Однобайтовый
Serjone
8
ребят подскажите почему матрица не транспонируется? #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> #include <locale.h> #define N 7 int main() { int...
† C E †
1
Карта сайта