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