쿠버네티스/cka

서비스를 활용하여 백엔드(Spring Boot) 서버와 통신해보기

몽자비루 2025. 3. 1. 18:50

 

  1. 이전 실습환경을 바탕으로 서비스(Service) 를 활용하여 백엔드(Spring Boot) 서버와 통신한다.
    1. 서비스의 종류
      • NodPort : 쿠버네티스 내부에서 서비스에 접속하기 위한 포트를 열고 외부에서 접속이 가능하도록 한다.
      • ClusterIp : 쿠버네티스 내부에서만 통신할 수 있는 IP 주소를 부여한다. 외부에서는 요청할 수 없다. (보안)
      • LoadBalancer : 외부의 로드밸런서 (AWS 로드밸런서 등) 를 활용해 외부에서 접속할 수 있도록 연결한다.
    2. spring-service.yaml 생성하기
      apiVersion: v1
      kind: Service
      
      metadata:
        # 서비스 이름
        name: spring-service
      
      spec:
      # 서비스의 종류는 여러가지가 있는데, 하위 종류는 외부에서 접속 가능하도록 하는 서비스
        type: NodePort
        selector:
          # app: backend-app 을 가진 lable을 가진 pod 에 트래픽을 분배하겠다는 의미.
          # deployment.yaml 에서 template/metadata/labels 와 동일한 값을 가진다.
          app: backend-app
        
        # 사용자 컴퓨터(nodePort), 서비스(port), pod(targetPort) 네트워크 환경이 전부 분리되어있다.
        # 독립적으로 되어있는 것을 전부 연결해주는 역할을 한다.
        ports:
        - protocol : TCP    # 서비스에 접속하기 위한 프로토콜
          port : 8080       # 쿠버네티스 내부에서 Service 에 접속하기 위한 포트 번호
          targetPort: 8080  # 매핑하기 위한 Pod의 포트 번호
          nodePort : 30000  # 외부에서 사용자가 접근하게 될 포트 번호
    3. 서비스 생성 및 확인하기
    4. localhost:30000 으로 접속하기