Pod:
Refers to a fundamental unit in container orchestration, commonly used in Kubernetes, containing one or more tightly coupled containers that share network and storage resources to facilitate the deployment, scaling, and management of applications in a clustered environment
Node:
Refers to a physical or virtual machine within a network or cloud infrastructure that serves as a computing resource, where applications and services can be deployed and run. In the context of container orchestration, a node represents a host that participates in a cluster to execute containers and manage their lifecycle.
Cluster:
Refers to a group of interconnected nodes, either physical or virtual machines, that work together to form a unified computing environment. In the context of container orchestration, a cluster is managed by platforms like Kubernetes, and it allows for the deployment, scaling, and load balancing of containers across the nodes, providing high availability and fault tolerance for applications and services.
Deployment:
It is a high-level resource that defines and manages the desired state of a set of identical pods. It ensures that the specified number of replicas (copies) of the pod are always running and automatically handles updates and rollbacks, making it easier to manage application deployments and ensure the application's availability and reliability.
ReplicaSet:
It is a resource used to maintain a specified number of identical pod replicas running at all times, ensuring high availability and scalability for applications.
Service:
It is an abstraction that provides a stable, virtual IP address and DNS name for a set of pods, allowing them to be accessed reliably within the cluster, regardless of their dynamic nature or underlying node changes. It enables load balancing and facilitates communication between different parts of the application.
Ingress:
It is an API object that manages external access to services within the cluster. It acts as a traffic manager, routing incoming HTTP and HTTPS requests from outside the cluster to specific services based on rules defined in the Ingress resource, allowing for better control and flexibility in handling external traffic.
Configmap:
It is an API object used to store non-confidential configuration data in key-value pairs. It allows you to decouple configuration from the container images, making it easier to manage and update configuration settings for your applications without modifying the container itself. ConfigMaps are commonly used to pass configuration data to containers running in a pod.
Secret:
It is an API object used to store sensitive information, such as passwords, API keys, and certificates, in an encrypted manner. Secrets enable secure management of sensitive data, ensuring that it is not exposed in plaintext within the cluster or in version control systems. They are primarily used to pass confidential information to applications running in pods while maintaining a higher level of security and data protection.
Persistent volumes:
It is a high-level resource that defines and manages the desired state of a set of identical pods. It ensures that the specified number of replicas (copies) of the pod are always running and automatically handles updates and rollbacks, making it easier to manage application deployments and ensure the application's availability and reliability.