API 是什么意思批处理/v1beta1 的版本



我对下面的响应感到困惑。

"apiVersion": "v1",的含义是什么???

我希望apiVersionv1beta1

$ 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。

希望现在更清楚。

相关内容

最新更新