按API组划分的Kubernetes资源

时间:2018-10-20 12:42:56

标签: kubernetes

有人可以解释为什么其中一些资源同时存在于应用程序和扩展api-group中。

C02W84XMHTD5:~ iahmad$ kubectl api-resources --api-group=apps
NAME                  SHORTNAMES   APIGROUP   NAMESPACED   KIND
controllerrevisions                apps       true         ControllerRevision
daemonsets            ds           apps       true         DaemonSet
deployments           deploy       apps       true         Deployment
replicasets           rs           apps       true         ReplicaSet
statefulsets          sts          apps       true         StatefulSet
C02W84XMHTD5:~ iahmad$ 
C02W84XMHTD5:~ iahmad$ 
C02W84XMHTD5:~ iahmad$ kubectl api-resources --api-group=extensions
NAME                  SHORTNAMES   APIGROUP     NAMESPACED   KIND
daemonsets            ds           extensions   true         DaemonSet
deployments           deploy       extensions   true         Deployment
ingresses             ing          extensions   true         Ingress
networkpolicies       netpol       extensions   true         NetworkPolicy
podsecuritypolicies   psp          extensions   false        PodSecurityPolicy
replicasets           rs           extensions   true         ReplicaSet

1 个答案:

答案 0 :(得分:2)

这是向后兼容的一部分。通常,功能/资源以extensions的形式引入,当它们在以后的Kubernetes版本上毕业时,它们将成为coreapps或其他API的一部分。请参阅deprecation policy,以了解其相对于Kubernetes版本的工作方式。

如果您想知道一般的规则是这样的,那么从旧到新。

  • extensions通常早于codeapps等。
  • v1alphav1-> v1alphav2-> v1alphavN-> v1betav1-> v1betav2-> v1betavN-> v1core / v1apps / etc-> v2alpha / v2beta / v2core-> vNalpha / vNbeta / vNcore / etc