This is meant to be an example and reference for how to create and deploy a fullstack application to Kubernetes. It's also meant to explain the different components of Kubernetes.
You don't need to build these images, because they're available on Docker Hub but if you want to build them for yourself then there's a Dockerfile in each directory.
Component
Description
Pod
Pods in Kubernetes run a container or containers. They are the smallest "unit" in Kubernetes.
Deployment
A deployment tells Kubernets what image or images to run inside the pod, how many pods you want (replicas), what port or ports to expose on the pod and plenty of other information.
Service
A service creates a single, constant point of entry to a deployment. Basically, a service is needed to access your pods from outside Kubernetes or to loadbalance between groups of pods.
Ingress
Ingress exposes HTTP and HTTPS routes from outside the Kubernetes cluster to services within the cluster. This allows you to access routes inside your Kubernetes cluster from outside the cluster.
Files and their descriptions
To make it easier on me, I've broken each Kubernetes component into it's own file even though this means more files and more commands to run. The tables below are also setup in the order that I would run the files (top file first, then work your way down).
Defines values such as the image to use for the pods, the port(s) to open on the pods, how many pods to start, and the CPU & RAM resources the pod(s) get and their limits.
Defines values such as the image to use for the pods, the port(s) to open on the pods, how many pods to start, and the CPU & RAM resources the pod(s) get and their limits.
Defines values such as the image to use for the pods, the port(s) to open on the pods, how many pods to start, and the CPU & RAM resources the pod(s) get and their limits.