fiaas / fiaas-deploy-daemon

fiaas-deploy-daemon is the core component of the FIAAS platform
https://fiaas.github.io/
Apache License 2.0
55 stars 31 forks source link

Deprecation of unsupported kubernetes versions #224

Closed blockjesper closed 8 months ago

blockjesper commented 9 months ago

Problem

The FIAAS Deploy Daemon (FDD) currently supports a wide range of Kubernetes versions, including some that are quite old and no longer maintained by the Kubernetes community, GCP, or AWS. This broad support range is slowing our development process and preventing us from leveraging new and improved APIs available in newer Kubernetes versions. An example is that we could simply bump the API version of the HPA to autoscaling/v2, and easier get support for scaling on metrics, if we don't support unsupported versions of kubernetes.

Proposed Solution

We propose supporting Kubernetes versions that are supported by either of Kubernetes (CNCF), GCP, and AWS continuously.

This will allow us to move forward faster, taking advantage of new Kubernetes features, and improve the overall efficiency of our development process.

Impact

Users who are running earlier versions of Kubernetes would need to upgrade their Kubernetes cluster before installing newer versions of FDD.

Example: If implemented today (2024-01-25), it would mean that versions of kubernetes earlier than 1.24 would be unsupported today, and from 2024-02-01, versions older than 1.25, as this is a rolling schedule.

Next Steps

We understand this change may impact some users, and we're open to discussion on how to make this transition as smooth as possible. Please share your thoughts and concerns in the comments below.

Deprecation Timeline

We plan to implement this change in the next minor release of FDD. We recommend users to update their Kubernetes to a supported version if you want to update to a newer FDD version.

herodes1991 commented 9 months ago

Should we open another issue to clean the code for deprecated versions? i.e: v1beta1 ingress, v1beta1 deployment, v1beta1 CRDs...

oyvindio commented 8 months ago

Nice write up, I think this sounds good 👍

We propose deprecating support for Kubernetes versions that are older than all of those currently supported by Kubernetes (CNCF), GCP, and AWS in FDD. This will allow us to move forward faster, take advantage of new Kubernetes features, and improve the overall efficiency of our development process.

I think it could also be stated that we should strive to continuously support the Kubernetes versions that are supported by Kubernetes upstream, by GCP/GKE and AWS/EKS, and that versions that are no longer supported by these instances are not explicitly supported in fiaas-deploy-daemon either.

oyvindio commented 8 months ago

Should we open another issue to clean the code for deprecated versions? i.e: v1beta1 ingress, v1beta1 deployment, v1beta1 CRDs...

I think that makes sense as well; I created some tickets to track clean up of v1beta1 Ingress (#227) and v1beta1 CustomResourceDefinition APIs (#226). I don't think there are references to extensions/v1beta1 Deployment in fiaas-deploy-daemon, but feel free to create a ticket if I'm missing something there.

blockjesper commented 8 months ago

Should we open another issue to clean the code for deprecated versions? i.e: v1beta1 ingress, v1beta1 deployment, v1beta1 CRDs...

I think that makes sense as well; I created some tickets to track clean up of v1beta1 Ingress (#227) and v1beta1 CustomResourceDefinition APIs (#226). I don't think there are references to extensions/v1beta1 Deployment in fiaas-deploy-daemon, but feel free to create a ticket if I'm missing something there.

I found a reference to Deployment extensions/v1beta1 as well here https://github.com/fiaas/fiaas-deploy-daemon/blob/176c35456f9c01d5e40be4eb3e7e885c09716427/tests/fiaas_deploy_daemon/bootstrap_e2e_expected/v2bootstrap-deployment.yml#L15 so I created a ticket for removing Deployment v1beta1 as well #228 .

blockjesper commented 8 months ago

I think it could also be stated that we should strive to continuously support the Kubernetes versions that are supported by Kubernetes upstream, by GCP/GKE and AWS/EKS, and that versions that are no longer supported by these instances are not explicitly supported in fiaas-deploy-daemon either.

Good idea. I've added it now. 👍

blockjesper commented 8 months ago

Oh, merging the PR closed the issue as well. Not really intended in this case. Comments still welcome 😄

blockjesper commented 8 months ago

I've done the clarification suggestions by @oyvindio mentioning that this is continuously updating the supported versions of Kubernetes.

blockjesper commented 8 months ago

Now it's been a week a nobody against this policy. So this is now official.