Deployment 알아보기

박찬병·2024년 11월 13일

데이터 분석

목록 보기
11/11

Deployment란?

https://kubernetes.io/ko/docs/concepts/workloads/controllers/deployment/

  • Deployment(디플로이먼트)는 Pod과 Replicaset에 대한 관리를 제공하는 단위이다.
  • 관리는 Self-healing, Scaling, Rollout(무중단 업데이트) 등의 기능을 포함한다.
  • Deployment에는 Pod이 포함되며, Pod을 Deployment로 배포하여 여러 개로 복제된 Pod 또는 여러 버전의 Pod을 안전하게 관리할 수 있다.

Deployment 생성하기

Deployment를 생성하는데 사용할 yaml 파일을 다음과 같이 작성한다.

apiVersion: apps/v1 # kubernetes resource 의 API Version
kind: Deployment # kubernetes resource name
metadata: # 메타데이터 : name, namespace, labels, annotations 등을 포함
	name: nginx-deployment
	labels:
		app: nginx
spec: # 메인 파트 : resource 의 desired state 를 명시
	replicas: 3 # 동일한 template의 pod을 3개로 복제하여 생성한다.
	selector:
		matchLabels:
			app: nginx
	template: # Pod 의 template 을 의미합니다.
		metadata:
			labels:
				app: nginx
		spec:
			containers:
				- name: nginx # container 의 이름
				  image: nginx:1.14.2 # container 의 image
				  ports:
				  - containerPort: 80 # container 의 내부 Port

다음 명령어를 이용해 Deployment를 생성한다.

kubectl apply -f deployment.yaml

Deployment 조회하기

Auto-healing

Scaling

Deployment 삭제하기

0개의 댓글