Installing Kubernetes using the Docker Client
Lecture description
As an alternative to Minikube, you can install kubernetes using the official docker client for Mac / Windows
Learn more from the full course
Learn DevOps: The Complete Kubernetes Course
Kubernetes will run and manage your containerized applications. Learn how to build, deploy, use, and maintain Kubernetes
14:40:35 of on-demand video • Updated July 2025
Install and configure Kubernetes (on your laptop/desktop or production grade cluster on AWS)
Use Docker Client (with kubernetes), kubeadm, kops, or minikube to setup your cluster
Be able to run stateless and stateful applications on Kubernetes
Use Healthchecks, Secrets, ConfigMaps, placement strategies using Node/Pod affinity / anti-affinity
Use StatefulSets to deploy a Cassandra cluster on Kubernetes
Add users, set quotas/limits, do node maintenance, setup monitoring
Use Volumes to provide persistence to your containers
Be able to scale your apps using metrics
Package applications with Helm and write your own Helm charts for your applications
Automatically build and deploy your own Helm Charts using Jenkins
Install and use kubeless to run functions (Serverless) on Kubernetes
Install and use Istio to deploy a service mesh on Kubernetes
Continuously Develop using Skaffold
English
Edward: Minikube is really a great tool to install and use kubernetes, but sometimes it doesn't spin up, sometimes it doesn't work with your configuration, with your desktop, so there is an alternative. We can download docker and the newest versions of docker allow you to install kubernetes within the client. So that makes it a lot easier to use kubernetes if you're already using the docker client or if minikube doesn't work for you. So in this demo I will show you how this works. So if you just type in docker client windows edge in Google then you will get on this page. Store.docker.com/editions/community, it's a community edition, docker-ce, stands for community edition, desktop-windows. And here on this page you can download the Stable version or the Edge version. Because kubernetes within a docker client is pretty new you need the Edge version. At some point they will include it in the Stable version, but now you need Edge version. So you need to download Edge version for Windows or you can download the Edge version for Mac. So I downloaded the Edge version for Mac. It's an installer and it will install docker in your tray in Mac, but I suppose in Windows it's exactly the same. And once it started, it starts by default when you start it, then you can go to Preferences, and when you open your Preferences a window like this will open and you should have an icon here kubernetes. If you don't have this then you're probably on the Stable version and you should download the Edge version. To enable kubernetes you just click on this. You click on kubernetes and you press apply. Kubernetes is now starting. This can take a few minutes. So my kubernetes cluster is now running. This is the Mac OS terminal that I launched. If you are on Windows you can just launch the command cmd or a powershell to get a terminal and then you will also be able to use the docker and kubectl commands. So I can now use a terminal and do kubectl get nodes. And I get my docker-for-desktop. If you already tried to use minikube earlier before that you might have to change your context. So kubectl config get-context. We'll show you the context that you have. And now I only have one cluster, one context, but if you're reusing minikube it's possible that there's also a minikube context here, and then you just have to use kubectl config use-context and then the name of the context. It will switch you to that cluster. We switch now but I was already on this context. So this is only if you have multiple context. If you use minikube earlier or you already have the cluster installed earlier. Now I can start using it, kubectl get nodes. I have one node. Let's try to run a pod. I will run kubectle run hello-kubernetes, and I'm going to use echoserver port 8080. Deployment hello-kubernetes created. Kubectl expose deployment hello-kubernetes type NodePort. I'm creating a service so they can access this hello-kubernetes, so this is just a test. I will explain you in the coming lectures what this all means, just to see whether the cluster is working. I should now be able to connect to this service, get service hello-kubernetes. And I should now be able to go to my browser on localhost and this port I should be able to connect. Localhost and this port and this just gives me a response. So this is my request, request_uri localhost 8080, that's what my pod is running on. So if you get this then your kubernetes install is properly working and you just created your first application, your first pod on kubernetes. So the next lectures I will go in a bit more detail what all these things mean. This is definitely a good alternative to minikube if you don't get minikube running or you just want to use only docker client with kubernetes and then you only have to install one package.