# Azure Load Balancer Configuration # This configuration uses Azure-native load balancing apiVersion: v1 kind: Service metadata: name: veza-backend-api-lb namespace: veza-production annotations: # Use Azure Load Balancer service.beta.kubernetes.io/azure-load-balancer-internal: "false" service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "subnet-name" # Health probe service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path: "/health" service.beta.kubernetes.io/azure-load-balancer-health-probe-interval: "10" service.beta.kubernetes.io/azure-load-balancer-health-probe-num-of-probe: "3" service.beta.kubernetes.io/azure-load-balancer-health-probe-timeout: "5" # Load balancing algorithm service.beta.kubernetes.io/azure-load-balancer-mode: "Standard" # or "Basic" # Session affinity service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout: "240" spec: type: LoadBalancer ports: - name: http port: 80 targetPort: 8080 protocol: TCP - name: https port: 443 targetPort: 8080 protocol: TCP selector: app: veza-backend-api --- # Ingress for Azure (using Nginx Ingress with Azure Application Gateway) apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: veza-ingress-azure namespace: veza-production annotations: kubernetes.io/ingress.class: azure/application-gateway appgw.ingress.kubernetes.io/ssl-redirect: "true" appgw.ingress.kubernetes.io/backend-protocol: "http" appgw.ingress.kubernetes.io/health-probe-path: "/health" appgw.ingress.kubernetes.io/health-probe-interval: "10" appgw.ingress.kubernetes.io/health-probe-timeout: "5" appgw.ingress.kubernetes.io/health-probe-unhealthy-threshold: "3" appgw.ingress.kubernetes.io/cookie-based-affinity: "true" appgw.ingress.kubernetes.io/request-timeout: "60" spec: tls: - hosts: - api.veza.com - app.veza.com secretName: veza-tls rules: - host: api.veza.com http: paths: - path: / pathType: Prefix backend: service: name: veza-backend-api port: number: 8080