Когда вы говорите об указанном c файле yaml, содержащем определение объекта c kubernetes, вы можете назвать их yaml manifests
или просто yaml definition files
. Использование слова Deployment
для всех из них не очень хорошая идея, поскольку уже указан c тип ресурса, определенный и названный этим именем в kubernetes . Так что лучше не называть их всех deployments
для согласованности.
Я уверен, что есть еще много. Но я не могу найти место, где они перечислены и контексты разбиты.
Да, их намного больше, и вы можете перечислить те, которые доступны, запустив:
kubectl api-resources
Эти разные объекты на самом деле называются api-resources
. Как вы можете видеть, они перечислены в трех столбцах: NAME, SHORTNAMES, APIGROUP, NAMESPACED и KIND
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false ComponentStatus
configmaps cm true ConfigMap
endpoints ep true Endpoints
events ev true Event
limitranges limits true LimitRange
namespaces ns false Namespace
nodes no false Node
Обратите внимание, что имя ресурса соответствует его KIND
, но оно немного отличается. NAME
просто описывает типы ресурсов, так как мы ссылаемся на них, например, используя kubectl command line utility
. Просто в качестве одного примера, когда вы хотите перечислить модули, доступные в вашем кластере, вы просто набираете kubectl get pods
. Вам не нужно использовать вид ресурса, то есть Pod
в этом контексте. Вы можете, но не обязаны. Так что kubectl get Pod
или kubectl get ConfigMap
также вернет желаемый результат. Вы также можете ссылаться на них по их псевдонимам, так что kubectl get daemonsets
и kubectl get ds
эквивалентны.
Это совершенно другое, когда речь идет о конкретном c определении ресурса / объекта. В контексте файла yaml definition
мы должны использовать правильный KIND
ресурса. Они в большинстве случаев начинаются с заглавной буквы и пишутся с помощью co. CamelCase
, но есть исключения из этого правила.
Я действительно рекомендую вам ознакомиться с документацией kubernetes. Он очень удобен для пользователя и хорошо объясняет как ключевые понятия kubernetes, так и все очень мелкие детали.
Здесь у вас есть еще более полезные команды для изучения ресурсов API:
kubectl api-resources --namespaced=true # All namespaced resources
kubectl api-resources --namespaced=false # All non-namespaced resources
kubectl api-resources -o name # All resources with simple output (just the resource name)
kubectl api-resources -o wide # All resources with expanded (aka "wide") output
kubectl api-resources --verbs=list,get # All resources that support the "list" and "get" request verbs
kubectl api-resources --api-group=extensions # All resources in the "extensions" API group
Как уже упоминал @wargre в своем комментарии, официальное документирование kubernetes - определенно лучшее место для начала, поскольку вы найдете там очень подробное описание каждого ресурса.