Live demos are a thing of beauty — you never know when the demo gods will decide to break your precious setup. During yesterday’s webinar, Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes, the first thing I wanted to show during the Istio demo was exposing an app using NodePort. Applying the deployment file resulted in the following:
$ kubectl apply -f flaskapp-deployment.yaml $ kubectl get pods NAME READY STATUS flaskapp-deployment-pod-1 0/1 ImagePullBackOff flaskapp-deployment-pod-2 0/1 ImagePullBackOff flaskapp-deployment-pod-3 0/1 ImagePullBackOff
What gives? This deployment spec has worked time and again with no business failing to pull the image. I can only guess that Docker Hub is down (unlikely) and had two options: 1) re-build the image from source, or 2) Use a backup environment to show the end state. In order to keep on topic within the given time period, I decided to go with option #2 to at least showcase Istio Ingress at its best.
After the webinar I decided to take a look at the environment; and lo and behold!
$ kubectl get pods NAME READY STATUS flaskapp-deployment-pod-1 1/1 Running flaskapp-deployment-pod-2 1/1 Running flaskapp-deployment-pod-3 1/1 Running
And a quick search of Docker Hub Status later:
As if by magic Docker Hub has decided to stop working within the exact time period of the Webinar. I learned a few things from this event:
- Don’t rely on a public repository / link for your demos
- Failures occur where you least expect it
- Always prepare a backup
So that being said, I present to you how I envisioned the demo for this session:
I hope you enjoyed the live session regardless, and if you didn’t attend, I’m sorry you missed out on all the fun. Here’s hoping for a more successful demo next time!