Короткий ответ
это даст вам, что все развернутые объекты принадлежат Istio CRs во всех пространствах имен:
kubectl api-resources | grep -i istio | awk '{print $4}' | while read cr; do
kubectl get $(echo $cr | tr '[:upper:]' '[:lower:]') --all-namespaces
done
Подробности:
CR - это общая терминология k8s и это означает Custom Resource
. И его определение называется CRD: Custom Resource Definition.
Итак, у нас есть две категории ресурсов:
Встроенные ресурсы: Pod, Service, Deployment, Ingress, ReplicaSet, StatefulSet, ...
Пользовательские ресурсы (CR): это зависит от вашей настройки вашего кластера.
- Например, если вы устанавливаете Istio, вы получите CR, например: IstioOperator, ...
- Если вы установите Prometheus-Operator, вы получите CR, например: Alertmanager, PrometheusRule, ...
Теперь, чтобы получить список ресурсов, встроенных или настраиваемых (CR), запустите:
kubectl api-resources | awk '{print $4}'
Отфильтровать их по ресурсам, принадлежащим Istio
kubectl api-resources | grep -i istio | awk '{print $4}'
Теперь, потому что IstioOperator
(например) - это ресурс, вы можете запустить следующее:
kubectl get istiooperator
Проверить, что объекты принадлежат этому CR во всех пространствах имен
kubectl get istiooperator --all-namespaces
Все приведенные выше команды помогут вам построить объект YAML на основе существующих ресурсов. Собственно, это поможет вам в kind: ???
поле
Если вы хотите также получить подходящий apiVersion: ???
, отметьте kubectl api-versions