Skip to content

Instantly share code, notes, and snippets.

@dorfo-dev
Created January 20, 2022 21:59
Show Gist options
  • Save dorfo-dev/5acd4aad9d651a82a70e265d9695f0b4 to your computer and use it in GitHub Desktop.
Save dorfo-dev/5acd4aad9d651a82a70e265d9695f0b4 to your computer and use it in GitHub Desktop.
Multiples Nginx controller no K8s

Primeiro Crie dois namespaces

  kubectl create namespace nginx-api
   kubectl create namespace nginx-front

Depois adicione o Nginx Controller ao Helm e atualize o repo

 helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
 helm repo update

Instale o primeiro nginx controller

   helm install nginx-api ingress-nginx/ingress-nginx \
 --namespace nginx-api \
 --set controller.ingressClassResource.name=nginx-api  \
 --set controller.replicaCount=2 \
 --set defaultBackend.nodeSelector."kubernetes\.io/os"=linux \
 --set defaultBackend.image.digest=""

Instale o segundo nginx controller

   helm install nginx-front ingress-nginx/ingress-nginx \
 --namespace nginx-front \
 --set controller.ingressClassResource.name=nginx-front  \
 --set controller.replicaCount=2 \
 --set defaultBackend.nodeSelector."kubernetes\.io/os"=linux \
 --set defaultBackend.image.digest=""

Feito agora temos dois nginx controller como ingress

Como usar nginx-api

apiVersion: networking.k8s.io/v1
 kind: Ingress
 metadata:
   name: example
   namespace: foo
 spec:
   ingressClassName:  nginx-api
   rules:
     - host: www.example.com
       http:
         paths:
           - backend:
               service:
                 name: exampleService
                 port:
                   number: 80
             path: /
   # This section is only required if TLS is to be enabled for the Ingress
   tls:
     - hosts:
       - www.example.com
       secretName: example-tls

Como usar nginx-front

apiVersion: networking.k8s.io/v1
 kind: Ingress
 metadata:
   name: example
   namespace: foo
 spec:
   ingressClassName:  nginx-api
   rules:
     - host: www.example.com
       http:
         paths:
           - backend:
               service:
                 name: exampleService
                 port:
                   number: 80
             path: /
   # This section is only required if TLS is to be enabled for the Ingress
   tls:
     - hosts:
       - www.example.com
       secretName: example-tls
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment