Rolling update - постепенная замена старых Pod новыми (maxSurge, maxUnavailable). Без даунтайма, откат через kubectl rollout undo. Recreate - все старые Pod убиваются, затем создаются новые; даунтайм есть. По умолчанию Deployment использует RollingUpdate. В Go приложение должно корректно завершаться по SIGTERM (graceful shutdown) и не держать долгие соединения без возможности дождаться дренажа.
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0