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
相關文章
相關標籤/搜索