【发布时间】:2025-12-04 00:45:01
【问题描述】:
部署到AWS EKS 后出现此错误
Gtihub 仓库:https://github.com/oussamabouchikhi/udagram-microservices
复制步骤
- 创建
AWS EKS集群和节点组 - 使用
kubectl配置EKS集群 - 部署到
EKS集群(首先是secrets,然后是其他服务,然后是reverserproxy)
。kubectl apply -f env-secret.yaml
。kubectl apply -f aws-secret.yaml
。kubectl apply -f env-configmap.yaml
。 ...
。kubectl apply -f reverseproxy-deployment.yaml
。kubectl apply -f reverseproxy-service.yaml
nginx 配置
worker_processes 1;
events { worker_connections 1024; }
error_log /dev/stdout debug;
http {
sendfile on;
upstream users {
server udagram-users:8080;
}
upstream feed {
server udagram-feed:8080;
}
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
server {
listen 8080;
location /api/v0/feed {
resolver 8.8.8.8;
proxy_pass http://feed;
}
location /api/v0/users {
resolver 8.8.8.8;
proxy_pass http://users;
}
}
}
码头工人撰写
version: '3'
services:
reverseproxy:
image: oussamabouchikhi/reverseproxy
ports:
- 8080:8080
restart: always
depends_on:
- udagram-users
- udagram-feed
networks:
- example-net
udagram-users:
image: oussamabouchikhi/udagram-api-users
volumes:
- $HOME/.aws:/root/.aws
environment:
POSTGRES_USERNAME: $POSTGRES_USERNAME
POSTGRES_PASSWORD: $POSTGRES_PASSWORD
POSTGRES_DB: $POSTGRES_DB
POSTGRES_HOST: $POSTGRES_HOST
AWS_REGION: $AWS_REGION
AWS_PROFILE: $AWS_PROFILE
AWS_MEDIA_BUCKET: $AWS_BUCKET
JWT_SECRET: $JWT_SECRET
URL: $URL
networks:
- example-net
udagram-feed:
image: oussamabouchikhi/udagram-api-feed
volumes:
- $HOME/.aws:/root/.aws
environment:
POSTGRES_USERNAME: $POSTGRES_USERNAME
POSTGRES_PASSWORD: $POSTGRES_PASSWORD
POSTGRES_DB: $POSTGRES_DB
POSTGRES_HOST: $POSTGRES_HOST
AWS_REGION: $AWS_REGION
AWS_PROFILE: $AWS_PROFILE
AWS_MEDIA_BUCKET: $AWS_BUCKET
JWT_SECRET: $JWT_SECRET
URL: $URL
networks:
- example-net
udagram-frontend:
image: oussamabouchikhi/udagram-frontend
ports:
- '8100:80'
networks:
- example-net
networks:
example-net:
external: true
反向代理部署
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
service: reverseproxy
name: reverseproxy
spec:
replicas: 1
selector:
matchLabels:
service: reverseproxy
template:
metadata:
labels:
service: reverseproxy
spec:
containers:
- image: oussamabouchikhi/reverseproxy:latest
name: reverseproxy
imagePullPolicy: Always
resources:
requests:
memory: '64Mi'
cpu: '250m'
limits:
memory: '1024Mi'
cpu: '500m'
ports:
- containerPort: 8080
restartPolicy: Always
反向代理服务
apiVersion: v1
kind: Service
metadata:
labels:
service: reverseproxy
name: reverseproxy
spec:
ports:
- name: "8080"
port: 8080
targetPort: 8080
selector:
service: reverseproxy
type: LoadBalancer
【问题讨论】:
标签: amazon-web-services nginx kubernetes amazon-eks nginx-reverse-proxy