Podman-compose-to-kube: различия между версиями

Материал из ALT Linux Wiki
Строка 9: Строка 9:


=== Экспорт развернутого стека в kubernetes-манифесты ===
=== Экспорт развернутого стека в kubernetes-манифесты ===
==== Копирование локальных образов в rootless окружении ====
В rootless-окружении образы, созданные <code>podman-compose</code> хранятся в каталоге <code>/var/lib/u7s-admin/.local/share/containers/storage/</code>. Образы же для kubernetes хранятся в другом каталоге <code>/var/lib/u7s-admin/.local/share/usernetes/containers/storage/</code>. Для образов, загружаемых с регистраторов это несущественно, так как они подгружаются при запуске <code>POD</code>'а. Образы же, созданные локально, как в нашем случае образ <code>localhost/hello-py-aioweb</code> необходимо перенести в <code>container-storage</code> для kubernetes-образов командой <code>skopeo</code>:
<pre># skopeo copy \
  containers-storage:[/var/lib/u7s-admin/.local/share/containers/storage/]localhost/hello-py-aioweb \
  containers-storage:[/var/lib/u7s-admin/.local/share/usernetes/containers/storage/]localhost/hello-py-aioweb
</pre>
и изменить собственника перенесенного образа с <code>root</code> на <code>u7s-admin</code>:
<pre># chown -R u7s-admin:u7s-admin /var/lib/u7s-admin/.local/share/usernetes/containers/storage/</pre>


=== Корректировка kubernetes-манифестов ===
=== Корректировка kubernetes-манифестов ===


=== Запуск манифестов в kubernetes ===
=== Запуск манифестов в kubernetes ===

Версия от 12:18, 16 января 2024

podman-compose как средство миграция docker-compose решений в kubernetes

Одной из основных проблем миграции docker-compose (docker swarm) решений в kubernetes является (полу)автоматическия генерация kubernetes-манифестов из YAML-файлов описания стека сервисов. Существует достаточно бедный набор инструментов, решающий данную проблему. Данный документ описывает решение данной проблемы путем использования команды podman-compose. В качестве примера разворачивания стека будет использоваться docker-compose стек hello-python проекта podman-compose.

Разворачивание docker-compose стека в podman-compose

Экспорт развернутого стека в kubernetes-манифесты

Копирование локальных образов в rootless окружении

В rootless-окружении образы, созданные podman-compose хранятся в каталоге /var/lib/u7s-admin/.local/share/containers/storage/. Образы же для kubernetes хранятся в другом каталоге /var/lib/u7s-admin/.local/share/usernetes/containers/storage/. Для образов, загружаемых с регистраторов это несущественно, так как они подгружаются при запуске POD'а. Образы же, созданные локально, как в нашем случае образ localhost/hello-py-aioweb необходимо перенести в container-storage для kubernetes-образов командой skopeo:

# skopeo copy \
  containers-storage:[/var/lib/u7s-admin/.local/share/containers/storage/]localhost/hello-py-aioweb \ 
  containers-storage:[/var/lib/u7s-admin/.local/share/usernetes/containers/storage/]localhost/hello-py-aioweb

и изменить собственника перенесенного образа с root на u7s-admin:

# chown -R u7s-admin:u7s-admin /var/lib/u7s-admin/.local/share/usernetes/containers/storage/

Корректировка kubernetes-манифестов

Запуск манифестов в kubernetes