16.kubernetes之API资源对象
文章目录1.什么是API Resource1.1.获取所有的API Resouce2.什么是API Version2.1.获取所有的API Version3.API路径3.1.获取所有的API路径4.kind和 请求路径中的Resource的区别1.什么是API Resource大白话就是:deployment,statefulset,service等都可以抽象为k8s的API对象资源。这些都是抽
·
文章目录
1.什么是API Resource
大白话就是:deployment,statefulset,service等都可以抽象为k8s的API对象资源。这些都是抽象出来的概念。
1.1.获取所有的API Resouce
kubectl api-resources
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false
...
2.什么是API Version
k8s在不同的API路径(可以理解为请求web服务的的URL)下面支持了多个版本,不同的版本意味着不同级别的稳定性:
- Alpha 级别:非常不稳定
- Beta 级别:比较稳定
- v1级别:稳定版本
2.1.获取所有的API Version
kubectl api-versions
admissionregistration.k8s.io/v1
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1
...
3.API路径
请求获取一个Etcd里面的API对象,是由Group(API组)
、Version(API版本)
、Resouce(API资源类型)
三部分组成。(可以理解为请求web服务的的URL,/api是一个组,/apis又是一个组)
类型 | 描述 | 路径 |
---|---|---|
核心组API | 比如node,pod,service | 比如:/api/v1 |
指定组API | 比如deployment,cronjob | 比如:/api/batch/v1 |
系统组API | 比如metries,health | 比如:/metries |
3.1.获取所有的API路径
# 获取所有的API路径
kubectl get --raw /
{
"paths": [
"/api",
"/api/v1",
"/apis",
...
"/healthz/poststarthook/apiservice-openapi-controller"
]
}
# 获取路径下面的所有的API对象
kubectl get --raw /apis/batch/v1 | python -m json.tool
{
"apiVersion": "v1",
"groupVersion": "batch/v1",
"kind": "APIResourceList",
"resources": [
{
"categories": [
"all"
],
"kind": "Job",
"name": "jobs",
"namespaced": true,
"singularName": "",
"storageVersionHash": "mudhfqk/qZY=",
"verbs": [
"create",
"delete",
"deletecollection",
"get",
"list",
"patch",
"update",
"watch"
]
},
{
"kind": "Job",
"name": "jobs/status",
"namespaced": true,
"singularName": "",
"verbs": [
"get",
"patch",
"update"
]
}
]
}
4.kind和 请求路径中的Resource的区别
Resource指的是HTTP Restful API请求路径中的资源,而kind对应的是系统中真正的实例
如果我们创建一个job对象,我们的YAML文件的声明需要这样写
apiVersion: batch/v1
kind: Job
metadata:
name: demo
namespace: default
.......
batch就是组(Group)
:可以理解为一组URL的集合
v1
:就是API版本
kind
:API 对象的类型,而资源Resource
通常为kind的小写复数词
总结:API Group、Version、和 Kind就定义了一个HTTP路径,然后在kub-apiserver
对这个URL进行了监听,然后把这个请求交给对应的控制器进行处理
更多推荐
已为社区贡献11条内容
所有评论(0)