Kubernetes & DevOps Dictionary
The worlds of Kubernetes and DevOps are filled full of jargon and acronyms that can be a minefield for everyone, not just newbies! Here’s a handy reference list of some of the most common terms and their meanings.
Monolith
A monolith refers to a traditional software architecture where all components of an application are tightly coupled and interconnected, forming a single, unified codebase. In a monolithic architecture, all of the application's functionalities—such as user interface (UI), business logic, and data management—are part of a single, large executable or codebase,...
Read More
Namespaces
What are Namespaces? Namespaces in Kubernetes are virtual clusters within a physical Kubernetes cluster. They provide a way to logically divide and isolate resources, enabling multiple teams or applications to share a single cluster while maintaining separation. Namespaces are commonly used in multi-tenant environments, where different projects or teams need...
Read More
Operator
What is an Operator? An Operator in Kubernetes is a method of packaging, deploying, and managing complex, stateful applications. It leverages Custom Resource Definitions (CRDs) and custom controllers to extend Kubernetes' capabilities, automating tasks such as installation, configuration, updates, and scaling of applications. Operators are designed to encapsulate human operational...
Read More
Orchestration
Orchestration in cloud computing refers to the automated coordination and management of complex systems and services to achieve specific tasks and workflows. In cloud environments, orchestration is particularly important because it streamlines the deployment, scaling, and lifecycle management of applications and services across multiple cloud resources. Key Aspects of Orchestration...
Read More
Persistent Volume (PV)
What is a Persistent Volume? A Persistent Volume (PV) in Kubernetes is a storage resource provisioned and managed independently of pods. PVs provide a way to abstract and manage storage in a Kubernetes cluster, enabling applications to persist data beyond the lifecycle of individual pods. PVs can be backed by...
Read More
Persistent Volume Claim (PVC)
What is a Persistent Volume Claim? A Persistent Volume Claim (PVC) in Kubernetes is a request for storage by a user. PVCs enable applications to use persistent storage by dynamically or statically binding to a Persistent Volume (PV). The PVC specifies the amount of storage required, access modes (e.g., read-only...
Read More
Prometheus
Prometheus is an open-source systems monitoring and alerting toolkit designed primarily for reliability and scalability. It is used to collect metrics from applications and infrastructure, store them efficiently, and provide powerful query capabilities to analyze the data. Prometheus is widely adopted in the cloud-native ecosystem and is known for its...
Read More
ReplicaSet
What is a Kubernetes ReplicaSet?A ReplicaSet is a Kubernetes resource used to ensure that a specified number of pod replicas are running at any given time. It helps maintain the desired state of an application by automatically adding or removing pod instances based on the current state of the cluster....
Read More
Role-Based Access Control (RBAC)
What is RBAC? Role-Based Access Control (RBAC) is a method for regulating access to resources within a Kubernetes cluster. RBAC uses roles and bindings to define which users or groups can perform specific actions on particular resources. It ensures secure and granular access control, allowing administrators to assign permissions based...
Read More
Rolling Deployment
What is a Rolling Deployment? A Rolling Deployment is a deployment strategy where a new version of an application is gradually rolled out to the production environment, replacing the old version in a step-by-step manner. This approach ensures that some instances of the application remain available to handle user traffic...
Read More
Secret
What is a Secret? A Secret in Kubernetes is an API object used to securely store sensitive data, such as passwords, tokens, SSH keys, or other confidential information. Secrets help protect sensitive information by keeping it separate from application code and configuration files, reducing the risk of accidental exposure. Secrets...
Read More
Service
What is a Kubernetes Service?A Service in Kubernetes is an abstraction that defines a logical set of pods and a policy to access them. It provides a stable, consistent endpoint to access a group of pods, even as the pods are dynamically created or destroyed. Services enable communication between different...
Read More
Software Development Life Cycle (SDLC
What is the Software Development Life Cycle (SDLC)? The Software Development Life Cycle (SDLC) is a structured process used by software development teams to design, develop, test, and deliver high-quality software. It outlines a series of stages or phases that guide the development of software applications from concept to deployment...
Read More
StatefulSet
What is a StatefulSet?A StatefulSet is a Kubernetes resource designed to manage stateful applications, ensuring that each pod maintains a unique identity and stable, persistent storage. Unlike other controllers like ReplicaSets or Deployments, which treat all pods as identical, StatefulSets provide ordered deployment, scaling, and deletion of pods. This makes...
Read More
Terraform
Terraform is an open-source infrastructure as code (IaC) tool developed by HashiCorp that allows users to define, provision, and manage cloud infrastructure using a declarative configuration language. Terraform enables users to automate the creation, modification, and destruction of resources such as virtual machines, storage, networking components, and more, across a...
Read More
Vertical Pod Autoscaler (VPA)
What is Vertical Pod Autoscaler? The Vertical Pod Autoscaler (VPA) is a Kubernetes resource that automatically adjusts the resource requests and limits of containers in a pod based on their actual usage. Unlike the Horizontal Pod Autoscaler, which adjusts the number of pods, the VPA focuses on resizing the resource...
Read More
YAML
YAML (YAML Ain't Markup Language) is a human-readable data serialization format commonly used for configuration files, data exchange, and defining structured data in a variety of programming languages. It is known for its simplicity and readability compared to other formats like JSON and XML. YAML uses indentation to represent structure,...
Read More