• / company
    • about us
      • / about us

        The partner of choice for data & product engineering to drive business growth & deliver an impact within your organization
    • product engineering
      • / product engineering
        We specialize in Software Product Engineering, transforming your concepts into impactful products.
    • technology
      • / technology
        250+ specialists skilled in software, BI, integration, offering end-to-end services from research to ongoing maintenance.
    • methodology
      • / methodology
        We specialize in software product engineering, transforming your concepts into impactful products.
    • careers
      • / careers
        Our team needs one more awesome person, like you. Let’s grow together! Why not give it a try?
    • do good
      • / do good
        We’re a team devoted to making the world better with small acts. We get involved and always stand for kindness.
    • events
      • / events
        LLMs in Action: Transforming How We Work, Communicate, and Innovate
    • blog
      • / blog
        Why Every Developer Should Care About AI Plugins, And What You Might Be Missing
        mindit chats with Andreea Moldovan: “At mindit.io people really put effort into making it happen.”
    • contact us
      • / contact us
        We would love to hear from you! We have offices and teams in Romania and Switzerland. How can we make your business thrive?
  • / get in touch

Kubernetes 101 – Cluster Internals

Let’s dive into the inner workings of a Kubernetes cluster.

The two main components of a Kubernetes cluster are:

Master node – which can be replicated across multiple nodes

Worker node
Master Node

etcd – Database used to store the entire configuration and state of the cluster.

controller – Checks the current state of the worker nodes and determines if there are any differences between how they should be and how they are, and resolves them.

API Server – Acts as the gateway to the cluster. Used as a proxy to nodes and pods.

scheduler – this one is responsible for the scheduling of containers across the nodes in the cluster. It takes various constraints into account: resource limitations, affinity specifications, etc.
Worker Node

pod – A pod is the smallest element of scheduling in Kubernetes. Without it, a container cannot be part of a cluster. If you need to scale your app, you can only do so by adding or removing pods.

kubelet – It watches for tasks sent from the API Server, executes the task, and reports back to the Master.

kube-proxy – The kube-proxy makes sure that each node gets its IP address, and implements local iptables and rules to handle routing and traffic load-balancing.

container runtime – The container runtime pulls images from a container image registry and starts and stops containers. A 3rd party software or plugin, such as Docker, usually performs this function.
Component diagram
Interaction diagram

Worker nodes listen to the API Server for new work assignments. They execute the work assignments and then report the results back to the Kubernetes Master node.

The kubelet runs on every node in the cluster. It is the principal Kubernetes agent. By installing kubelet, the node’s CPU, RAM, and storage become part of the broader cluster.

Based on that information, the Master can then decide how to allocate tasks and resources to reach the desired state.
Follow the Kubernetes 101 series on mindit.io.

Check out new-spike.net for other articles on Kubernetes and much more!

Distribute:

/turn your vision into reality

The best way to start a long-term collaboration is with a Pilot project. Let’s talk.