Kubernetes course has been expanded!

I’ve recently added a major update to the Kubernetes Microservices course. The original version of the course was a project based, hands-on approach to learning Kubernetes – which I think is by far the best way to learn. The problem with that is that it’s not always possible to fit every possible topic into a sample project – for example, Fleetman didn’t need any access control, so I didn’t bother with RBAC on the original course.

So this update fixes this! You can get the full course from Udemy or if you prefer to also get access to a curated, focused library of Java-stack related training, from VirtualPairProgrammers.com.

What’s new?

  • Resources and Limits – helps you to help Kubernetes manage the cluster effectively
  • Metrics – use the top command to monitor the resource usage of your pods and nodes
  • Horizontal Pod Autoscaling – let Kubernetes automatically scale up your deployments to handle spikes in load
  • Readiness and Liveness probes – make changes to your cluster without downtime
  • QoS and Eviction – understand why particular pods are evicted if a node runs out of resources
  • RBAC – use X509 certificates to restrict access to your cluster
  • ConfigMaps and Secrets – learn how to externalize configuration into a ConfigMap
  • Ingress Controllers – define routing rules so that multiple services can be accessed by a single point of entry – save money on LoadBalancers!
  • StatefulSets – by far the most confusing topic in Kubernetes, I hope I’ve demystified what they are (and aren’t! You don’t need them for persistence!)

But the biggest feature request for the update – Continuous Deployment! I spent ages building a CI/CD system which you can work with – it’s functional but just basic enough so that it isn’t overwhelming.


17 thoughts on “Kubernetes course has been expanded!”

  1. At some point, I briefly looked at a description that included this course would cover Istio and service mesh concepts. Would this be added as a separate course altogether?

    1. Hi Sanjay, the plan has always been to have a separate course on Istio – I’m working on it right now and of course it’s turning into a marathon! I hope it will be released soon. As always with me, the deadline will be missed!

  2. Hello Richard,
    While trying to install prometheus-operator using helm using below command:
    helm install –name monitoring –namespace monitoring stable/prometheus-operator

    I am getting below error:
    Error: release monitoring failed: rpc error: code = Canceled desc = grpc: the client connection is closing

    Still the resources are getting created in that new namespace, but no data is available in prometheus and Grafana dashboard. Can you please help me regarding the same.

    Thanks & Regards,

    1. Glad you’ve asked this – I had the same problem a couple of days ago. It’s a bug in Helm.

      There’s an open issue for it here:


      Until it’s fixed, there’s a simple workaround. Delete your install:

      helm delete –purge monitoring

      Now run the install again, but with an additional argument --set prometheusOperator.createCustomResource=false

      Ie: helm install --name monitoring --namespace monitoring stable/prometheus-operator --set prometheusOperator.createCustomResource=false

      Let me know if that works – I’ll be letting everyone on the course know about this.

  3. Hello Richard,

    I’ve been following your course on SafariOnline/o’reilly, I really liked the content and the way you presented it.

    But it’s sad that the new videos you made for the course aren’t included on O’Rielly since I already have a yearly subscription there…

    Are you willing to add these new videos there or is the plan for them to be just available on Udemy?


    1. Hi, I’d love for them to be on O’Reilly, it’s actually via Manning.com. Alas they’ve had information that the material is available for months, and they’ve still to pick it up. It’s out of my hands sadly.

      It would be great if you could send an email to manning and tell them you think they should be carrying the new material!

      Are you on Udemy at all? If so, send me a PM and I’ll get something arranged for you.

  4. I am following up the K8S course and having trouble downloading the simulator image. My pod status shows ImagePullBackoff status. I tried to pull the image from docker and get the below message. I tried all tags got the below error

    Using default tag: latest
    Error response from daemon: manifest for richardchesterwood/k8s-fleetman-position-simulator:latest not found: manifest unknown: manifest unknown

    1. Hi, there’s no :latest tag because I don’t like them (as you can’t then be sure exactly which image you’re using).

      The correct tag I THINK is :release2, although I don’t know exactly where in the course you are. The images are here:


      When I visited that link, I got a http 500 at first, I wonder if this was the root cause of your original problem? Sometimes Dockerhub is down as it gets very busy.

      (Are you from Udemy or VPP? If so, you’ll probably get a better response time if you run through the support system there, although I do monitor here as well – but there is an aggressive spam filter here so often messages get lost!)

  5. I see that fluentd pod can capture different pod logs beautifully. But i am not able to understand how can fluentd can capture my application logs like different business related logs which were created during my application execution.. Can we specify somewhere in fluentd configuration which all directories/folder from where the logs can be captured… Any pointers or suggestion will definately help

  6. Hi —

    Wondering about which releases to download for each of the k8s-fleetman-* files. I just bought the course tonight and am downloading the images. I decided to take Release 2 for everything, since that was consistent across all 5 of the images. Wondering if I should have instead taken the most recent of everything. Would those still all be compatible with each other. Is there something to be gained by grabbing more recent versions?

    By the way, this looks to be a phenomenal course from what I have gone through so far.

    1. Hi Michael, I hope it will be at least a half decent course – phenomenal is a high barrier! 😉

      You don’t need to actually download the images – as you go through the course you’ll be writing yaml files that reference the images, and at each point I’ll be specifying which version you need. Really the github repo is only there as a backup of everything that I’ve done.

      Depending on where you’ve bought the course from, all the yaml files etc should be linked from there.

      There should also be a proper Q&A forum, again depending on where you bought from (was it Udemy?) – I’ll always answer there as quickly as I can, it can be a lot slower here as my blog software has lots of spam filters and things to jump through.

      Hope that helps – good luck with it!!

    1. Ah many thanks! And thanks for reminding me that I really should write some blog posts! All the best, Rich.

  7. Hey Richard,

    I have been watching your kubernetes course on udemy for a while now. One thing I don’t find anymore is the section for RBAC policies. Is it being refined? Can you please provide them on your youtube channel? That was the only section which I missed. Had kept it to watch in the future.

    Great course by the way.

    1. Hi, yes sorry about this, I had to (temporarily) remove those lectures as they quickly went out of date:

      1) the yaml API changed. This is pretty minor and most people would be able to easily upgrade the yaml and I can easily attach the revised yaml to the course files


      2) the method I used to authenticate using Kops stopped working due to changes in the way they structure the master node. AND, worse, EKS needs a different authentication system which is easy enough but fiddly and would need several hours of videos.

      Right now I’m too busy to get a chance to re-record and I’m not sure many people are too bothered about RBAC.

      But I have uploaded the legacy videos as an archive here: it’s an unlisted youtube playlist here:


      Although the details are out of date, the overall strategy is still sound and if you’re able to work out how to authenticate using kops or EKS (you make a config map called auth-aws mapping your k8s users to IAM users) then the videos will still be useful. Some details on EKS auth here: https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html

      Hope that helps a bit, sorry for the omission. My TODO list is growing MUCH faster than my DONE list!

      Many thanks for those kind words too!


Leave a Reply

Your email address will not be published. Required fields are marked *