Explore your cluster

Thanks to Docker Desktop, we already have a cluster set up for us. Under the hood, a few things happened:

  • certificates and cluster configuration were configured
  • internal components of Kubernetes were installed
  • controllers for networking and storage were added
  • cluster got booted up

Cluster details

Let’s check out some details about your cluster in our terminal and run

kubectl cluster-info

The Kubernetes control plane manages Worker Nodes and Pods in our cluster and runs by default on Port 6443.

CoreDNS is a DNS server built for Kubernetes and is hence its default DNS server, helping Pods and Services find and communicate with each other.

Core Kubernetes components

To have our cluster up and running, several core components were set up for us automatically. You can list them by running

kubectl get pods -n kube-system

These are all system pods - kube-system is the namespace for objects created automatically by the Kubernetes system for us:

  • etcd – key-value store for all cluster data
  • coredns – DNS server for service discovery
  • kube-proxy – network proxy on each Node
  • kube-controller-manager – embeds core control logic
  • kube-scheduler – assigns Pods to Nodes
  • kube-apiserver – exposes the Kubernetes API

Additional controllers:

  • vpnkit-controller – port forwarding service
  • storage-provisioner – helps persist local storage data

Finally, let’s see the nodes of our cluster:

kubectl get nodes

You will find one Node (which is actually also our control plane) running with a status of Ready - meaning ready to accept applications for deployment.