이 게시물은 아래 강의를 참고 하였습니다.
참고 강의 https://www.youtube.com/watch?v=KdATmTulf7s&list=PLApuRlvrZKojqx9-wIvWP3MPtgy2B372f&index=1
이론)
ex)
Client 가 login 페이지를 요청하면 login 서비스로, main 페이지를 요청하면 main 서비스로 라우팅해준다.
문제)
1. Application Service 운영
- ingress-nginx namespace에 nginx 이미지를 app=nginx 레이블을 가지고 실행하는 nginx Pod를 구성하세요.
- 앞서 생성한 nginx Pod 를 서비스 하는 nginx-service를 생성하시오.
- 현재 appjs Service는 이미 동작중입니다. 별도 구성이 필요 없습니다.
2. Ingress 구성
- app-ingess.yaml 파일을 생성하여 다음 조건의 ingress 서비스를 구성하시오.
- ingress name: app-ingress
- NODE_PORT:30080/ 접속했을 때 nginx 서비스로 연결
- NODE_PORT:30080/app 으로 접속했을 때 appjs 서비스로 연결
- Ingress 구성에 다음의 annotations를 포함시키시오.
- annotations:
- kubernetes.io/ingress.class: nginx
- annotations:
답안)
- nginx Pod 생성
$ sudo kubectl run nginx --image=nginx --labels=app=nginx -n ingress-nginx
$ sudo kubectl expose -n ingress-nginx pod nginx --port=80 --target-port=80
- Ingress 구성
* 반드시 트래픽을 보내줄 대상 서비스와 같은 네임스페이스에 ingress 를 생성해야한다.
$ sudo vi app-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: ingress-nginx
name: app-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.class: nginx
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx
port:
number: 80
- path: /app
pathType: Prefix
backend:
service:
name: appjs
port:
number: 80
$ sudo kubectl apply -f app-ingress.yaml
'k8s' 카테고리의 다른 글
CKA 준비 (20) Persistent Volume Claim을 사용하는 Pod 운영 (2) | 2022.06.17 |
---|---|
CKA 준비 (19) Persistent Volume 생성 (0) | 2022.06.17 |
CKA 준비 (17) Secret 운영 (0) | 2022.06.11 |
CKA 준비 (16) ConfigMap 운영 (0) | 2022.06.11 |
CKA 준비 (15) NodePort 서비스 생성 (0) | 2022.06.11 |