본문 바로가기

카테고리 없음

쿠버네티스 - 서비스

쿠버네티스는 서비스가 있다.

 

서비스를 이용해서 접속, 로드밸런싱을 함

 

실제 서비스에서 파드(Pod)에 요청을 보낼 때, 포트 포워딩(port-forward)이나 파드 내로 직접 접근(kubectl exec …)해서 요청을 보내진 않는다. 서비스(Service)를 통해 요청을 보내는 게 일반적이다.

 

 

service

spring-service.yaml 파일을 작성 

apiVersion: v1
kind: Service

# Service 기본 정보
metadata:
  name: spring-service # Service 이름
  
# Service 세부 정보
spec:
  type: NodePort # Service의 종류
  selector:
    app: backend-app # 실행되고 있는 파드 중 'app: backend-app'이라는 값을 가진 파드와 서비스를 연결
  ports:
    - protocol: TCP # 서비스에 접속하기 위한 프로토콜
      port: 8080 # 쿠버네티스 내부에서 Service에 접속하기 위한 포트 번호
      targetPort: 8080 # 매핑하기 위한 파드의 포트 번호
      nodePort: 30000 # 외부에서 사용자들이 접근하게 될 포트 번호

포트를 이렇게 적었다. 

구조는 아래와 같음

컴퓨터에서 접속하는건 30000으로 들어옴. 

 

$ kubectl apply -f spring-service.yaml 

 

$ kubectl get service

이 명령어로 서비스가 잘 작동하는걸 알 수 있다