例えば、何らかの都合でそっくりDeploymentを準備する必要があって spec.selector.matchLabels をいい感じに調整しなくてはいけないとき。
// 1. ReplicaSetを控えておく
$ kubectl get rs
// 2. Deployment"だけ" を削除 (ReplicaSet, Podは残る)
$ kubectl delete deployment --cascade=orphan {Deployment名}
// 3. 一応PodやReplicaSetを確認
$ kubectl get pods
$ kubectl get rs
// 4. 任意の方法で新しいDeploymentをデプロイする
// 5. 新しいDeploymentのPodが立ち上がったことを確認
$ kubectl get pods
// 6. 古いReplicaSetを下げておく (deleteしないのはトラブルが起きたときのため)
$ kubectl scale rs --replicas=0 {控えたReplicaSet名}
$ kubectl get pods
// 7. 問題ないことがわかったら古いReplicaSetを消す
$ kubectl delete rs {控えたReplicaSet名}