쿠버네티스/cka

디플로이먼트를 활용하여 백엔드(Spring Boot) 서버 3개 띄워보기

몽자비루 2025. 2. 27. 22:28
  1. 이전 실습환경을 토대로 디플로이먼트를 활용하여 백엔드 서버를 3개 띄워보기를 진행한다.
    1. spring-deployment.yaml 파일 생성하기
      apiVersion: apps/v1
      kind: Deployment
      
      metadata:
        name: spring-deployment
      
      # deployment 의 세부 정보
      spec:
        # 생성할 pod 의 개수를 작성한다.
        replicas : 3
        # "app:backend-app" 이라는 lable 을 가진 파드를
        # deployment를 활용하여 배포한다는 것을 의미한다.
        selector :
          matchLabels:
            app: backend-app
      
        # 배포할 pod의 정보를 작성한다.
        template:
          metadata:
            # 카테고리를 의미한다.
            labels:
              app: backend-app
          # pod 의 스펙을 정의한다.
          spec:
            containers:
            - name : spring-container
              image: spring-server
              imagePullPolicy: IfNotPresent
              ports:
                - containerPort: 8080
    2. deployment 생성한 뒤 확인하기

      • Deployment를 띄움 → replicaset 띄움   pod 띄움
      • 위 상태에서 요청을 보낼 때에는 각 서버에 균등하게 트래픽이 분배되어야 한다.
        • 이때, 백엔드 서버에서 균등하게 요청을 하라고 명령을 할 수 없음.
        • 따라서 파드 앞단에 자동으로 균등하게 요청을 분배해줄 역할이 필요하다.
        • 쿠버네티스에서는 서비스(service) 가 여러 파드에 균등하게 요청을 분배해주는 역할을 한다.