서비스는 여러 개의 파드에 접근할 수 있는 IP 하나를 제공. 본질적으로 로드밸런서의 역할

7.1 서비스의 개념

파드는 컨트롤러가 관리하므로 한 군데에 고정해서 실행되지 않고, 클러스터 안을 옮겨 다님

이 과정에서 노드를 옮기면서 실행되기도 하고 클러스터 안 파드의 IP가 변경되기도 함

동적으로 변하는 파드들에 고정적으로 접근할 때 사용하는 방법이 쿠버네티스의 서비스

7.2 서비스 타입

7.3 서비스 사용하기

서비스에 연결할 파드 실행

$ kubectl create deployment nginx-for-svc --image=nginx --repicas=2 --port=80

7.3.1 ClusterIp 타입 서비스 사용하기

clusterip.yaml

apiVersion: v1
kind: Service
metadata: 
	name: clusterip-service
spec: 
	type: ClusterIP
	clusterIP: 10.0.10.10 # 설정 안할 시 자동 설정
	selector:
		app: nginx-for-svc
	ports:
	- protocol: TCP
		port: 80
		targetPort: 9376

$ kubectl apply -f clusterip.yaml

Untitled

7.3.2 NodePort 타입 서비스 사용하기

apiVersion: v1
kind: Service
metadata: 
	name: nodeport-service
spec: 
	type: NodePort
	selector:
		app: nginx-for-svc
	ports:
	- protocol: TCP
		port: 80
		targetPort: 80
		nodePort: 30080