서비스를 사용하는 이유

Untitled

Creating services

apiVersion: v1
kind: Service
metadata:
  name: kubia
spec:
  ports:
  - port: 80 # port used by service
    targetPort: 8080 # container port to be forwarded by service
  selector:
    app: kubia

app=kubia 레이블에 있는 pod가 서비스에 포함된다. 포트 80 연결을 허용하고 각 연결을 서비스에 포함된 포트의 8080으로 연결한다.

동일한 클라이언트에서 요청하더라도 서비스 프록시가 각 연결을 임의로 파드를 선택해 forward하기 때문에 요청할 때마다 다른 파드가 선택된다.

targetPort의 경우 pod yaml에서 port의 이름을 지정했다면 port의 이름을 참조 할 수 있다.

예를 들어 pod가 containerPort 8080을 http로 이름을 지었다면 위의 yaml에서 targetPort: http로 참조할 수 있다.