Using kubectl api-resources
you are able get a list of all resources inside kubernetes.
Nevertheless, I'd like to know witch controller handles which resources.
For example, I've just installed traefik
and I see some unknown installed resources:
NAME SHORTNAMES APIGROUP NAMESPACED KIND
ingresses ing extensions true Ingress
ingresses ing networking.k8s.io true Ingress
ingressroutes traefik.containo.us true IngressRoute
ingressroutetcps traefik.containo.us true IngressRouteTCP
Why are there two resources with the same name and diferent APIGROUP
?
As the Kubernetes API evolves, APIs are periodically reorganized or upgraded. When APIs evolve, the old API is deprecated and eventually removed.
networking.k8s.io
apigroup was introduced in v1.14.Currently ingress exists in both extensions
and networking.k8s.io
for backward compatibility and to give enough time for ingress controller implementations transition to networking.k8s.io
from extensions
.Ingress will be moved out of extensions
in v1.22.