Isso é praticamente o que faço nas instalações do Kubernetes que realizei. Não consigo imaginar como ou por que usar o k8s sem contêineres separados para dados e web (ou algum outro tipo de PostgreSQL e Redis externos — as instalações que fiz para clientes usam recursos do GCP para isso).
Além disso, há uma variável de ambiente chamada skip_post_migration_updates que você precisa entender para upgrades verdadeiramente sem tempo de inatividade. Ela é descrita aqui.