That’s pretty much what I do on the kubernetes installs that I’ve done. I can’t imagine how or why to use k8s without separate data and web containers (or some other kind of external postgres and redis–the installs I’ve done for clients use GCP resources for that).
Also, there is an environment variable skip_post_migration_updates that you need to understand for true zero downtime upgrades. It’s described here.