Как отметил @coderanger в своем ответе, прямого способа сделать копию исходных ресурсов k8s в отдельном пространстве имен нет.
Как было предложено, когда вы вызываете команду kubectl get all
, k8s просматривает каталог ресурсов, ограниченный категорией all . Поэтому, если вы не добавили эту категорию для каждого пользовательского объекта CRD во всей определенной группе API , вы, возможно, можете пропустить некоторые соответствующие ресурсы k8s в командевыход.
Кроме того, если вы хотите экспортировать все ресурсы k8s из определенного пространства имен, кроме пользователя рабочих нагрузок , я бы рекомендовал изучить ресурсов API ,отфильтровываем только объекты области имен, а затем применяем обработку bash для генерации файлов манифеста для каждой группы ресурсов:
kubectl api-resources --namespaced=true| awk '{print $1}'| sed '1d'| while read -r line; do echo "$(kubectl get $line -n namespace -o yaml > $line.yaml)"; done
Вы также можете рассмотреть возможность использования Helm (как указал @David Maze вкомментарий), чтобы управлять пользовательскими рабочими нагрузками через Helm Charts , как более гибкий и структурированный способ описания собственных ресурсов k8s.