We recently finished upgrading a production Airflow instance from 2.8 to 3.1 running on Amazon EKS. The whole thing took about 6 weeks from planning to production cutover.

This post covers what we did, what changed in the DAG code, how we handled the data migration, and the Kubernetes manifests that make up the new deployment. No fluff, just what...