Auto healing demo
Lets see some reasons why we are using kubernetes in the first place. We will use the blogging platform ghost because it is fast an easy to deploy and work with.
cat ghost-ephemeral.yaml | envsubst | kubectl apply -f -
If you now go to https://ghost.yourdomain.com (wait a few seconds for the certificate to be claimed), you should see ghost startpage. Go to https://ghost.yourdomain.com/ghost and create an account. Make some changes. Go back to the site and see the changes.
Delete the pod
kubectl get pods NAME READY STATUS RESTARTS AGE echo1-68949fd997-4g9k4 1/1 Running 0 20m echo1-68949fd997-tqwwp 1/1 Running 0 20m ghost-548879c755-bxvrx 1/1 Running 0 6m26s
kubectl delete pod ghost-548879c755-bxvrx
Wait for a few seconds an check again.
kubectl get pods NAME READY STATUS RESTARTS AGE echo1-68949fd997-4g9k4 1/1 Running 0 22m echo1-68949fd997-tqwwp 1/1 Running 0 22m ghost-548879c755-zfffk 1/1 Running 0 14s
Yes! It just recreates it self. This is one of the great things with kubernetes. Even if this pod was running on a VPS that just died, it would be recreated on a different VPS (as long as you have multiple ones, of course).
No! The changes we made are lost! This is a brand new pod, and the data we saved has been deleted. Read the part about persistant storage to see more about how we can deal with this.