Kubernetes/Udemy - CKAD with Tests

Services - ClusterIP

비번변경 2021. 8. 11. 19:26

모든 포드에는 IP 주소가 할당되어 있으나, 각 포드는 언제든지 종료되고 새로 생성될 수 있기 때문에 이러한 IP 주소는 정적이지 않다. 따라서 IP 주소를 이용해서 내부 통신을 하는 것을 어렵다.

 

이러한 문제를 해결하기 위해 쿠버네티스 서비스는 포드를 그룹화하고 그룹 내의 포드에 접근할 수 있는 단일 인터페이스를 제공한다. 서비스는 들어온 요청을 그룹 내의 포드 중 하나에 임의로 전달하게 된다.

이 유형의 서비스를 ClusterIP 서비스라고 하며, 서비스는 클러스터 내에서 IP와 다른 포드가 서비스 접근에 사용하는 이름이 할당된다.

ClusterIP 서비스 개념에 의해 프런트엔드, 백엔드 등의 각 계층은 서비스 간의 통신에 영향받고 영향을 미치지 않고 필요에 따라 확장하거나 이동할 수 있다. 또한 마이크로서비스 기반 애플리케이션을 쿠버네티스 클러스터 내에 효과적으로 배치할 수 있게 되었다.

 

생성 방법

yaml 형식의 정의 파일을 작성 후 create 명령으로 생성한다.

apiVersion: v1
kind: Service
metadata:
	name: back-end
spec:
	type: ClusterIP # 기본값
	ports:
		-  targetPort: 80 # backend가 노출되는 포트
		ports: 80 # 서비스가 노출되는 포트
	selector:
		app: myapp
		type: back-end

서비스의 유형은 ClusterIP가 기본값이므로, 별도로 값을 지정하지 않으면 ClusterIP 유형으로 간주한다.

서비스는 selector 항목에 포드에 지정된 label을 설정하여 pod와 연결한다.

728x90