You are tasked with deploying an internet-facing application on Google Kubernetes Engine (GKE). The application needs to perform real-time user data processing and should allow rolling out new versions with minimal user disruption. You also want to implement canary releases to validate the new version with a small percentage of users before a full rollout. The deployment must satisfy the following requirements: No downtime during version updates. Minimal impact on the majority of users when testing new versions. Easy rollback if the new version has issues. What should you do?