Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
To achieve containerized applications in Kubernetes requires a significant hardware resources such as servers and storages. A minimum of 3 servers is recommended. Also a deep understanding of Kubernetes concepts is preferred for smooth operation of each step.
Key components used in Kubernetes deployment is shown in the following table.
Component | Project | Description |
---|---|---|
CNI | Calico | Container network interface |
Virtual IP | kube-vip | Virtual IP for high availibility |
Load Balancer | MetalLB | External load balancer for accessing cluster services |
Ingress | Nginx Ingress Operator | Traffic distribution and load balancing |
Storage | NFS Subdir External Provisioner | NFS provisioner provides storage for apps |
Dashboard | Kubernetes Dashboard | Provide an easy access to cluster |
An outlined steps is described as follows.