본문 바로가기
Chapter01/Kubernetes

[ Kubernetes ]MetalLB와 Ingress 사용해 배포하기

by EmmaDev_v 2024. 9. 30.
반응형

1. Deployment

Deployment는 애플리케이션의 배포와 관리를 위한 Kubernetes 리소스. 특정 수의 파드를 실행하고, 파드의 상태를 관리합.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mailserver-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mailserver
  template:
    metadata:
      labels:
        app: mailserver
    spec:
      containers:
      - name: mailserver
        image: your-dockerhub-id/mymailserver:latest
        ports:
        - containerPort: 25
        - containerPort: 587
        - containerPort: 143 


2. Service

Service는 Kubernetes 클러스터 내의 파드에 대한 네트워크 접근을 제공. 서비스는 로드 밸런싱, 서비스 발견 등을 처리.


apiVersion: v1
kind: Service
metadata:
  name: mailserver-service
spec:
  selector:
    app: mailserver
  ports:
  - protocol: TCP
    port: 25
    targetPort: 25
  - protocol: TCP
    port: 587
    targetPort: 587
  - protocol: TCP
    port: 143
    targetPort: 143
  type: LoadBalancer

3. Deployment와 Service의 역할

  • Deployment: mailserver라는 애플리케이션을 위한 컨테이너를 실행하는 파드를 관리. 지정된 수의 복제본이 항상 실행되도록 보장하며, 업데이트 및 롤백 기능을 제공.
  • Service: mailserver 파드에 대한 접근을 외부에서 가능하게 해줌. LoadBalancer 타입은 클라우드 서비스에서 자동으로 외부 IP 주소를 할당하여 인터넷에서 접근할 수 있게 만듦.

 

4. 배포

이 YAML 파일을 사용하려면, 클러스터에 적용해야 함

kubectl apply -f your-yaml-file.yaml

your-yaml-file.yaml은 위에서 작성한 YAML 파일의 이름임.

 

5.  확인

Deployment 상태 확인

kubectl get deployments

Service 상태 확인

kubectl get services

 

 

 

https://dev-emma-dev.tistory.com/231

 

[ Docker ] 이미지 만들기

Docker 이미지 만들기는 크게 Dockerfile 작성해 해당 이미지 빌드 후 Docker Hub에 푸시의 과정으로 나눌 수 있음.mailserver이미지 만드는 예시로 ㄱㄱ 1. /root경로에 Dockerfile 생성# 베이스 이미지 지정

dev-emma-dev.tistory.com

https://dev-emma-dev.tistory.com/232

 

[ Kubernetes ] MetalLB와 Ingress를 사용해 외부에서 접근 가능한 인프라 구축

https://dev-emma-dev.tistory.com/231이전 게시물에 도커 이미지를 만들어 허브에까지 올렸고, 이것은 MetalLB와 Ingress를 사용해 외부에서 접근 가능한 인프라 구축하기 위함이었다. 일련의 과정의 설명 +용

dev-emma-dev.tistory.com

 

위 글들을 순서대로 따라왔다면 이번 포스팅까지 

Kubernetes 클러스터에 메일 서버를 설치하고 외부에서 사용할 수 있도록 MetalLB와 Ingress를 설정한 뒤, 성능 모니터링하기!!!

끝 !

 

반응형