---으로 행을 나누면, 하나의 파일에서 여러 오브젝트를 정의할 수 있다.apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
data:
nginx.conf: |
events {}
http {
server {
listen 80;
location / {
proxy_pass http://localhost:3000;
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-Proto $scheme;
}
}
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: last-week-project-deployment
spec:
replicas: 3
selector:
matchLabels:
app: last-week-project
template:
metadata:
labels:
app: last-week-project
spec:
containers:
- name: redis
image: redis
resources:
requests:
cpu: "100m"
memory: "256Mi"
limits:
cpu: "100m"
memory: "256Mi"
- name: app-container
image: teamspartacontents/k8s_lecture1:last-week-project
env:
- name: DB_HOST
valueFrom:
secretKeyRef:
name: mini-project-secret
key: DB_HOST
- name: DB_USER
valueFrom:
secretKeyRef:
name: mini-project-secret
key: DB_USER
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: mini-project-secret
key: DB_PASS
- name: DB_DATABASE
valueFrom:
secretKeyRef:
name: mini-project-secret
key: DB_DATABASE
resources:
requests:
cpu: "500m"
memory: "500Mi"
limits:
cpu: "500m"
memory: "500Mi"
ports:
- containerPort: 3000
- name: nginx
image: nginx:latest
resources:
requests:
cpu: "100m"
memory: "100Mi"
limits:
cpu: "100m"
memory: "100Mi"
ports:
- containerPort: 80
volumeMounts:
- name: nginx-config
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
volumes:
- name: nginx-config
configMap:
name: nginx-config
---
apiVersion: v1
kind: Service
metadata:
name: last-week-project-svc
namespace: default
spec:
selector:
app: last-week-project
ports:
- port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: last-week-project-ingress
namespace: default
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
spec:
ingressClassName: alb
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: last-week-project-svc
port:
number: 80





teamspartacontents/k8s_lecture1:last-week-attack 이미지를 pull 하자.docker pull teamspartacontents/k8s_lecture1:last-week-attack
-it 옵션을 붙여서 docker run으로 실행docker run -it teamspartacontents/k8s_lecture1:last-week-attack
URL을 묻는 화면에 미니 프로젝트의 인그레스 접속 주소를 붙여넣는다.

부하 정도를 묻는 화면이 나오는 데, 여기에 적당한 값을 입력

