Ingress
- To understand concept of ingress Refer Here
- In k8s we have 3 major objects which will help in ingress (layer 7 loadbalancing)
- ingress
- ingressController: This is a third party implementation Refer Here
- ingressClass
- K8s doesnot have controller for ingress.
- Lets create four simple applicatons Refer Here for changes done
- Create docker image and push them to registry
- For this classroom purpose i will be using nginx-ingress-controller Refer Here
- Our implementation:
- lets install nginx-ingress controller using helm
helm repo add nginx-stable https://helm.nginx.com/stable
helm repo update
helm upgrade --install ingress-nginx ingress-nginx \
--repo https://kubernetes.github.io/ingress-nginx \
--namespace ingress-nginx --create-namespace
* After last command we see output which better copy to some notepad
* Now execute the following command to watch for external ip to nginx ingress controller kubectl --namespace ingress-nginx get services -o wide -w ingress-nginx-controller
* Get ingress classes and there should be nginx ingress class from helm chart
* lets deploy application and services. Refer Here for the changes
* Refer Here for the manifest file for ingress
* Now create ingress object
* Get external ip of ingress controller using kubectl --namespace ingress-nginx get services -o wide -w ingress-nginx-controller
* Refer Here for official docs of ingress
Node autoscaler
- Refer Here for aks cluster autoscaler
- Refer Here for eks cluster autoscaler