DevOps 3

NAT가 뭘까? SNAT & DNAT

제가 생각하는 NAT는 그저 아래와 같았습니다. 사설 IP 대역 PC(192.168 대역)에서 특정 서버에 Request시, 내 내부망 IP를 실제 인터넷 공인 IP로 전환해주는 역할이 NAT인 것으로 알고 있었으며, NAT가 뭔지 상세하게 작성해봅니다. 우선 NAT의 정의는 이렇습니다.NAT(Network Address Translation)는 영어 풀이 그대로, 네트워크 주소를 변경해주는 기술입니다.아, 그러면 내 PC에서 서버로 요청을 할 때 내 IP주소가 공인 IP로 변환되는데, 상대 서버에서 주는 응답은 어떻게 돌아오는 걸까요? 최초 공인 IP로 전환 시, NAT translation table이라는 곳에 도착지 서버IP와 PC의 사설IP가 등록됩니다. 응답이 올 경우 table에서 도착지 서..

[쿠버 뿌셔 02] Endpoint - 외부 패킷이 Pod로 가기까지의 여정

쿠버네티스 외부에서 들어오는 요청은 어떻게 Pod까지 도달하게 될까요?원래 제가 기존에 알고 있던 부분은 아래와 같은 간단한 3단계였습니다.Ingress -> Service -> Pod그럼 실제로 어떻게 패킷이 흘러갈까요?구성은 아래와 같다고 정의합니다.EKS 환경Ingress controller: aws loadbalancer controllerservice : nginx-svcingress : nginx-ingdeployment : nginx-deploy (replicas:2)도메인 URL: ray-ops.com/index상황: 클라이언트가 "http://rayops.com:80/nginx" 으로 접근을 시도하여 쿠버네티스 LoadBalancer Service 까지 도달제가 잘못알고 있던 부분은 In..

DevOps/Kubernetes 2025.09.30

[쿠버 뿌셔 01] Kubernetes의 Pod가 생성되는 과정

아래와 같은 Pod를 생성하는 명령을 입력하게 된다면 쿠버네티스 내부에서는 어떻게 동작이 일어날까요?kubectl run test-pod --image=nginx 저는 4가지 단계로 구분을 진행했습니다.1. ETCD 저장(Pending) 과정 (kube-apiserver)우선 첫번째로 해당 명령어는 kube-apiserver로 전달되게 됩니다.kube-apiserver는 해당 명령을 실행할 수 있는 권한을 가진 사용자가 실행을 했는지 확인을 진행합니다.인증(Authentication): 요청한 사용자가 누구인지 확인합니다.인가(Authorization): 해당 사용자가 Pod에 대한 생성 권한이 있는지 확인합니다.Admission Control: ResourceQuota나 PodSecurityPolicy..

DevOps/Kubernetes 2025.09.30