<p>We have a requirement that no requests receive 404's when doing a rolling deploy. Currently we achieve this by deploying the new assets container to all servers before continuing with a rolling deploy. With nginx's "try_files" this ensures that as the new code is being rolled out we can serve both the old and new versions of assets.  Does Kubernetes have any features to support this type of workflow?</p>

<p>You can either use <a href="http://kubernetes.io/docs/user-guide/deployments/" rel="nofollow"><code>Deployment</code> API</a> (for Kubernetes >= v1.2) or <a href="http://kubernetes.io/docs/user-guide/rolling-updates/" rel="nofollow"><code>kubectl rolling-update</code></a> (for &lt; v1.2) to manage the rolling deploy of your Kubernetes <code>Pod</code>s (each is a co-located group of containers and volumes). You'll also need to create <code>Service</code>s for accessing those <code>Pod</code>s (<code>Service</code>s redirect traffic to <code>Pod</code>s). During the rolling deploy, a user will be redirected to either the <code>Pod</code> with old or new versions of assets container. </p>
