We found two issues in the current ml-serve setup:
- the Knative's queue proxy image (deployed on all isvc pods) is still running Debian Buster (now EOL), our last upgrade didn't pick up the Bookworm-based image. https://gerrit.wikimedia.org/r/c/operations/deployment-charts/+/1165850 should be deployed to all clusters, and new images should pick up the new queue proxy during the next deployments.
- the mlserve:prod (read-write account) is being used instead of mlserve:ro, so the storage initializer on ml-serve-codfw and ml-serve-eqiad is using the wrong credentials. Staging is fine, so it is a proof that it works fine. We should apply the correct account to all isvcs in production to add extra security (namely, any compromised pod will not be able to modify anything on S3/Swift).
The former patch requires an SRE to merge and deploy it since it is related to admin_ng (it sets the image at the Knative level), but I am not 100% sure if after that an helmfile diff would show anything to deploy for a given isvc. Needs to be tested in staging first.
The latter requires an SRE to make a change in puppet private, and after that helmfile diff should show the right change for all the isvc deployments.
We should couple both these changes and roll them out together to limit the amount of deployments needed.