Kubenetes에서의 매칭관계

Harrison Jung·2022년 3월 4일
0
post-thumbnail

Kubernetes(이하k8s)에서 각각의 요소들 ( workload , pod , container , service , port )은 각각의 매칭관계가 있다.
간단히 나타내면 다음과 같다. ( 여기서 n 은 0도 포함이다. )

1n
workloadpod
podcontainer
workloadservice
serviceport

하나의 workload는 내부에서 프로그램이 돌아가기 위한 기본적인 pod와
외부에서 트래픽을 받을 수 있는 service를 가진다.
하나의 workload에는 따라서 0~n 개의 pod와
0~m 개의 service를 가질 수 있다.

하나의 workload는 일반적으로 0 혹은 1개의 service를 가지지만, 경우에 따라 그 이상의 service를 가질수 있으며, 반대로, 경우에 따라서는 하나의 service가 여러개의 workload를 가질수도 있다. ( ex : 카나리 테스트를 하는 경우 )

하나의 pod는 경우에 따라 최소 1개 이상의 container 에서 부터 side-car 방식의 경우 여러개의 conatiner가 들어갈 수도 있다. GCP의 경우 경우에 따라 하나의 pod안에 한개 혹은 여러개의 cloud_sql_proxy를 넣게 되면 여러개의 container를 가진 pod가 된다.

하나의 service 는 여러개의 port를 설정할 수 있으며 결과적으로 하나의 pod가 외부에서 접속할 수 있는 경로가 여러개가 되는것이다.
위에서 언급했던 하나의 workload에 여러개의 service를 만드는 방법도 있고, 여러개의 port를 만드는 방법도 있는데 경우에 따라 다르게 사용이 가능하다.

예를들면,
443 port는 https 서비스를 , 80 port는 http 를 서비스할 경우에는 멀티 포트가 낫고, 동일한 3306 port를 주소만 다르게 해서 여러개의 데몬 혹은 proxy를 띄워야 하는 경우에는 service를 다르게 하는것이 낫다. ( 케바케 )

profile
차세대 생성형 AI 블로그 서비스 "두루미스"를 만들고 있는 개발자

0개의 댓글