Create ability to restart puma on Kubernetes deployed services
The first iteration to solve this problem was solved in https://gitlab.com/gitlab-com/gl-infra/reliability/-/issues/14987, that resulted in this [Runbook](https://gitlab.com/gitlab-com/runbooks/-/blob/master/docs/kube/k8s-operations.md#rotatingrestarting-a-deployment) [MR](https://gitlab.com/gitlab-com/runbooks/-/merge_requests/5579)
As a second iteration, automating this process is the next natural step.
### Problem Statement
During incident https://gitlab.com/gitlab-com/gl-infra/production/-/issues/5171, it was identified that in order to quickly mitigate the situation, we needed to `HUP` the Puma processes running across our entire infrastructure. Currently this is handled very manually for anything in Kubernetes. Example command:
```
kubect get deploy -n gitlab -l app=webservice | awk '{print $1}' | xargs -I {} kubectl rollout restart -n gitlab deploy {}
```
However, the above, needs to be executed across all clusters, today there are 4 of them, across 2 namespaces, `gitlab` (running the main stage) and `gitlab-cny` (running the Canary stage). And we also need to target two differing labels, `app=webservice` for all client facing services, as well as `app=sidekiq` for all sidekiq deployments.
The above is very error prone, not documented, does a little too much because `NAME` is returned as a result and no such deployment for that exists, and for persons with less experience with Kubernetes, may be uncomfortable.
### Solution
* [ ] Come up with a solution where a similar command is run, NOT from a user workstation
* [ ] Document said solution
### Milestones
* [ ] Solution is agreed upon
* [ ] Solution is built
* [ ] Solution is documented
issue