'How to read Kubent output?

I am using Kubent to diagnose API deprecation before upgrading my Kubernetes cluster. I am having hard time finding information on how to properly read the programs' output.

-----------
>>> Deprecated APIs removed in 1.22 <<<
-----------
KIND                             NAMESPACE         NAME                                       API_VERSION                            REPLACE_WITH (SINCE)
ClusterRoleBinding               <undefined>       kubernetes-dashboard                       rbac.authorization.k8s.io/v1beta1      rbac.authorization.k8s.io/v1 (1.8.0)
CustomResourceDefinition         <undefined>       authorizationpolicies.security.istio.io    apiextensions.k8s.io/v1beta1           apiextensions.k8s.io/v1 (1.16.0)

Notice the Column REPLACE_WITH (SINCE), which created my confusion because k8 is far from 1.8.0 version. Also, the Deprecated APIs... message suggest that those Endpoints enclosed in <<>> will be deprecated in the last release.

So, may you please explain how should this output be interpreted?



Solution 1:[1]

Kube No Trouble (kubent) has a defined set of rules which are used to determine deprecated APIs.

For example, below we can see the rule for ClusterRoleBinding:

    "ClusterRoleBinding": {
        "old": ["rbac.authorization.k8s.io/v1beta1"],
        "new": "rbac.authorization.k8s.io/v1",
        "since": "1.8",
    },

The rbac.authorization.k8s.io/v1beta1 API has been promoted to rbac.authorization.k8s.io/v1 in the v1.8 and this is the reason this specific Kubernetes version is mentioned in the rule above (see: Deprecated API Migration Guide).

Additionally, please note that the rbac.authorization.k8s.io/v1beta1 API version of ClusterRole, ClusterRoleBinding, Role, and RoleBinding is no longer served as of v1.22.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 matt_j