News for hackers. Stuff that matters.

Ask HN: Are you learning Kubernetes/Docker? What resources are you using?

I've worked with a number of clients who engaged me to do nothing more than teach/guide them through how to use Docker and Kubernetes (especially Kubernetes). They all mention the inadequacy of existing learning resources.

So my question is, what resources did you/are you using to learn Kubernetes and Docker?

I've been working with Kubernetes and Docker for a couple of years and I'm thinking of developing a course drawing on the knowledge I've acquired.

( 18 comments | 13 points | on HN )
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by imauld on Wednesday October 25, 2017 @11:21AM (#15550848)
I recently read the book "Kubernetes: Up & Running" and it was a great resource. Written by Kelsey Hightower it's short and to the point has a bunch of great examples.

As a starter I would get Minikube going on your laptop: https://kubernetes.io/docs/getting-started-guides/minikube/

Then write a small REST app in your favorite language, nothing fancy just something you can easily deploy. Get it running in Docker, and the minikube. Google the problems you have along the way. You will learn a lot by doing this. Now deploy another little app into your minikube cluster and have them start communicating over the clusters network.

This will give you a good start and then you'll know enough to start seeking out more.

Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by jonathan-kosgei on Wednesday October 25, 2017 @11:48AM (#15551105)
Great points +1
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by rbradford on Wednesday October 25, 2017 @01:27PM (#15552088)
When my team was learning about Kubernetes we worked through Kelsey Hightower's "Kubernetes the Hard Way": https://github.com/kelseyhightower/kubernetes-the-hard-way

Obviously this much more complicated that using a tool such as kubeadm to deploy Kubernetes however it gives you a really good understanding of how a Kubernetes cluster is put together.

One of my colleagues used the experience from working through this with a set of VMs to create a tool called kubicle: https://ciao-project.github.io/kubicle.html

This allows you to build a Kubernetes cluster on your own physical machines by building it on top of a Ciao cluster if you're not able to use public cloud hosted VMs. For learning you can combine this with Ciao's "singlevm"/ccloudvm mode to run a cluster inside a VM (with nested VMs.)

Full disclosure: I currently work on the Ciao team @ Intel :-)

Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by indescions_2017 on Wednesday October 25, 2017 @09:33AM (#15549921)
I got started with the kubectl command line function as it was packaged with Google Cloud SDK. Then experimented with Minikube locally.

I think what you really want is something like a "Minikube in the Cloud" learning environment. Where you walk students through building an actual service. But if they make mistakes, nothing catches fire ;)

Another recommendation is a gentle intro to serverless deployments such as Fission and Kubeless, since that is maybe where everyone's headed in the near future. Also a great way to introduce design thinking, architecture, distributed systems, fault tolerance, decentralization, etc.

http://fission.io/

Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by jonathan-kosgei on Wednesday October 25, 2017 @09:40AM (#15549977)
Thanks for the input :)

I think installing Kubernetes and covering the whole setup especially for production is a whole topic in itself. Hence minikube would be very convenient for students.

That said I've always appreciated an example first approach (with a to the point explanation) other than pure plain theory.

Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by mjhea0 on Thursday October 26, 2017 @08:39AM (#15558281)
Looking for something a bit more advanced? Check out https://testdriven.io/
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by jonathan-kosgei on Thursday October 26, 2017 @01:17PM (#15560955)
haven't started it, but from what I've seen it looks to be very well built
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by segmondy on Wednesday October 25, 2017 @01:22PM (#15552049)
Official Kubernetes docs are the best I've seen so far and what I'm using.
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by cbb_ on Wednesday October 25, 2017 @03:33PM (#15553354)
I found a blog series here:

https://kumorilabs.com/blog/k8s-0-introduction-blog-series-k...

It’s not necessarily the best resource for actually learning the ins and outs of Kubernetes; however, I think it’s a good starting place.

After going through those, I worked on deploying a small application using stuff covered in those labs.

Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by rajathagasthya on Wednesday October 25, 2017 @01:10PM (#15551915)
I found the official Kubernetes tutorials to be really helpful as an intro: https://kubernetes.io/docs/tutorials/
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by tixocloud on Wednesday October 25, 2017 @10:29AM (#15550381)
Is there like a 1 pager summary of what Kubernetes/Docker is? Ever since my transition to the business side, I feel like I've lost touch. What's the benefit of deploying using Docker?
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by imauld on Wednesday October 25, 2017 @11:29AM (#15550917)
Isolation, repeatability and speed of deployment:

- Docker images are portable. They will run anywhere there is Docker. No surprise missing system packages when deploy.

- They are isolated from the the rest of the machine. Inconsistencies between dev and prod are minimized greatly.

- Kubernetes allows you to deploy stateless, immutable images using a declarative manifest. IMO this is far superior to imperative scripts that are used in a lot of places.

- Kubernetes pods start up in seconds when they are added or restarted. Deployments for me routinely take under a minute. Compared to our EC2 deployment strategy which can easily take over half an hour to deploy a single node.

The list goes on but these are the key things for me. I would suggest checking out some videos by Kelsey Hightower is want to see more of it in action.

Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by jonathan-kosgei on Wednesday October 25, 2017 @11:03AM (#15550692)
The key benefit for me, and the reason I use it for my personal projects, is that it makes it easy to deploy the app. The Dockerfile is basically a list of commands, to install packages, copy files over etc once you have that and build it into an image. You can then do docker run from anywhere on any os and expect consistent results.

You could try https://kubernetes.io/docs/concepts/overview/what-is-kuberne... for now.

Kubernetes is basically a wrapper around Docker. It adds a lot of functionality but it's main job is handling the scheduling/management of Docker containers.

Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by tmaly on Wednesday October 25, 2017 @09:27AM (#15549880)
I looked at it a few years back, and I read a book about docker on a flight back from Asia.

I would be interested in some short to the point tutorials with practical examples.

Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by jonathan-kosgei on Wednesday October 25, 2017 @09:47AM (#15550047)
I'm considering creating the content as short video lectures. But they'd be plenty of notes to go with the videos as well.
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by tmaly on Wednesday October 25, 2017 @10:30AM (#15550391)
I would prefer a blog series with maybe some type of interactive examples.
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by jonathan-kosgei on Wednesday October 25, 2017 @11:11AM (#15550765)
Noted. Checkout Docker Playground - http://labs.play-with-docker.com/ for an interactive web based Docker environment.
Re:Ask HN: Are you learning Kubernetes/Docker? What resource... by imauld on Wednesday October 25, 2017 @11:21AM (#15550855)
Kubernetes: Up & Running would be a good book to start with.