kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.2/deploy/static/provider/cloud/deploy.yaml
설치 후 다음 두 컴포넌트 확인:
kubectl get pod -n ingress-nginx
echo "211.183.3.202 www.aws9.pri" >> /etc/hosts
ingress-rule.yml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: aws9-portal
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
- host: www.aws9.pri
http:
paths:
- path: "/shop(/|$)"
pathType: Prefix
backend:
service:
name: aws9-svc-shop
port:
number: 8080
- path: "/blog(/|$)"
pathType: Prefix
backend:
service:
name: aws9-svc-blog
port:
number: 8080
접속 예시
# shop 페이지 → blue 버전
apiVersion: apps/v1
kind: Deployment
metadata:
name: aws9-deploy-blue
spec:
replicas: 1
selector:
matchLabels:
color: blue
template:
metadata:
labels:
color: blue
spec:
containers:
- name: aws9ctn-blue
image: brian24/aws9:blue
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: aws9-svc-shop
spec:
ports:
- name: aws9-port-shop
port: 8080
protocol: TCP
targetPort: 80
selector:
color: blue
---
# blog 페이지 → green 버전
apiVersion: apps/v1
kind: Deployment
metadata:
name: aws9-deploy-green
spec:
replicas: 1
selector:
matchLabels:
color: green
template:
metadata:
labels:
color: green
spec:
containers:
- name: aws9ctn-green
image: brian24/aws9:green
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: aws9-svc-blog
spec:
ports:
- name: aws9-port-blog
port: 8080
protocol: TCP
targetPort: 80
selector:
color: green
kubectl apply -f ingress-rule.yml
kubectl apply -f <blue/green service + deployment>
curl http://www.aws9.pri/shop
curl http://www.aws9.pri/blog
항목 내용
기능 분리 | 각 기능별 Deployment/Service 구성 가능 → 개발 분업 |
유지보수 | 장애 시 해당 Pod/Deployment만 수정 가능 |
확장성 | HPA 적용 시 shop만 scale-out 가능 (개별 적용) |
트래픽 분산 | Ingress + NGINX를 통해 효율적인 트래픽 분기 가능 |
동적 프로비전 (Dynamic Provisioning) (0) | 2025.04.16 |
---|---|
Kubernetes NFS 기반 정적 프로비저닝 및 ResourceQuota 적용 실습 정리 (0) | 2025.04.16 |
📈 Kubernetes HPA 실습: Horizontal Pod Autoscaler (0) | 2025.04.15 |
🌀 Kubernetes 실습: Blue/Green Deployment (with LoadBalancer Service) (1) | 2025.04.15 |
Kubernetes 배포 기본 개념 및 실습 정리 (1) | 2025.04.15 |