Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Report on deprecated API usage #12

Open
bryantbiggs opened this issue Feb 7, 2023 · 1 comment
Open

Report on deprecated API usage #12

bryantbiggs opened this issue Feb 7, 2023 · 1 comment
Labels
check feature-request Request for a new feature

Comments

@bryantbiggs
Copy link
Member

bryantbiggs commented Feb 7, 2023

Use case

Detecting and reporting on deprecated/removed Kubernetes API versions is one of the largest concerns of upgrading Kubernetes clusters. While users may be aware of what APIs are deprecated or removed, identifying if any of those APIs are in use in the cluster is a much more challenging task.

Solution/User Experience

Use the apiserve_requested_deprecated_apis metric to detect usage of deprecated APIs
- https://kubernetes.io/blog/2020/09/03/warnings/
- https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1693-warnings
- kube-rs/kube#492 for implementation

Alternative solutions

  • For now, pluto or kubent are recommended to check for deprecated APIs
    • Add section on how those tools work, what to watch out for (asking the API Server is not trustworthy, scanning manifests directly is the most accurate)
    • https://github.com/clowdhaus/r8s#r8s
@bryantbiggs bryantbiggs added feature-request Request for a new feature check labels Feb 7, 2023
@bryantbiggs bryantbiggs moved this to Todo in eksup Feb 14, 2023
@bryantbiggs
Copy link
Member Author

In addition to the tools listed above, and the apiserve_requested_deprecated_apis metric, eksup should provide the ability to identify API calls made using a deprecated/removed API from the API server logs stored in CloudWatch

The results then would be composed of 3 parts

  1. Results from the last applied config
  2. Results from apiserve_requested_deprecated_apis metrics
  3. Results from API server cloudwatch logs (will have to determine how far back to search - 30 days, 60 days, configurable?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
check feature-request Request for a new feature
Projects
Status: Todo
Development

No branches or pull requests

1 participant