쟝이의 세상
Kubernetes(Ingress) 본문
💡 인그레스(Ingress)
클러스터 외부에서 내부 서비스로 접근하는 HTTP, HTTPS 요청들을 어떻게 처리할지 정의해둔 규칙들의 모음
부하 분산, SSL 인증서 처리, 도메인 기반으로 가상 호스팅을 제공
(인그레스 개념은 쿠버네티스 API를 통해 정의한 규칙에 기반하여 트래픽을 다른 백엔드에 매핑할 수 있게 해 준다.)
이러한 규칙들을 실제로 동작하게 해 주는 것은 인그레스 컨트롤러(Ingress-Controller)이다.
1) 클라우드 서비스 사용 - 자사의 로드밸런서 서비스들과 연동하여 Ingress 사용 가능
2) 클러스터 구축하여 사용 - Ingress Controller를 직접 Ingress와 연동시켜줘야 함
✔️ ingress controller 설치
(NGINX Ingress Controller 위치: ~/lab/05/ingress)
$ kubectl create -f ingress-nginx.yaml
✔️ ingress-nginx 네임스페이스 안의 리소스 조회
$ kubectl -n ingress-nginx get all
👇🏻 결과 화면
더보기


ingress-nginx-controller 서비스가 로드밸런서 타입으로 External-IP를 미리 할당 받음
✔️ 이전에 default 네임스페이스의 모든 리소스를 삭제
$ kubectl delete all --all
📌 외부 클라이언트로 서비스 노출
guestbook Replicaset과 Service 생성 |
$ kubectl create -f guestbook.yaml
👇🏻 yaml 파일 보기
더보기
guestbook.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: guestbook
spec:
replicas: 1
selector:
matchLabels:
app: guestbook
template:
metadata:
labels:
app: guestbook
spec:
containers:
- name: guestbook
image: yu3papa/k8s_guestbook:ingress
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: guestbook
spec:
ports:
- port: 80
targetPort: 8080
selector:
✔️ 만들어진 Service가 서비스 되는지 curl 명령어로 확인
$ curl -s http://10.104.63.234/guestbook/ | grep title
👇🏻 결과 화면
calculator Replicaset과 Service 생성 |
$ kubectl create -f calculator.yaml
👇🏻 yaml 파일 보기
더보기
calculator.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: calculator
spec:
replicas: 1
selector:
matchLabels:
app: calculator
template:
metadata:
labels:
app: calculator
spec:
containers:
- name: calculator
image: yu3papa/k8s_calculator:ingress
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: calculator
spec:
ports:
- port: 80
targetPort: 8080
selector:
✔️ 만들어진 Service가 서비스 되는지 curl 명령어로 확인
$ curl -s http://10.109.138.159/calculator/ | grep title
👇🏻 결과 화면
ingress 리소스 생성 |
$ kubectl create -f jadeedu-ingress.yaml
✔️ ingress 리소스 조회
$ kubectl describe ing jadeedu-ingress
👇🏻 결과 화면
더보기

$ kubectl describe ing jadeedu-ingress

hosts파일에 ingress ip주소 등록 ▶ hosts 파일 수정 192.168.56.201 edu.jadecross.com -> 해당 내용 추가하기 |
✔️ 도메인 명을 사용하여 각 서비스에 접속해보기
1) http://edu.jadecross.com/guestbook
2) http://edu.jadecross.com/calculator
'수업내용' 카테고리의 다른 글
AWS에서 애플리케이션 로드 밸런서를 사용하여 EC2 인스턴스 관리, 배포 (0) | 2024.10.18 |
---|---|
AWS에서 웹 애플리케이션 배포하기 위한 프로세스 (0) | 2024.10.16 |
Kubernetes(yaml 파일 수정, service) (0) | 2024.09.30 |
Kubernetes 실습 (0) | 2024.09.27 |
Kubernetes(label, namespace) (0) | 2024.09.27 |