본문 바로가기
cloud/k8s(문제풀이)

[따배쿠CKA]18.ingress 구성

by mozi2 2022. 8. 12.
반응형

* Ingress 란?

클러스터 외부에서 클러스터 내부 서비스로 HTTP 와 HTTPS 경로를 노출한다. 

 

kubectl config use-context k8s

1. Application Service 운영
 - ingres-nginx namespace 에 nginx 이미지를 app=nginx 레이블을 가지고 실행하는 nginx pod를 구성하세요. 
 - 앞서 생성한 nginx Pod를 서비스하는 nginx service를 생성하시오. 
 - 현재 appjs-service Service는 이미 동작 중입니다. 별도 구성이 필요 없습니다. 

 

1. 네임스페이스 만들기 or 확인하기 

k create ns  ingres-nginx

k get ns 
k get pods -n  ingres-nginx

2. pod 만들기

k run nginx --image=nginx --labels=app=nginx -n ingres-nginx --dry-run=client -o yaml > nginx.yaml

k apply -f nginx.yaml
k get pods -n ingress-nginx

3. nginx Pod를 서비스하는 nginx service 생성하기

:서비스 만들떄 유용한 명령어: expose 

k expose  pod nginx -n ingres-nginx --port 80 --target-port=80 --dry-run -o yaml > 
k expose  pod [적용할 pod 이름], -namespace, --port [port number], --target-port [target port number]

좌: pod, 우: service

4. 확인

k describe svc -n ingress-nginx


2. Ingress 구성
 - app-ingress.yaml 파일을 생성하여 다음 조건의 ingress 서비스를 구성하시오
  • ingress name: app-ingress
  
• NODE_Port:30080/ 접속했을 때 nginx 서비스로 연결
  
• NODE_Port:30080/app 접속했을 때 appjs-service 서비스로 연결
  
• Ingress 구성에 다음의 annotations 을 포함시키시오
     annotations:
        kubernetes.io/ingress.class: nginx

1. ingress 생성하기

vi appjs-ingress.yaml

* path 작성시 service 의 이름은 주어진 제시문에 따라 작성해야 한다

 

2. NODE_Port:30080/ 접속했을 때 nginx 서비스로 연결

kubectl get svc -A

3. NODE_Port:30080/app 접속했을 때 appjs-service 서비스로 연결

 

4. 확인 

k dsecribe ingress app-ingress

curl node01:30080

했을때 welcome to nginx 가 뜨면 됨

나의 경우 환경 세팅 자체가 ingress svc 가 없었기 때문에 일단 스킵 

 

*namespace 모두 지정해줘야 함

 

* 본 게시글은 "TTABAE-LEARN" 을 보고 정리한 내용입니다.

728x90
반응형