We have some of our API services running on Google Kubernetes Engine, and from time to time we need to make some maintenance, so we want the API service to return 503 together with some configurable message about the downtime.
It would not be a reliable way to make the API service return 503 from the Kubernetes deployments the service links to, as the API pods might need to be taken down/restarted.
One idea I had was to have a specific deployment/pod that we would configure the service to use, and that that service just returns 503 with some information about the Service maintenance. However, this approach would not hold if we would do cluster upgrade, as there might be some time when the deployment/pod also would be unavailable.
So is there some way to do this without having to rely on a deployment/pod? Meaning a configuration that is outside the scope of the specific Kubernetes cluster?