CKA SimA PQ2 Kube-Proxy iptables

Jmnote (토론 | 기여)님의 2025년 9월 19일 (금) 03:01 판 (→‎개요)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요[ | ]

kube-proxy의 iptables 동작 확인
  • kube-proxy가 iptables 모드로 동작하고 있는지 확인하는 절차
  • Service 생성 시 iptables 규칙이 생성되고, 삭제 시 제거되는지 검증
  • iptables-save 명령을 통해 노드 단의 규칙 확인 가능
  • kube-proxy 로그를 통해 프록시 모드(iptables인지 여부) 확인 가능
  • 관련문서: "debug service" → https://kubernetes.io/docs/tasks/debug/debug-application/debug-service/

2 테스트 환경 구성[ | ]

  • 테스트용 네임스페이스 생성
# k create ns project-echo
namespace/project-echo created
  • 테스트용 Pod 생성 (nginx:1-alpine)
# k -n project-echo run echo-pod --image=nginx:1-alpine
pod/echo-pod created
  • Pod를 노출하는 ClusterIP 서비스 생성
# k -n project-echo expose pod echo-pod --name echo-service --port 3000 --target-port 80
service/echo-service exposed

3 리소스 상태 확인[ | ]

  • Pod, Service, Endpoint 간 연결 상태 확인
# k -n project-echo get po,svc,ep
NAME           READY   STATUS    RESTARTS   AGE
echo-pod       1/1     Running   0          10s

NAME           TYPE        CLUSTER-IP      PORT(S)     AGE
echo-service   ClusterIP   10.105.128.247  3000/TCP    5s

NAME           ENDPOINTS         AGE
echo-service   10.244.0.12:80    5s

4 kube-proxy 상태 및 모드 확인[ | ]

  • kube-proxy 프로세스가 있는지 확인
# sudo crictl ps | grep kube-proxy
67cccaf8310a1   kube-proxy ...   Running ...
  • 로그에서 iptables 모드로 동작하는지 확인
# sudo crictl logs 67cccaf8310a1 | grep iptables
"Using iptables proxy"

5 iptables 규칙 확인[ | ]

  • 서비스에 대한 iptables 규칙 존재 여부 확인
# sudo iptables-save | grep echo-service
-A KUBE-SEP-XXXXXX -s 10.244.0.12/32 -m comment --comment "project-echo/echo-service" -j KUBE-MARK-MASQ
-A KUBE-SEP-XXXXXX -p tcp -m comment --comment "project-echo/echo-service" -m tcp -j DNAT --to-destination 10.244.0.12:80
-A KUBE-SERVICES -d 10.105.128.247/32 -p tcp -m comment --comment "project-echo/echo-service cluster IP" -m tcp --dport 3000 -j KUBE-SVC-YYYYYY
-A KUBE-SVC-YYYYYY ! -s 10.244.0.0/16 -d 10.105.128.247/32 -p tcp -m comment --comment "project-echo/echo-service cluster IP" -m tcp --dport 3000 -j KUBE-MARK-MASQ
-A KUBE-SVC-YYYYYY -m comment --comment "project-echo/echo-service -> 10.244.0.12:80" -j KUBE-SEP-XXXXXX

6 iptables 규칙 백업[ | ]

  • 추출된 규칙을 파일로 저장
# sudo iptables-save | grep echo-service > /opt/course/p2/iptables.txt

7 서비스 삭제 및 규칙 제거 확인[ | ]

  • 서비스 삭제
# k -n project-echo delete svc echo-service
service "echo-service" deleted
  • 관련 iptables 규칙이 제거되었는지 확인
# sudo iptables-save | grep echo-service

8 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}