Scenarios for using Kubernetes in development

SquidEngineer·2024년 4월 30일

Kubernetes

목록 보기
10/12

1. 컨테이너화 및 이미지 레지스트리 업로드

  • 개발한 애플리케이션 코드를 Docker나 Podman을 사용해 컨테이너화하고 Dockerfile을 작성한다.
  • 생성된 이미지를 Docker Hub, Harbor, Quay.io와 같은 container image registry에 푸시한다. 예를 들어, 'docker push myregistry.com/myapp:v1.0'

2. 쿠버네티스에 애플리케이션 배포

  • Deployment를 생성해서 registry에서 이미지를 불러와 클러스터 내에 배포한다. Deployment는 애플리케이션의 replica를 관리하고, rolling update를 통해 애플리케이션을 무중단으로 업데이트 할 수 있게 한다.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myregistry.com/myapp:v1.0
        ports:
        - containerPort: 80

3. 서비스로 애플리케이션 노출

  • Service 오브젝트를 생성해 애플리케이션을 내부 또는 외부 네트워크에 노출한다. ClusterIP, NodePort, LoadBalancer 중 선택할 수 있다.
apiVersion: v1
kind: Service
metadata:
  name: myapp-service
spec:
  selector:
    app: myapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: LoadBalancer

4. 데이터 저장 전략

profile
유연한 사고의 데이터 엔지니어입니다

0개의 댓글