AKS Ingress не маршрутизируется должным образом - PullRequest
0 голосов
/ 28 марта 2020

У меня 2 сайта. Каждый сайт имеет свой соответствующий поддомен. Чтобы добиться этого в AKS, я использую nginx -адрес для маршрутизации трафика c в соответствии с входящим поддоменом.

Когда я ввожу http://web1.testing.com/, nginx -ingress направляет меня на testing-web1. Если я введу http://web2.testing.com/, nginx -ingress направит меня к testing-web1 вместо testing-web2.

Это ожидаемое поведение? Я что-то пропустил-настроить? Я думаю, что я почти там, но я не мог понять, что пошло не так.

Спасибо.

  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: testing-web1
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: testing-web1
    minReadySeconds: 5 
    template:
      metadata:
        labels:
          app: testing-web1
      spec:
        nodeSelector:
          "beta.kubernetes.io/os": linux
        containers:
        - name: testing-web1
          image: image-web1:1.0
          ports:
          - containerPort: 80
  ---
  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: testing-web2
  spec:
    replicas: 1
    selector:
      matchLabels:
        app: testing-web2
    minReadySeconds: 5 
    template:
      metadata:
        labels:
          app: testing-web2
      spec:
        nodeSelector:
          "beta.kubernetes.io/os": linux
        containers:
        - name: testing-web2
          image: image-web2:1.0
          ports:
          - containerPort: 80
  ---
  apiVersion: v1
  kind: Service
  metadata:
    name: testing-web1
    labels:
      app: testing-web1
  spec:
    ports:
    - port: 80
    selector:
      app: testing-web1
  ---
  apiVersion: v1
  kind: Service
  metadata:
    name: testing-web2
    labels:
      app: testing-web2
  spec:
    ports:
    - port: 80
    selector:
      app: testing-web2
  ---
  apiVersion: extensions/v1beta1
  kind: Ingress
  metadata:
    name: webapp-ingress
    annotations:
      kubernetes.io/ingress.class: nginx
      certmanager.k8s.io/cluster-issuer: letsencrypt-staging
      nginx.ingress.kubernetes.io/rewrite-target: /
  spec:
    tls:
    - hosts:
      - web1.testing.com
      - web2.testing.com
    rules:
    - host: web1.testing.com
      http:
        paths:
        - path: /
          backend:
            serviceName: testing-web1
            servicePort: 80
    - host: web2.testing.com
      http:
        paths:
        - path: /
          backend:
            serviceName: testing-web2
            servicePort: 80
    - http:
        paths:
        - backend:
            serviceName: testing-web1
            servicePort: 80
          path: /
...