𝚔𝚟𝚊𝚙𝚜
Шарить один раздел на всех затея опасная
если очень хочется, то можно :) mount -o bind /data/myvolume /data/myvolume
𝚔𝚟𝚊𝚙𝚜
ну или так: fallocate -l 10G ./myvolume.img mkfs.ext4 ./myvolume.img mount -o loop ./myvolume.img /data/myvolume cat /proc/mounts | grep /data/myvolume >> /etc/fstab
𝚔𝚟𝚊𝚙𝚜
@ghst0 можно без lvm
Andor
При живом лвм делать вот это вот
𝚔𝚟𝚊𝚙𝚜
не, ну если есть lvm... но насколько помню, у DO там один раздел, целиком в ext4
Vadim
там кастом имаджи теперь заливать можно
𝚔𝚟𝚊𝚙𝚜
круто, давно запилили?
Vadim
пару месяцев назад может
𝚔𝚟𝚊𝚙𝚜
И на лупдевайсе запилить lvm, ееее!
еще можно его на glusterfs разместить :)
𝚔𝚟𝚊𝚙𝚜
затем смаунтить на всех нодах, и настроить clvm
bebebe
а gluster поверх btrfs и все это в /dev/ram замаунтить
𝚔𝚟𝚊𝚙𝚜
и лайфмиграция работать будет
Никита
И оверхед от докера пропадёт.
Yaros
кто-то работает с терраформом? можете поделиться опытом и рекомендуете ли использовать?
Tadeusz
Смотря для чего же
Anton
Кстати, flexvolume умеет сам пилить volumes из lvm, скриптами) кто нить эксплуатирует такой вариант?
Anton
Создавать и маунтить
Anton
И выдавать как pv
𝚔𝚟𝚊𝚙𝚜
Ну создавать он и не должен, т.к. это задача provisioner
𝚔𝚟𝚊𝚙𝚜
Ну туда можно разную логику заложить, на то он и flexvolume. По логике куба он не должен ничего создавать, кроме fs. т.к по хорошему этой задачей должен занимается provisioner
𝚔𝚟𝚊𝚙𝚜
Если вы определяете PV вручную - это не есть хорошо, потому что когда PV создан в API, вы не можете быть на 100% уверены, что он создастся при запуске, что хватит места и т.п.
Anton
Поды в кластере частично не могут пинговать друг друга. Ноды все пингуются между собой. calicoctl node status показывает везде up со всеми нодами. В логах calico подов нет ошибок. Что еще проверить?
gh
@ghst0 можно без lvm
не хотелось бы ставить кастом имиджи на ДО, метод с fallocate нормальный ? или лучше уж тогда папки туда сюда маунтить простые ?
gh
нормальный метод, на sharedfs так и делают
хорошо, а если закончится место в имидже, его без боли можно ресайзнуть ? не хотелось бы потерять данные
𝚔𝚟𝚊𝚙𝚜
ну или через qemu-img, как больше нравится
gh
также fallocat'ом задаешь новый размер, заетм resize2fs
хорошо, значит, если я правильно понял, я создаю 50 таких имиджей на каждой из 3 нод, пробрасываю в папку, где их видит local-volume сторадж кубернетовский, и он их подхватывает ? и в конце концов все это дело еще надо добавлять в /etc/fstab чтобы после рестарта это замаунтилось заного, правильно ?
𝚔𝚟𝚊𝚙𝚜
да, только что за система у вас? количество таких loopdevices может быть ограниченно. В новых версиях ядра они выделяются динамически через /dev/loop-control, но в некоторых случаях потребуется настроить вручную через kernel cmdline https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sec-configuring_the_loopback_device_limit
𝚔𝚟𝚊𝚙𝚜
у нас убунту 16.04 дефный 64 битный образ который на DO
тогда скорее всего ничего не нужно больше делать
gh
может я, это... на амазон пойду ? 😕
gh
тогда скорее всего ничего не нужно больше делать
а есть разница если я просто так буду делать чем фаллокейтом ? mount --bind /opt/volumes/vol1 /mnt/fast-disks/vol1
gh
просто буду маунтить директории в ту папку которую будет мониторить кубернетес
gh
в чем разница с фаллокейтом и так ?
bebebe
может я, это... на амазон пойду ? 😕
На Амазон не ходи. На gcp ходи. А то снег прод попадет. Совсем мертвый будешь
Артем
Добрый день, кто нибудь может подсказать статью настройки deploy с gitlab registry в kubernetes?
𝚔𝚟𝚊𝚙𝚜
в чем разница с фаллокейтом и так ?
с фаллокейтом ты создаешь виртуальные волумы, без файллокэйта ты будешь испльзовать rootfs
𝚔𝚟𝚊𝚙𝚜
ну и я бы выяснил как именно provisioner полчищает такие волумы :) > Deleter: The deleter routine is invoked by the Informer when a PV phase changes. If the phase is Released, then it cleans up the volume and deletes the PV API object.
𝚔𝚟𝚊𝚙𝚜
то есть как бы он rootfs не затер бы)
Kirill
ну вот в тикете написано что работает
А как сгененировать secret из env file? я сделал как в том примере в итоге у меня в контейнер прокинулось: .env: "WTF1=asdasd WTF2=asdsad"
Kirill
А хочу чтобы в secrets.yml было: data: WTF1: asdsd WTF2: asdasd
Andor
я хз что это за env file у тебя
Kirill
ну обычный вывод printenv
Andor
что такое printenv?
Andor
знаю просто env
Andor
знаю set
Kirill
Выводит все переменные в stdout
Slava
cat env_file__with_parameters | envsubst а дальше через пайп в нужное место
Kirill
printenv > .env в раннере у меня
Kirill
в CI*
Andor
у тебя же хельм вроде?
Kirill
cat env_file__with_parameters | envsubst а дальше через пайп в нужное место
Не совсем понятно, чё я в итоге получу?
Andor
при чём тут CI?
Kirill
Из CI берутся env vars
Andor
ты хочешь при каждом деплое пересоздавать сикреты что ли?
Kirill
Да
Andor
что-то у тебя не так в твоём воркфлоу
Slava
Не совсем понятно, чё я в итоге получу?
пример: source env_file cat my_app.yaml | envsubst | kubectl -f -
Slava
чутка не так сначала написал
Andor
у него много сикретов, придётся много писать в my_app.yaml
Kirill
что-то у тебя не так в твоём воркфлоу
Хорошо, можно manual action в CI сделать на recreate secrets, сути не меняет, мне нужно прокинуть KEY1=VALUE1\nKEY2=VALUE2 и не париться с заданием этих переменных в yaml
Kirill
envsubst норм, но надо вручную апдейтить yaml
Kirill
А хочется на автомате
Slava
то есть имена ключей тоже меняются?
Kirill
Да
Slava
ясно, тогда не совсем подходит
Kirill
Точнее добавляются по мере разработки
Kirill
Я тут нашёл {{ range .Files.Lines "configs/backend/php-fpm/.env" }} в helm
Kirill
Но не пойму как разделить KEY1=VALUE1