
쿠버네티스에 대해 공부하던 중 파드(Pod)와 컨테이너(Container)의 네트워크 구조 이해에 혼동이 있어 이를 이해하기 위해 글을 작성하게 되었습니다.
쿠버네티스에서 파드와 컨테이너는 밀접한 관계가 있지만 동일한 개념은 아닙니다.
파드는 쿠버네티스에서 고유한 IP 주소를 가지며, 이 IP는 파드 내 모든 컨테이너가 공유합니다.
파드 내 컨테이너들은 동일한 네트워크 네임스페이스를 사용하며, 서로 다른 파드와는 독립적으로 동작합니다.
❗️결론적으로, 파드의 IP = 파드 내 모든 컨테이너의 IP입니다.
서로 다른 파드에서 동일한 포트 번호 사용이 가능합니다. 서로 다른 파드는 각각 고유한 IP를 가지기 때문에 동일한 포트 번호를 사용하더라도 충돌이 발생하지 않습니다.
192.168.1.18080192.168.1.28080클라이언트는 IP 주소를 통해 특정 파드와 통신하므로, 포트 번호가 같더라도 각각의 파드를 구분할 수 있습니다.
192.168.1.1:8080 → Pod A의 컨테이너192.168.1.2:8080 → Pod B의 컨테이너파드 내부의 컨테이너들은 로컬 호스트(localhost)와 포트 번호를 사용해 서로 통신합니다.
localhost를 통해 서로 접근할 수 있습니다,컨테이너 A가 컨테이너 B와 통신하려면 localhost:9090을 사용합니다.
쿠버네티스는 컨테이너 하나하나를 관리하기보다는 파드(Pod)라는 그룹 단위로 네트워크를 관리합니다. 이렇게 하는 이유는 관리하기 더 쉽고, 효율적이기 때문입니다.
컨테이너를 묶어서 관리:
파드 내부 통신을 간단하게 함:
localhost로 바로 연결됩니다. 서로 다른 IP를 주고 따로 연결을 설정할 필요가 없습니다.파드끼리는 독립적:
이렇게 함으로써 관리가 훨씬 간단해지고, 컨테이너 수가 많아져도 쉽게 확장할 수 있으며, 대규모 시스템에서도 유연하게 네트워크를 설정할 수 있습니다.
localhost와 포트를 통해 통신합니다.