Anteriormente fizemos o expose do Hello F5 pelo LoadBalancer, porém ele possui uma série de limitações, como por exemplo ter que possuir 1 IP para cada service. O mais comum é a utilização do Ingress Controller com NGIX.
Antes de iniciarmos vamos retornar o service do F5 para ClusterIP
kubectl delete svc hello-f5-svc -n f5
Em seguida faça o apply do yaml:
Agora vamos iniciar a configuração do Ingress Controller, ele consiste na instalação do Ingress e criação das rotas.
Vamos criar o namespace onde o ingress vai ficar:
kubectl create namespace ingress-basic
Em seguida vamos adicionar os repositórios necessários:
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm repo update
Para utilizar o mesmo IP utilizado no LoadBalancer, deve-se mover o IP para o ResourceGroup do AKS, que é o MC_cloud-fernando-dev_aks-fernando-lab_eastus.
Vamos instalar o Ingress:
helm install ingress-nginx ingress-nginx/ingress-nginx --namespace ingress-basic --set controller.replicaCount=2 --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux --set controller.service.externalTrafficPolicy=Local --set controller.service.loadBalancerIP="20.253.1.125"
kubectl get pods -n ingress-basic
kubectl get svc -A
Em seguida vamos criar a rota:
Salve o arquivo e em seguida apply:
kubectl apply -f .\ingress-domain-box.yaml
kubectl get ing -n box
Agora vamos fazer a mesma coisa com o F5:
kubectl apply -f .\ingress-domain-f5.yaml
kubectl get ing -A
E aqui encerramos nosso lab!
Enjoy!!
תגובות