Nginx Ingress Controller forward headers

Error While moving to kubernetes, and migrating spring boot apps, we encountered a strange behavior that few of the webpages served by freemarker templates in spring boot were adding port :8080 instead of just using the hostname with SSL port :443 Fix After some investigation and trying to find some workaround, we found out that X-Forwarded-* headers needs to be forwarded by nginx ingress controller when it’s behind an azure app gateway(L7 load balancer)....

Nginx Ingress Sample Configurations for Helm values

Ingress configurations in helm values files. The following setup assumes that you have a helm chart which provides the configuration to deploy a service and an ingress for it Now, lets look at few of the sample helm values file configurations for ingress configurations with ingress-nginx. Enable Cors 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ingress:enabled:trueannotations:kubernetes.io/ingress.class:nginxnginx.ingress.kubernetes.io/enable-cors:"true"nginx.ingress.kubernetes.io/cors-allow-methods:"DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT"nginx....

Bastion Pod in Kubernetes

Background When deploying applications to kubernetes, we should restrict access to resources like databases, queues, cache, etc. From a security prospective, we should not be able to connect to storage/database from outside the kubernetes deployment(applications). Only applications deployed to kubernetes cluster should be allowed access to databases,queues, etc. Problem But for debugging purpose its essential to be able to connect to such resources. For e.g. we might need to check some data in the database or verify if an item is getting stored in redis cache, etc...

Configure hostname for local ingress

It is useful to configure hostnames for kubernetes ingresses when testing kubernetes application locally on a developer’s machine. We may add LoadBalancer IP address to /etc/hosts file to be able to open ingress hostname in browsers. Minikube Show IP of the LoadBalancer 1 2 minikube ip 192.168.49.2 update localhost /etc/hosts file example 1 2 192.168.178.50 demo.nginx.local 192.168.178.50 demo1.nginx.local Rancher Desktop Assuming ingress-nginx is installed following nginx-ingress-rancher-destop in ingress-nginx namespace....

Kubernetes introduction

Kubernetes Introduction Build a docker image Dockerfile default filename FROM base image to be used for container ADD copies files/directories/remote file urls to container filesystem. Tarball and Remote URL (git, http) handling COPY same as ADD without tar and remote url handling CMD kubectl –namespace <DEV|STAGING|PROD> get deployments,pods,svc,ingress cd scripts/ ./createServicePrincipal.sh tti-maps-k8s-sp Module 1 creating a cluster 1 2 3 4 5 6 minikube start minikube dashboard kubectl version kubectl cluster-info kubectl get nodes,pods kubectl get nodes --help Module 2 deploy an app Create a deployment using kubectl create deployment...