Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

200
Views
¿Cómo puedo unirme a un grupo de entrada de ALB en lugar de anular uno existente en EKS?

Estoy implementando K8S en el clúster de AWS EKS y uso ALB para las implementaciones. Me gustaría usar un ALB para varios servicios, pero no sé cómo compartir el mismo ALB. Cada vez que implemente un ingreso, anulará uno existente.

Tengo dos archivos de configuración yaml:

a.yaml

 --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: sample-ingress namespace: default annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/group.name: sample-ingress alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/group.order: '1' spec: rules: - http: paths: - path: /sample-app/* backend: serviceName: sample-entrypoint servicePort: 80

b.yaml

 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: sample-ingress namespace: default annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/group.name: sample-ingress alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/group.order: '2' spec: rules: - http: paths: - path: /sample-es/* backend: serviceName: sample-es-entrypoint servicePort: 9200

Me gustaría que ambos compartan el mismo ALB, así que especifico que el nombre del grupo sea el mismo:

alb.ingress.kubernetes.io/group.name: sample-ingress

También especifico un orden diferente en los dos archivos.

pero cuando ejecuto kubectl apply -f a.yaml , crea un ALB con la regla que especifiqué en el archivo de configuración: /sample-app/* . Pero cuando ejecuto kubectl apply -f b.yaml , anula la regla existente con /sample-es/* . Entonces, ¿cómo puedo hacer que ambos compartan el mismo ALB y les permita proporcionar reglas diferentes?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Supongo que puede crear entradas separadas y adjuntarlas a la misma configuración de servicio. Apunte la configuración del servicio con alb, y eso debería funcionar. Tengo una configuración para servicios orientados al interior, vea si esto funciona para usted.

 apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0 labels: app.kubernetes.io/instance: goldendev-ingress-test app.kubernetes.io/managed-by: Tiller app.kubernetes.io/name: ingress-test environment: DEV helm.sh/chart: ingress-test name: ingress-test namespace: default spec: externalTrafficPolicy: Cluster ports: - name: http port: 80 protocol: TCP targetPort: 8080 selector: app.kubernetes.io/instance: z1 app.kubernetes.io/name: gunicorn sessionAffinity: None type: LoadBalancer

Ingress.yaml

 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: sample-ingress namespace: default annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/group.name: sample-ingress alb.ingress.kubernetes.io/scheme: internal alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/group.order: '1' spec: rules: - http: paths: - path: /mappings/v1/hello/* backend: serviceName: ingress-test servicePort: 80 --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: sample-ingress-1 namespace: default annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/group.name: sample-ingress alb.ingress.kubernetes.io/scheme: internal alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes.io/group.order: '2' spec: rules: - http: paths: - path: /mappings/v1/teams/* backend: serviceName: ingress-test-2 servicePort: 80

Verifiqué en la consola de AWS, ha creado solo 1 balanceador de carga con configuración de servicio. Lista de ingreso:

 kubectl get ingress NAME HOSTS ADDRESS PORTS AGE sample-ingress * 80 19m sample-ingress-1 * 80 19m

Déjeme saber si esto ayuda.

over 4 years ago · Santiago Trujillo Report

0

Lo he intentado con hosts como se muestra a continuación;

 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: pub-uat-alb namespace: "uat-env" labels: imaharah-k8s/environment: staging annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: instance alb.ingress.kubernetes.io/tags: environment=staging alb.ingress.kubernetes.io/success-codes: '200,301,401' alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:123435678977:certificate/hskrhjf93ih-y4325kjhdsf0-hsr98 alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-1-2017-01 alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]' alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}' spec: rules: - http: paths: - path: /* backend: serviceName: ssl-redirect servicePort: use-annotation - host: test1.test.com http: paths: - path: /* backend: serviceName: test1-service servicePort: 80 - host: test2.test.com http: paths: - path: /* backend: serviceName: test2-service servicePort: 80 - host: test3.test.com http: paths: - path: /* backend: serviceName: test3-service servicePort: 80

verificar --->

 [centos@ip-10-0-68-81 pub]$ kubectl get ingress -n uat-env --kubeconfig=$dev NAME CLASS HOSTS ADDRESS PORTS AGE pub-uat-alb <none> test1.test.com,test2.test.com,test3.test.com test-uatenv-testtest-gfsadasd76-94238798.us-east-1.elb.amazonaws.com 80 3d6h
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!