
1. POD -
A Pod is the fundamental operational unit in Kubernetes, comprising one or more containers.
It provides the necessary environment for containers to operate and ensures their co-scheduling on a single node.
Pods can share storage, networking, and facilitate the operation of multiple containers in a closely linked manner.
2. NODE -
A Node is a physical or virtual machine responsible for running containerized applications within Kubernetes.
Each node is equipped with essential services to execute Pods, including a container runtime, kubelet, and kube-proxy.
Nodes can be dynamically added or removed from the Kubernetes cluster.
3. Services -
Services specify methods for accessing a set of Pods within a Kubernetes cluster.
ClusterIP is the default type, exposing the Service on a cluster-internal IP, thereby restricting access to within the cluster. (Facilitates internal access)
NodePort exposes the Service on each Node's IP at a fixed port, enabling access from outside the cluster. (Facilitates external access)
LoadBalancer exposes the Service externally utilizing a cloud provider's load balancer.
ExternalName maps the Service to the contents of the externalName field (e.g., a DNS name), bypassing the proxy.
4. Ingress -
Ingress governs external access to services within a Kubernetes cluster.
It provides HTTP and HTTPS routing, directing traffic to various services.
Ingress typically collaborates with an Ingress Controller to manage routing and SSL termination.
5. ConfigMap -
ConfigMap stores configuration data in key-value pairs.
It allows the separation of configuration from application code, facilitating updates to configurations without modifying the application.
ConfigMaps can be referenced in Pods to inject configuration values.
6. Secret -
Secrets securely store sensitive information such as passwords, API keys, and certificates.
They are encoded, though not encrypted, and can be utilized within Pods to access secure resources.
Secrets help maintain the separation of sensitive data from application code and are securely managed in Kubernetes.
7. Volume -
Volumes provide persistent storage for containers in Kubernetes.
Unlike ephemeral container storage, volumes persist beyond the lifecycle of a container.
Volumes can be used to share data between containers or store data that should persist across container restarts.
8. Deployment -
A Deployment manages the creation, scaling, and updating of Pods.
It ensures that a specified number of application replicas are consistently running.
Deployments facilitate the rollout of updates and the rollback to previous versions.
9. StatefulSet -
StatefulSet is employed for applications requiring stable, unique identities and persistent storage.
It is ideal for stateful applications like databases that necessitate consistent network identity and storage.
StatefulSets ensure that Pods are created and scaled in a controlled and predictable manner.
10. Namespace -
Namespaces offer a method to divide cluster resources among multiple users or teams.
They assist in organizing and isolating resources within a cluster.
Namespaces are beneficial in multi-tenant clusters, ensuring users or teams do not interfere with each other's resources.
