Kubernetes Terminology
- Kubernetes - Open-source system for automating deployment, scaling, and management of containerized applications.
- Cluster - Set of nodes that run containerized applications managed by Kubernetes.
- Node - A worker machine in Kubernetes, either a VM or physical machine.
- Pod - The smallest deployable unit in Kubernetes, consisting of one or more containers.
- Deployment - Controller that provides declarative updates for pods and replica sets.
- StatefulSet - Controller for managing stateful applications.
- DaemonSet - Ensures that all or some nodes run a copy of a pod.
- ReplicaSet - Ensures a specified number of pod replicas are running.
- ConfigMap - API object used to store non-confidential data in key-value pairs.
- Secret - API object used to store sensitive information.
- Service - Abstraction that defines a logical set of pods and a policy for accessing them.
- Ingress - API object that manages external access to services, typically HTTP.
- Namespace - Virtual cluster within a Kubernetes cluster to divide resources.
- Volume - Directory, possibly with data, accessible to the containers in a pod.
- Persistent Volume (PV) - Storage resource in a cluster.
- Persistent Volume Claim (PVC) - Request for storage by a user.
- Kubelet - Agent that runs on each node in the cluster and ensures containers are running in a pod.
- Kubectl - Command-line tool for interacting with Kubernetes clusters.
- Helm - Package manager for Kubernetes.
- Chart - Package of pre-configured Kubernetes resources.
- Tiller - Server component of Helm (deprecated in Helm 3).
- Controller - Control loop that watches the state of the cluster.
- Scheduler - Assigns pods to nodes.
- Etcd - Distributed key-value store used for Kubernetes configuration data.
- Kube-proxy - Network proxy that runs on each node in the cluster.
- CNI (Container Network Interface) - Specification for network plugins.
- Kubernetes API Server - Component that exposes the Kubernetes API.
- PodDisruptionBudget (PDB) - Ensures a certain number or percentage of pods remain available during disruptions.
- ServiceAccount - Identity for processes that run in a pod.
- ClusterRole - Set of permissions within the cluster.
- RoleBinding - Grants the permissions defined in a role to a user or set of users.
- ClusterRoleBinding - Grants the permissions defined in a cluster role to a user or set of users across the cluster.
- CRD (Custom Resource Definition) - Allows users to create custom resources.
- Operator - Method of packaging, deploying, and managing a Kubernetes application.
- Horizontal Pod Autoscaler (HPA) - Automatically scales the number of pods based on observed CPU/memory usage or other metrics.
- Vertical Pod Autoscaler (VPA) - Automatically adjusts the resource limits and requests for containers.
- Node Pool - Group of nodes within a Kubernetes cluster that have the same configuration.
- Affinity - Rules used to influence the scheduler's decisions on pod placement.
- Taint - Mark on a node that prevents pods from being scheduled unless they tolerate the taint.
- Toleration - Setting that allows a pod to schedule onto nodes with matching taints.
- Eviction - Process of terminating one or more pods on a node.
- Init Container - Container that runs and completes before app containers in a pod start.
- Job - Controller that creates one or more pods and ensures that a specified number of them successfully terminate.
- CronJob - Manages time-based jobs, similar to cron jobs in Unix.
- Service Mesh - Dedicated infrastructure layer for managing service-to-service communication.
- Istio - Popular service mesh implementation.
- Linkerd - Lightweight service mesh for Kubernetes.
- Kiali - Console for Istio service mesh.
- Prometheus - Open-source monitoring and alerting toolkit.
- Grafana - Open-source platform for monitoring and observability.
- Alertmanager - Handles alerts sent by client applications like Prometheus.
- Fluentd - Open-source data collector for unified logging.
- Elasticsearch - Distributed search and analytics engine.
- Kibana - Visualization tool for Elasticsearch.
- Kustomize - Tool for customizing Kubernetes resource definitions.
- Kubeadm - Tool for quickly setting up a Kubernetes cluster.
- Minikube - Tool for running Kubernetes locally.
- Kind (Kubernetes in Docker) - Tool for running local Kubernetes clusters using Docker container nodes.
- K3s - Lightweight Kubernetes distribution.
- Rancher - Kubernetes management platform.
- OpenShift - Kubernetes platform by Red Hat.
- Kubeflow - Machine learning toolkit for Kubernetes.
- Argo - Set of Kubernetes-native tools for running and managing jobs and workflows.
- Tekton - Kubernetes-native CI/CD framework.
- Pod Security Policy (PSP) - Controls the security settings applied to pods.
- ResourceQuota - Limits resource usage per namespace.
- LimitRange - Sets constraints on the resource requests and limits in a namespace.
- PodPreset - Injects runtime requirements into a pod at creation.
- Service Catalog - API that enables applications running in Kubernetes to use external managed software offerings.
- API Aggregation Layer - Extends the Kubernetes API with additional functionality.
- Admission Controller - Intercepts requests to the Kubernetes API server prior to persistence.
- MutatingWebhook - Admission controller that can modify incoming objects.
- ValidatingWebhook - Admission controller that can validate objects but not modify them.
- Audit Logs - Logs of all requests to the Kubernetes API server.
- Flannel - Simple and easy-to-use overlay network for Kubernetes.
- Calico - Networking and network security solution for containers.
- Weave - Networking solution for connecting Docker containers.
- Cilium - API-aware networking and security for containers.
- Multus - Multi-network plugin for Kubernetes.
- Knative - Kubernetes-based platform to build, deploy, and manage modern serverless workloads.
- KEDA (Kubernetes Event-driven Autoscaling) - Autoscaling based on the number of events needing to be processed.
- Velero - Tool for backing up and restoring Kubernetes cluster resources and persistent volumes.
- Cluster Autoscaler - Automatically adjusts the size of the Kubernetes cluster.
- Chaos Monkey - Tool for testing the resilience of cloud infrastructures.
- Litmus - Framework for practicing chaos engineering in Kubernetes.
- K9s - Terminal UI to interact with Kubernetes clusters.
- Octant - Open-source developer-centric web interface for Kubernetes.
- Skaffold - Command-line tool that facilitates continuous development for Kubernetes applications.
- Tilt - Tool for local Kubernetes development.
- Draft - Tool for simplifying Kubernetes application development.
- Garden - Development tool for Kubernetes and cloud-native applications.
- KSync - Tool for live-coding on Kubernetes.
- Port Forwarding - Exposing a service on a Kubernetes cluster to localhost.
- Kubefwd - Simplifies Kubernetes service port forwarding.
- Pumba - Chaos testing tool for Docker.
- Kubebuilder - Framework for building Kubernetes APIs using custom resource definitions.
- Operator SDK - Toolkit to build Kubernetes operators.
- Kudo (Kubernetes Universal Declarative Operator) - Framework for building operators.
- Kubeless - Kubernetes-native serverless framework.
- Fission - Fast serverless functions for Kubernetes.
- OpenFaaS - Serverless functions made simple with Kubernetes.
- Inlets - Cloud-native tunnel to expose your local endpoints.
- NATS - Connective technology for modern distributed systems.
- Envoy - Edge and service proxy for cloud-native applications.
- Contour - Kubernetes ingress controller using Envoy.
- Traefik - Modern HTTP reverse proxy and load balancer for microservices.
- MetalLB - Load-balancer implementation for bare-metal Kubernetes clusters.
- GlusterFS - Scalable network filesystem.
- Ceph - Distributed storage system that provides file, block, and object storage.
- Rook - Storage orchestrator for Kubernetes.
- Longhorn - Distributed block storage system for Kubernetes.
- OpenEBS - Container-native storage for Kubernetes.
- CSI (Container Storage Interface) - Standard for exposing storage systems to containerized workloads.
- Velero - Backup and recovery solution for Kubernetes.
- Ark - Old name for Velero.
- Kube-bench - Security benchmark tool for Kubernetes.
- Kube-hunter - Tool to hunt for security weaknesses in Kubernetes clusters.
- OPA (Open Policy Agent) - Policy-based control for cloud-native environments.
- Gatekeeper - Kubernetes admission controller that enforces policies executed by OPA.
- Falco - Cloud-native runtime security project.
- Sysdig - Monitoring, visibility, and security for containers and microservices.
- Sysdig Secure - Runtime security tool for containers.
- Kata Containers - Lightweight VMs that seamlessly plug into the containers ecosystem.
- CRI-O - Lightweight container runtime for Kubernetes.
- Containerd - Industry-standard core container runtime.
Docker
- Docker - Platform for developing, shipping, and running applications in containers.
- Dockerfile - Text document that contains all the commands to assemble an image.
- Docker Compose - Tool for defining and running multi-container Docker applications.
- Docker Swarm - Native clustering and scheduling tool for Docker containers.
- Docker Hub - Cloud-based registry service for Docker images.
- Docker Registry - Storage and distribution system for named Docker images.
- Docker Volume - Persistent data storage mechanism in Docker.
- Docker Network - Mechanism for Docker containers to communicate.
- Docker Service - High-level abstraction for deploying and managing a group of related containers.
- Docker Secret - Encrypted data that is used only by Swarm services.
- Docker Stack - Collection of services that make up an application in a Swarm.
- Docker Image - Lightweight, standalone, executable package that includes everything needed to run a piece of software.
- Docker Container - Standard unit of software that packages up code and all its dependencies.
- Docker Daemon - Background service that manages Docker images, containers, networks, and volumes.
- Docker CLI - Command-line interface for interacting with Docker.
- Buildkit - Modern build engine for Docker.
- Multi-Stage Builds - Technique to use multiple FROM statements in a Dockerfile.
- Image Tag - Identifier for different versions of a Docker image.
- Registry Mirror - Local cache of Docker Hub for faster image pulls.
- Container Orchestration - Automated process of managing the lifecycle of containers.
- Containerization - Process of packaging an application and its dependencies into a container.
- Microservices - Architectural style that structures an application as a collection of small, autonomous services.
- Sidecar Pattern - Deployment pattern where a helper container is deployed alongside an application container.
- Blue/Green Deployment - Strategy for releasing software by maintaining two environments.
- Canary Deployment - Strategy for releasing software to a small subset of users before a wider release.
- Rolling Update - Gradual rollout of new software version without downtime.
- A/B Testing - Comparing two versions of a service to determine which performs better.
- Immutable Infrastructure - Practice of replacing rather than modifying servers.
- Container Runtime Interface (CRI) - Plugin interface for container runtimes in Kubernetes.
- OCI (Open Container Initiative) - Project to design open standards for containers.
- CRIO (Container Runtime Interface) - Implementation of the Kubernetes Container Runtime Interface.
- Pod Security Context - Settings that determine the security properties applied to a pod.
- Container Security Context - Settings that determine the security properties applied to a container.
- NetworkPolicy - Specification of how groups of pods are allowed to communicate.
- PodPreset - Mechanism to inject information into pods at creation time.
- Affinity/Anti-affinity - Rules that influence pod placement.
- Taints and Tolerations - Mechanism to ensure pods are not scheduled onto inappropriate nodes.
- Node Affinity - Preference or rule for scheduling pods to specific nodes.
- Node Selector - Simple way to constrain pods to nodes with specific labels.
- ServiceAccount - Provides an identity for processes running in a pod.
- ImagePullSecret - Secret for pulling images from private Docker registries.
- Container Environment Variables - Variables available to a container.
- EnvFrom - Populating container environment variables from ConfigMaps or Secrets.
- Container Lifecycle Hooks - Actions triggered during the lifecycle of a container.
- Container Liveness Probe - Check to determine if a container is running.
- Container Readiness Probe - Check to determine if a container is ready to service requests.
- Container Startup Probe - Check to determine if a container is started successfully.
- Container Resource Requests - Minimum resources required by a container.
- Container Resource Limits - Maximum resources a container can use.
- Downward API - Mechanism for exposing information about the pod to containers.
- PersistentVolumeReclaimPolicy - Policy for reclaiming resources.
- StorageClass - Defines the different storage types available in a cluster.
- Volume Mounts - Mounting volumes into a container.
- EmptyDir - Temporary storage that is created when a pod is assigned to a node.
- HostPath - Mounting files or directories from the host node into a pod.
- PVC Binding - Associating a persistent volume claim with a persistent volume.
- Volume Snapshot - Creating a snapshot of a persistent volume.
- Volume Provisioning - Automatically creating storage volumes.
- CSI Driver - Implementations of the Container Storage Interface.
- Secret Management - Storing and managing sensitive information.
- Secret Encryption - Encrypting secret data at rest.
- RBAC (Role-Based Access Control) - Managing authorization in Kubernetes.
- Resource Quota - Limiting resource usage per namespace.
- Limit Range - Setting constraints on resource requests and limits.
- ClusterRole - Set of permissions within the cluster.
- RoleBinding - Grants permissions defined in a role to a user.
- ClusterRoleBinding - Grants permissions defined in a cluster role to a user across the cluster.
- Pod Priority - Assigning priority to pods to influence scheduling.
- PriorityClass - Defines the mapping between pod priorities and priority values.
- Eviction Policy - Policy for terminating pods under resource pressure.
- Preemption - Terminating lower priority pods to make room for higher priority pods.
- Resource Requests - Minimum resources required by a container.
- Resource Limits - Maximum resources a container can use.
- Job - Controller for creating pods to run a specified number of times.
- CronJob - Schedule-based job controller.