티스토리 뷰

1. 문제 #1 LB 서비스 및 ExternalTrafficPolicy 설정 

1) 시나리오 

- 쿠버네티스 클러스터에서 외부 트래픽을 처리하기 위해 로드밸런서 서비스를 구성

(1) 로드밸런서 서비스 생성

- nginx 이미지를 사용하여 Deployment 생성 

- 이름: nginx-deployment

- 3개의 레플리카

- LB 이름: nginx-loadbalancer 

- 외부 클라이언트가 서비스의 외부 IP를 통해 HTTP 요청을 보낼 수 있도록 구성 

(2) ExternalTrafficPolicy 설정 

- LB서비스의 ExternalTrafficPolicy를 Local로 설정하여, 트래픽이 로컬노드에서만 처리되도록 구성 

- 각 노드에서 실행 중인 Pod만 트래픽을 처리하도록 보장 

(3) 결과 확인

 - 외부 IP를 통해 HTTP 요청을 보내고 응답이 성공적으로 반환되는지 확인 

(4) externalTrafficPolicy

- externalTrafficPolicy: kubernetes의 LB또는 NodePort서비스에서 외부 트래픽을 처리하는 방식을 제어하는 옵션 

- 두가지 값: Cluster, Local 을 가질 수있다. 

- Cluster: 외부 트래픽이 클러스터 내부의 모든 노드로 전달. Pod가 없는 노드로 전달 가능. 클라이언트의 소 IP가 유지되지 않음 ex) 일반적인 웹 어플리케이션 

- Local: 외부 트래픽은 Pod가 실행 중인 노드에서만 처리. 클라이언트의 소스 IP가 유지 ex)클라이언트 IP 기반로깅, 방화벽 규칙 적용 등에 사용 

2) 해결과정 

(1) YAML 작성 

#nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80 # NGINX 기본 HTTP 포트

(2) Deployment 생성 

kubectl apply -f nginx-deployment.yaml

(3) LB 서비스 YAML작성 

apiVersion: v1
kind: Service
metadata:
 name: nginx-loadbalancer
spec:
 type: LoadBalancer #외부 로드밸런서를 통해 트래픽 처리
 selector:
  app: nginx # Deployment와 연결된 Selector 설정 
 ports:
 - protocol: TCP
   port:80 #서비스 포트(클라이언트가 접근할 포트)
   targetPort: 80 #Pod 내부 컨테이너 포트(NGINX 기본포트)

(4) LB 서비스 생성 

kubectl apply -f nginx-loadbalancer.yaml

(5) 외부 IP 확인 

kubectl get svc nginx-loadbalancer

NAME                  TYPE           CLUSTER-IP       EXTERNAL-IP      PORT(S)        AGE
nginx-loadbalancer    LoadBalancer   10.96.233.123    203.0.113.10     80:31234/TCP   30s

(6) 외부 IP로 HTTP 요청 테스트 

curl http://203.0.113.10/
 
 <!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
</html>

 

'쿠버네티스' 카테고리의 다른 글

CKA 기출문제 정리 external name  (0) 2025.01.02
CKA 기출문제 정리 NetworkPolicy  (0) 2025.01.02
CKA 기출 문제 데몬셋  (0) 2025.01.01
CKA 기출문제 정리 HPA  (0) 2025.01.01
CKA 기출 문제 정리 Multi-container Pods  (0) 2025.01.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함