네트워킹 - 서비스 노출

이번 실습에서는 클러스터를 외부에 노출 되도록 서비스, 배포 또는 파드를 구성하는 방법을 확인 하고 이를 위한 다양한 방법도 검토 합니다.

네트워킹에 대한 쿠버네티스 접근 방식을 논의하기 전에 네트워킹이 Docker에서 작동하는 방식과 대조해 보는 것이 의미가 있습니다.

기본적으로 Docker는 호스트-프라이빗 네트워킹을 사용하므로 컨테이너는 동일한 머신에 있는 경우에만 다른 컨테이너와 통신 할 수 있습니다. Docker 컨테이너가 노드간에 통신하려면 머신의 자체 IP 주소에 할당된 포트가 있어야 합니다. 그런 다음 컨테이너로 전달되거나 프록시 됩니다. 이는 컨테이너가 매우 신중하게 사용하는 포트를 조정하거나 동적으로 포트를 할당해야 함을 의미 합니다. 여러 개발자간에 포트를 조정하는 것은 대규모로 수행하기가 매우 어렵고 사용자가 제어 할 수 없는 클러스터 수준의 문제에 직면 합니다.

쿠버네티스는 파드가 어떤 호스트에 연결 되든 관계 없이 파드가 다른 파드와 통신 할 수 있다고 가정합니다. 모든 파드에 고유한 cluster-private-IP 주소를 제공 하므로 파드간에 링크를 명시적으로 만들거나 컨테이너 포트를 호스트 포트에 매핑 할 필요가 없습니다. 즉, 파드 내의 컨테이너는 모두 localhost에서 서로의 포트에 도달 할 수 있으며 클러스터의 모든 파드는 NAT 없이 서로를 볼 수 있습니다.

Last updated