Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

582
Visualizações
Kubernetes Ingress: división del tráfico del equilibrador de carga

Tengo un ingreso de kubernetes de clase nginx y dos balanceadores de carga. Ejecutándose en GKE v1.17.

Yaml de entrada de muestra:

 apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: my-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: /$1 nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" kubernetes.io/ingress.class: "nginx" # Enable client certificate authentication nginx.ingress.kubernetes.io/auth-tls-verify-client: "on" # Create the secret containing the trusted ca certificates nginx.ingress.kubernetes.io/auth-tls-secret: "production/client-cert-secret" # Specify the verification depth in the client certificates chain nginx.ingress.kubernetes.io/auth-tls-verify-depth: "1" # Automatically redirect http to https nginx.ingress.kubernetes.io/force-ssl-redirect: "true" # Use regex in paths nginx.ingress.kubernetes.io/use-regex: "true" # Allow larger request body nginx.ingress.kubernetes.io/proxy-body-size: 30m # For notifications we add the proxy headers nginx.ingress.kubernetes.io/configuration-snippet: | proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; spec: tls: - hosts: - my-domain.com secretName: my-tls-certificate rules: - host: my-domain.com http: paths: - path: /(.*) backend: serviceName: load-balancer-1 servicePort: 443

Deseo dividir el tráfico que llega a la entrada entre los dos balanceadores de carga. Por ejemplo:

load-balancer-1 recibirá el 90% del tráfico

load-balancer-2 recibirá el 10% del tráfico

¿Cómo puedo hacer eso con el ingreso de kubernetes?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El controlador de entrada de nginx admite implementaciones canarias a través de las anotaciones canarias

En algunos casos, es posible que desee "canary" un nuevo conjunto de cambios mediante el envío de una pequeña cantidad de solicitudes a un servicio diferente al servicio de producción. La anotación canary permite que la especificación Ingress actúe como un servicio alternativo para que las solicitudes se enruten según las reglas aplicadas. Las siguientes anotaciones para configurar canary se pueden habilitar después de nginx.ingress.kubernetes.io/canary: "true" :

  • nginx.ingress.kubernetes.io/canary-weight : el porcentaje basado en números enteros (0 - 100) de solicitudes aleatorias que deben enrutarse al servicio especificado en el ingreso controlado. Un peso de 0 implica que no se enviarán solicitudes al servicio en el ingreso canario por esta regla canaria. Un peso de 100 significa que todas las solicitudes se enviarán al servicio alternativo especificado en el Ingress.

Tenga en cuenta que cuando marca una entrada como canario, se ignorarán todas las demás anotaciones no canarias (heredadas de la entrada principal correspondiente), excepto nginx.ingress.kubernetes.io/load-balance y nginx.ingress.kubernetes.io/ upstream-hash-by.

Limitaciones conocidas

Actualmente, se puede aplicar un máximo de un ingreso controlado por regla de ingreso.

En otras palabras, puede introducir un nuevo objeto my-ingress-canary donde configura las anotaciones

  • nginx.ingress.kubernetes.io/canary: "true" (Le dice a Nginx Ingress que marque este como "Canary" y asocie este ingreso con el ingreso principal haciendo coincidir el host y la ruta.

  • nginx.ingress.kubernetes.io/canary-weight: "10" (enrutar el diez por ciento del tráfico al equilibrador de carga-2)

 apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: my-ingress-canary annotations: nginx.ingress.kubernetes.io/canary: "true" nginx.ingress.kubernetes.io/canary-weight: "10" spec: rules: - host: my-domain.com http: paths: - path: /(.*) backend: serviceName: load-balancer-2 servicePort: 443
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda