Kubernetes 클러스터에 배포할 때는 서비스와 배포(deployment)에 대한 세부 사항을 Yaml 파일에 작성해야 합니다. 이 파일을 통해 Kubernetes에 마이크로서비스 배포 및 노출 방법을 지시합니다.
section_15/Kubernetes/configserver.yaml이라는 파일을 생성하고, 이 파일에 Kubernetes 클러스터에서 Config Server를 배포하기 위한 구성을 작성합니다.cd /path/to/section_15/Kubernetestouch configserver.yaml (Windows의 경우 수동으로 파일 생성)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: 배포할 컨테이너의 세부 정보를 정의 (이미지 이름, 컨테이너 포트 등).---
apiVersion: v1
kind: Service
metadata:
name: configserver
spec:
selector:
app: configserver
type: LoadBalancer
ports:
- protocol: TCP
port: 8071
targetPort: 8071selector: 배포와 일치하는 라벨을 사용하여 서비스가 어떤 배포와 연결되는지 정의.type: LoadBalancer를 사용하여 외부에서 접근 가능하도록 설정.port: 외부에 노출될 포트 (8071).targetPort: 컨테이너 내에서 실행될 포트 (8071).이제 Yaml 파일을 준비했으며, 이를 통해 로컬 Kubernetes 클러스터에 Config Server를 배포하고 관리할 준비가 완료되었습니다. 다음 단계에서는 이 구성을 사용해 실제로 배포하는 방법을 다룰 것입니다.