Цель: создать общий манифест для существующего развертывания и удалить отдельные детали кластера. Разверните этот манифест в другом кластере.
Прогресс:
kubectl get deployment <DEPLOYMENT_NAME> -n <NAMESPACE> -o yaml
Создает файл развертывания, но он содержит все виды информации, которая отличается от этого кластера/экземпляра и должна быть удалена. Например:
lastTransitionTime: 2019-03-20T23:38:42Z
lastUpdateTime: 2019-03-20T23:39:13Z
uid: 53444c69-acac-11e8-b870-0af323746f0a
resourceVersion: "97102711"
creationTimestamp: 2018-08-30T23:27:56Z
... Просто назвать несколько.
Есть ли возможность удалить эти поля взамен или простой способ получить только минимальные определения для репликации объекта в другом кластере?
По предложению @Matthew L Daniel kubectl get deployment <DEPLOYMENT_NAME> -n <NAMESPACE> -o yaml --export=true
выполнит эту работу.
Вы также можете найти полезные трюки kubectl здесь и здесь. Дополнительную полную ссылку на kubectl можно найти здесь.
При получении сервиса это раздели: createTimestamp, namespace, resourceVersion, uid, clusterIP. Думаю, я не согласен с удалением пространства имен, но я могу легко добавить его снова. Кто определяет resourceVersion?
Я считаю, что сервер API определяет resourceVersion, подробнее здесь
Хотя это не поможет вам полностью, знаете ли вы о
kubectl get --export=true deployment etcetc
?