Home > Data Protection > PowerProtect Data Manager > Dell PowerProtect Data Manager: Protecting Kubernetes Workloads > Key components of Kubernetes
A Kubernetes cluster is a group of machines called nodes that run containerized applications and has a wanted state that defines which applications or workloads should be running. The cluster’s wanted state is defined with the Kubernetes API.
A node is defined for a virtual or physical machine, depending on the cluster. Each node contains the services necessary to run pods and is managed by the control-plane components. There are two kinds of nodes: control-plane node and worker node.
Pods operate at one level above the individual container. Multiple containers can be encapsulated within a pod. A Kubernetes pod is a group of containers that are deployed together on the same host. The pod is sometimes called as container when a single container is frequently deployed.
The Kubernetes API server is the control-plane of the Kubernetes cluster that exposes the Kubernetes API. It serves as the foundation for the declarative configuration schema for the system. The kubectl command-line tool can be used to create, update, delete, and get API objects.
A persistent volume (PV) is storage defined for the cluster that is provisioned by an administrator or dynamically provisioned using storage classes (SCs). It is a resource in the cluster similar to a node. PVs are volume plug-ins like volumes but have a life cycle independent of any individual pod that uses the PV. It captures the details of the implementation of the storage that is NFS, iSCSI, or a cloud-provider-specific storage system.
A persistent volume claim (PVC) is a request for storage by a user. It is like a pod, which consumes node resources. Similarly, PVCs consume PV resources. Pods can request specific levels of resources (CPU and memory).
Container storage interface (CSI) defines a standard interface for container orchestration systems to expose arbitrary storage systems to respective container workloads. A CSI-compatible volume driver is deployed on a Kubernetes cluster so that users can use the CSI volume type to attach or mount the volumes exposed by the CSI driver.
A storage class is described as the type of storage that is provisioned and the allowed ranges for size and IOPS. When creating a PVC, that the user specifies the storage class with size in GB and number of IOPS. A storage class is used to abstract the underlying storage platform.
A namespace is defined as Kubernetes object that partitions a single Kubernetes cluster into multiple virtual clusters. Namespaces are intended for the use in environment with many users spread across multiple teams or projects.
A resource in the Kubernetes environment is an endpoint for an API that stores a collection of API objects of a certain kind. A custom resource (CR) is an extension of the Kubernetes API that is not necessarily available in a default Kubernetes installation. It represents a customization of a particular Kubernetes installation.