k8s的api


1、namespaced resourcesapi

所谓的namespaced resources,就是这个resource是从属于某个namespace的, 好比pod, deployment, service都属于namespaced resource.
http://localhost:8080/api/v1/namespaces/default/pods/test-pod
 
能够看出, 该restful api的组织形式是:
api api版本  namespaces 所属的namespace 资源种类 所请求的资源名称
api v1 namespaces default pods test-pod
 
2、non-namespaced resources
http://localhost:8080/apis/rbac.authorization.k8s.io/v1/clusterroles/test-clusterrole
这里能够观察到它clusterrole与pod不一样, apis表示这是一个非核心api. rbac.authorization.k8s.io指代的是api-group, 另外它没有namespaces字段, 其余与namespaced resources相似.再也不赘述.
 
3、non-resource url
这类资源和pod, clusterrole都不一样. 例如
http://localhost:8080/healthz/etcd
这就是用来确认etcd服务是否是健康的.它不属于任何namespace,也不属于任何api版本.
 
总结, k8s的REST API的设计结构为:
[api/apis]/api-group/api-version/namespaces/namespace-name/resource-kind/resource-name
apis/rbac.authorization.k8s.io/v1/namespaces/default/roles/test-role
相关文章
相关标签/搜索