我对下面的响应感到困惑。
"apiVersion": "v1",
的含义是什么???
我希望apiVersion
是v1beta1
。
$ curl http://127.0.0.1:8080/apis/batch/v1beta1
{
"kind": "APIResourceList",
"apiVersion": "v1",
"groupVersion": "batch/v1beta1",
"resources": [
{
"name": "cronjobs",
"singularName": "",
"namespaced": true,
"kind": "CronJob",
"verbs": [
"create",
"delete",
"deletecollection",
"get",
"list",
"patch",
"update",
"watch"
],
"shortNames": [
"cj"
],
"categories": [
"all"
],
"storageVersionHash": "h/JlFAZkyyY="
},
{
"name": "cronjobs/status",
"singularName": "",
"namespaced": true,
"kind": "CronJob",
"verbs": [
"get",
"patch",
"update"
]
}
]
}controlplane $
K8s API的模块化结构,允许版本控制和分组。您可以在以下页面上找到有关的更多信息:
- https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
- https://kubernetes.io/docs/reference/using-api/#api-组
- https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
- https://matthewpalmer.net/kubernetes-app-developer/articles/kubernetes-apiversion-definition-guide.html
您被输出格式弄糊涂了。实际输出为metav1.APIResourceList
:
// APIResourceList is a list of APIResource, it is used to expose the name of the
// resources supported in a specific group and version, and if the resource
// is namespaced.
type APIResourceList struct {
TypeMeta `json:",inline"`
// groupVersion is the group and version this APIResourceList is for.
GroupVersion string `json:"groupVersion" protobuf:"bytes,1,opt,name=groupVersion"`
// resources contains the name of the resources and if they are namespaced.
APIResources []APIResource `json:"resources" protobuf:"bytes,2,rep,name=resources"`
}
示例中:
"kind": "APIResourceList",
"apiVersion": "v1",
是APIResourceList.TypeMeta
,它说APIResourceList
属于v1
版本。后一部分,即:
"groupVersion": "batch/v1beta1",
"resources": [
...
表示相应的资源属于组版本CCD_ 8。
希望现在更清楚。