#kubernetes #kubectl
#kubernetes #kubectl
Вопрос:
Для поддержки эффективных операций просмотра API Kubernetes поддерживает параметры resourceVersion
и resourceVersionMatch
, как показано в документации API . Однако я не понимаю, как вы можете это сделать kubectl
. Возможно, я что-то здесь упускаю, но я бы ожидал, что будет что-то вроде kubectl get jobs -n mynamespace -w -resourceVersion=24234
запуска просмотра с заданной версией ресурса. Согласно документам API, это эффективный способ выполнения операции просмотра. Но, похоже, я ничего не могу найти в документах kubectl. Может кто-нибудь, пожалуйста, объяснить kubectl
, почему не поддерживает версии ресурсов или как это сделать kubectl
?
Комментарии:
1. Вы хотите (и знаете) конкретную историческую версию или просто хотите начать просмотр с настоящего (
kubectl get deployment -w
например, для просмотра прогресса развертывания)?2. @DavidMaze Во всех документах API, которые я прочитал, говорится об использовании версии ресурса при использовании REST API. Наверное, мне интересно
kubectl
, почему не предоставляется параметр версии ресурса, если это «самый эффективный» способ выполнения просмотра. В идеале у меня была бы версия ресурса, и я мог бы получать все события, которые произошли с этой версии. В конечном итоге я пишу программу, которая делает это с помощью REST API, но я хотел посмотреть, смогу ли я сделать то же самоеkubectl
.3.Вы видели, что в этих документах
resourceVersion: tracks the persisted version of the object
, на которые вы ссылаетесь, используется тот же resourceVersion? Если вы будете редактировать какие-либо ресурсы, например deployment, они также изменяют resourceVersion. Не могли бы вы уточнить?4. Как насчет
kubectl get --raw
того, чтобы, напримерkubectl get --raw /api/v1/namespaces/default/pods?fieldSelector=metadata.name=test-8656bc94b4-ssnkmamp;resourceVersion=4521069amp;watch=true
, это сработало бы для вас, или вам нужно что-то большее?5. resourceVersion помогает обнаруживать изменения конфигурации объекта в определенном кластере. Это помогает только определить, изменился ли определенный объект с момента предыдущей проверки, когда значение resourceVersion было просмотрено и сохранено для будущего сравнения. Он не изменяется постепенно, и я бы не стал полагаться на то, что он сравнивает объекты в разных кластерах или использует его в качестве средства отслеживания версий.
kubectl replace
команда требует, чтобы значение resourceVersion оставалось неизменным для отредактированного YAML и для объекта в кластере, который должен быть заменен.