Kubernetes 클러스터에서 Config Server 배포 준비

날아올라돼지야·2024년 9월 1일
0

1. 개요

  • 목적: 로컬 Kubernetes 클러스터에서 Config Server 마이크로서비스를 배포하고 이를 외부에 노출하는 방법을 학습합니다.
  • 필요성: Kubernetes 클러스터에 마이크로서비스를 배포하려면 Kubernetes가 이해할 수 있는 형식의 Yaml 구성 파일이 필요합니다.

2. Yaml 구성 파일 작성

Kubernetes 클러스터에 배포할 때는 서비스와 배포(deployment)에 대한 세부 사항을 Yaml 파일에 작성해야 합니다. 이 파일을 통해 Kubernetes에 마이크로서비스 배포 및 노출 방법을 지시합니다.

2.1 폴더 및 파일 생성
  • 폴더 구조: section_15/Kubernetes/
  • Yaml 파일 생성: configserver.yaml이라는 파일을 생성하고, 이 파일에 Kubernetes 클러스터에서 Config Server를 배포하기 위한 구성을 작성합니다.
  • 명령어 예시:
    • cd /path/to/section_15/Kubernetes
    • touch configserver.yaml (Windows의 경우 수동으로 파일 생성)
2.2 Yaml 구성 파일 작성
  • API 버전 및 종류:

    apiVersion: apps/v1
    kind: Deployment
    • apiVersion: apps/v1 (Kubernetes API 버전)
    • kind: Deployment (Kubernetes가 배포를 인식하도록 지시)
  • 메타데이터:

    metadata:
      name: configserver-deployment
      labels:
        app: configserver
    • metadata: 배포의 이름과 라벨 정의. 라벨은 서비스와 배포를 연결하는 중요한 요소입니다.
  • 스펙 및 템플릿 정의:

    spec:
      replicas: 1
      selector:
        matchLabels:
          app: configserver
      template:
        metadata:
          labels:
            app: configserver
        spec:
          containers:
          - name: configserver
            image: eazybytes/configserver:s14
            ports:
            - containerPort: 8071
    • replicas: 배포할 컨테이너의 복제본 수를 정의 (1으로 설정하여 단일 인스턴스 배포).
    • containers: 배포할 컨테이너의 세부 정보를 정의 (이미지 이름, 컨테이너 포트 등).
2.3 서비스(Service) 정의
  • 서비스 생성:
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: configserver
    spec:
      selector:
        app: configserver
      type: LoadBalancer
      ports:
      - protocol: TCP
        port: 8071
        targetPort: 8071
    • selector: 배포와 일치하는 라벨을 사용하여 서비스가 어떤 배포와 연결되는지 정의.
    • type: LoadBalancer를 사용하여 외부에서 접근 가능하도록 설정.
    • port: 외부에 노출될 포트 (8071).
    • targetPort: 컨테이너 내에서 실행될 포트 (8071).

3. 구성 파일 요약 및 배포 준비

  • Deployment: Config Server의 Docker 이미지를 사용하여 Kubernetes 클러스터에 컨테이너를 배포.
  • Service: Config Server를 외부로 노출하기 위해 LoadBalancer 타입으로 서비스 설정.
  • 구성 파일 사용: 다음 강의에서 이 구성을 사용하여 Config Server를 Kubernetes 클러스터에 배포할 것입니다.

이제 Yaml 파일을 준비했으며, 이를 통해 로컬 Kubernetes 클러스터에 Config Server를 배포하고 관리할 준비가 완료되었습니다. 다음 단계에서는 이 구성을 사용해 실제로 배포하는 방법을 다룰 것입니다.

profile
무슨 생각하며 사니

0개의 댓글