503 Сервис временно недоступен EKS ALB Ingress - PullRequest
0 голосов
/ 06 апреля 2020

создание ALB с ALB Ingress Controller на eks

Ошибка заголовка, возвращаемая при создании ALB и доступе к домену

503 Service Temporarily Unavailable

, служба и развертывание выглядят так

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sample-app-b-deployment
  namespace: default
spec:
  selector:
    matchLabels:
      app: sample-app-b
  template:
    metadata:
      labels:
        app: sample-app-b
    spec:
      containers:
        - name: app-container
          image: XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/sample:c97e4bdeb61ba6196479f0b0f92347fcba828ff5
          ports:
            - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: app-b-service
  namespace: default
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 8080
      protocol: TCP
  selector:
    app.kubernetes.io/name: sample-app-b
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sample-app-a-deployment
  namespace: default
spec:
  selector:
    matchLabels:
      app: sample-app-a
  template:
    metadata:
      labels:
        app: sample-app-a
    spec:
      containers:
        - name: app-container
          image: XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/sample:c97e4bdeb61ba6196479f0b0f92347fcba828ff5
          ports:
            - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: app-a-service
  namespace: default
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 8080
      protocol: TCP
  selector:
    app.kubernetes.io/name: sample-app-a

вход похож на это

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: alb-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80},{"HTTPS": 443}]'
    alb.ingress.kubernetes.io/certificate-arn: my-arn
    alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
spec:
  rules:
    - host: example.com
      http:
        paths:
          - path: /*
            backend:
              serviceName: ssl-redirect
              servicePort: use-annotation
          - path: /
            backend:
              serviceName: app-a-service
              servicePort: 80
          - path: /app-a
            backend:
              serviceName: app-a-service
              servicePort: 80
          - path: /app-b
            backend:
              serviceName: app-b-service
              servicePort: 80

ALB создан и набор записей зарегистрирован в Route53. Я не знаю, в чем причина, потому что журнал не поступает в Cloud Watch.

При необходимости я покажу код приложения.

Я понятия не имею, где эта ошибка происходит.

Может кто-нибудь сказать мне?

Спасибо.

1 Ответ

0 голосов
/ 06 апреля 2020

fix selector

apiVersion: v1
kind: Service
metadata:
  name: app-a-service
  namespace: default
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 8080
      protocol: TCP
  selector:
    app: sample-app-a

Я думаю, причина в том, что метка развертывания не совпадает

...