<p>I followed this tutorial: <a href="https://cloud.google.com/python/django/kubernetes-engine" rel="nofollow noreferrer">https://cloud.google.com/python/django/kubernetes-engine</a> on how to deploy a Django application to GKE. </p>

<p>Unfortunately, I made a mistake while deploying the application, and one of my 3 pods in the cluster failed to come up. I believe I've fixed the failure, and now want to redeploy the application.</p>

<p>I can't figure out how to do that, or if I didn't fix the error and that's why it is still in error. I don't know how to diagnose if that's the case either...</p>

<p>After fixing my Dockerfile, I re-built and re-pushed to the Google Container Registry. It seemed to update, but I have no idea how to track this sort of deployment.</p>

<p>How does the traditional model of pushing a new version of an application and rolling back work in GKE? </p>

<p>Edit: The issue I'm specifically having is I updated <code>settings.py</code> in my Django application but this is not being propagated to my cluster</p>

<p>The normal way would be to push a new image with a new tag and then edit the container image tag in the Deployment (<a href="https://github.com/GoogleCloudPlatform/python-docs-samples/blob/78d8a59d59c5eca788495666b43283534a50b7ee/container_engine/django_tutorial/polls.yaml#L42" rel="nofollow noreferrer">https://github.com/GoogleCloudPlatform/python-docs-samples/blob/78d8a59d59c5eca788495666b43283534a50b7ee/container_engine/django_tutorial/polls.yaml#L42</a>), and then re-apply the file (<code>kubectl apply -f polls.yml</code>). However because their example is not using image tags (read: is implicitly using the tag <code>latest</code>) then you just need to delete the existing pods and force all three to restart. A fast way to do this is <code>kubectl delete pod -n app=polls</code>.</p>
