As a general rule, you should use PersistentVolume (PV) unless you really must have local disk. In addition to surviving Pod death (e.g. due to Node failure), PV currently has the additional advantage that flag rollouts and upgrades are faster. With emptyDir, as you do a rollout, each tablet has to restore from backup since it starts from scratch. This also means with PV you spend less time waiting for a Pod to come back in the event that it must be moved to a different Node (e.g. if its former Node is drained).
If you do need local disk, the emptyDir approach would be reasonable if you have "enough" replicas in "enough" different zones. The meaning of "enough" depends on your tolerance for risk - the risk being that if all replicas die at the same time, you lose everything since the last backup.
Our examples used emptyDir because at the time, provisioning PVs was a manual process that was different depending on where you run Kubernetes. Now, Kubernetes has auto-provisioners for things like AWS EBS and GCE PD, so I think it makes sense to switch our default recommendation from emptyDir to PV.
We're working on a second generation Vitess-on-Kubernetes config in the form of a Helm chart:
It supports PersistentVolume as well as the upcoming StatefulSet feature. However, currently our chart only supports these features on a Kubernetes 1.4 cluster with Alpha features enabled. As of Kubernetes 1.5 (planned for Dec release), support will advance to Beta level.