Oracle Cloud Free Tier

Build, test, and deploy applications on Oracle Cloud—for free.

What is a Kubernetes cluster?

Learn the basics of Kubernetes clusters

Kubernetes cluster is the term assigned to a group of nodes used in a Kubernetes deployment. To fully understand this concept, let’s break down some key definitions involved with Kubernetes:

  • Container: A container is a standalone object that holds everything an application needs to execute, including libraries, resource files, and configuration files. Containers are lightweight compared to virtual machines and can run regardless of infrastructure or environment. This makes them ideal for ease-of-management across devices and operating systems.
  • Pod: A container or group of containers running on a machine.
  • Node: A node is a physical or virtual machine that operates at least a single container, though they can (and often) run multiple containers.
  • Cluster: A cluster is a set of virtual or physical machines, each operating as a nod to run containerized applications. Clusters are managed by Kubernetes.
  • Deployment: Deployment refers to the process of installing, executing, or updating containers on a node. Efficient deployment takes advantage of tools such as automation to simplify management and resource usage.
  • Replicaset: A tool used to ensure availability, Replicaset defines the quantity of stable replica Pods that must be running at any one time, then manages resources to fulfill this. Replicaset creates or deletes Pods to meet and maintain the target.
  • Orchestration: Container orchestration operates one level above deployment and refers to the overall management and operational logistics that oversee containers. Orchestration is necessary to balance resources in an extremely dynamic environment. An example of an orchestration tool is Oracle Container Engine for Kubernetes.

Kubernetes is a popular platform for container orchestration. By utilizing Kubernetes clusters, containers can be operated and managed in a way that maximizes resources, builds in repairs and redundancies, and automates many repetitive and granular tasks. Kubernetes is often selected over other options because of its compatibility across operating systems, robust feature set, and highly active community to provide support and tools.

Elements of Kubernetes Clusters

Now that we’ve gone over the basics, let’s look closer at the different elements that make up a Kubernetes cluster. Kubernetes clusters have two types of nodes in them, Master nodes that handles administration and management and Worker nodes that run the applications. Collectively, the group of Master nodes within a Kubernetes cluster architecture is known as the control plane. Within the control plane, Kubernetes uses the ETCD key value store to store all its configuration data, state and metadata. ETCD can be deployed within the Kubernetes cluster or use external ETCD nodes.

Each node can be further broken down into individual components:

Master node components

  • API server (kube-apiserver): The front end of the Kubernetes control plane.
  • Scheduler (kube-scheduler): Scheduling manager that creates assignments and makes decisions based on resources, constraints, deadlines, and other variables.
  • Controller manager (kube-controller-manager): Runs and manages controller processes (node controller, job controller, endpoint controller) for workload balance and efficiency.

Worker node components

  • Kubelet: A node agent that ensures containers are running to specifications (PodSpecs). Note that kubelets do not manage non-Kubernetes containers.Proxy (kube-proxy): Maintains network rules on nodes to ensure smooth operation and communication to pods either inside or outside of the cluster.

How Kubernetes clusters work

Kubernetes clusters can be created on either a physical or a virtual machine by building out individual nodes. Such a task may be automated or performed manually depending on your organization's individual resources and capabilities. Kubernetes management oversees deployment and monitoring of node health throughout the cluster using a component known as the Kubernetes Control Plane. The Control Plane handles logistics and executes repair functions, such as identifying crashes and fixing it with additional deployment to meet the state defined in the manifest.

Kubernetes vs. Docker Swarm

Kubernetes is an ideal platform for many organizations implementing container orchestration. In particular, this applies to more robust workloads or situations where greater levels of automation and scalability are required. Docker Swarm is another platform for container orchestration, and in some circumstances, it is preferred. Docker Swarm offers an easier, lighter solution for organizations willing to trade some features for simpler execution and installation. Which solution is right for your organization?

Try Kubernetes now

Oracle Container Engine for Kubernetes is a container orchestration service powered by Oracle Cloud Infrastructure. Included as a free service with Oracle Cloud Infrastructure, Oracle Container Engine for Kubernetes offers one-click cluster creation, automation, and role-based security features, all without a cluster-management fee. Try Oracle Container Engine for Kubernetes.