У меня есть приложение gatsby, и я использую EKS для управления моим кластером. Несмотря на то, что я залез в свой модуль и свернулся с localhost:3000
и получил ответ, я не могу нажать свой балансировщик нагрузки и получить ответ.
Вот так выглядит мой Dockerfile
FROM node:10
WORKDIR /app
COPY package.json ./
RUN yarn
COPY . .
RUN yarn gatsby:build-staging
EXPOSE 3000
ENV NODE_ENV=development
ENV REACT_APP_STAGE=development
CMD [ "yarn", "serve" ]
Вот так выглядит мой файл k8s
apiVersion: v1
kind: Service
metadata:
name: <SOME_NAME>
labels:
app: <SOME_NAME>
annotations:
# Note that the backend talks over HTTP.
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
# TODO: Not comfortable with this being in code - TODO: move this into a circleci environment variable
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: <SSL CERT>
# Only run SSL on the port named "https" below.
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
spec:
type: LoadBalancer
selector:
app: <SOME_NAME>
ports:
- port: 443
targetPort: 3000
protocol: TCP
name: https
- port: 80
targetPort: 3000
protocol: TCP
name: http
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: <SOME_NAME>
labels:
app: <SOME_NAME>
spec:
replicas: 1
selector:
matchLabels:
app: <SOME_NAME>
template:
metadata:
labels:
app: <SOME_NAME>
spec:
containers:
- name: <SOME_NAME>
image: <IMAGE_NAME>
imagePullPolicy: Always
env:
- name: VERSION_INFO
value: "1.0"
- name: BUILD_DATE
value: "1.0"
ports:
- containerPort: 3000
Вот так serve
выглядит
"gatsby serve -p 3000"
Я не понимаю, почему у меня проблема - когда я ssh встручок и завиток против http://localhost:3000
Я получаю ответ. Кажется, что-то не так с балансировщиком нагрузки.