쿠버네티스 클러스터 내에서 애플리케이션의 패키징, 설정, 배포를 간소화 하는 도구이다
쿠버네티스 리소스를 관리하는 차트 라는 형식의 패키지를 사용
helm 사용 하면 쿠버네티스 애플리케이션을 쉽게 설치, 관리 할수 있으며, 애플리케이션의 배포 및 관리 프로세스를 표준화 할수 있따.
Chart
Release
의존성 관리
롤백 및 업데이트
Helm을 통해 쿠버네티스 클러스터에 Gitea를 쉽게 배포하고 관리할 수 있으며, 이를 통해 개발 프로세스를 더욱 효율적으로 만들 수 있습니다.
데이터 직렬화 포멧중 하나
주로 설정파일, 데이터교환, infra struter 오케스트레이션(예. 쿠버네티스 매니페스트파일) 등에 사용
매니페스트파일?
아래에 따로 설명
YAML은 JSON과 비슷하지만 사람이 읽고 쓰기 쉽도록 설계 되어있고 주석도 가능(#)
형식
sclars
1. key : value
List
2. key :
- a
- b
- c
Map
3. Person:
name: jay
hobbies:
- a
- b
- c
apiVersion: v1
kind: Pod
metadata
- 포드가 애플리케이션의 실행 단위를 나타낸다면,
- 서비스는 이 포드들에 대한 안정적인 접근 방법을 제공하고,
- 디플로이먼트는 애플리케이션 배포와 관리를 단순화합니다
- 이를 통해 개발자와 시스템 관리자는 애플리케이션의 배포, 확장, 업데이트를 보다 쉽게 관리할 수 있습니다
그외의
Core Types
Pod: 가장 기본적인 배포 단위로, 하나 이상의 컨테이너를 포함합니다.
Service: 포드 집합에 대한 안정적인 접근 방법을 제공하는 네트워크 서비스입니다.
ConfigMap: 구성 데이터를 키-값 쌍으로 저장하여 애플리케이션에 주입할 수 있게 하는 리소스입니다.
Secret: 비밀번호, OAuth 토큰, ssh 키와 같은 민감한 정보를 저장하는 리소스입니다.
Namespace: 클러스터 내의 리소스를 논리적으로 분리하는 단위입니다.
Workload Types
Deployment: 애플리케이션의 선언적 업데이트와 자동 롤백을 관리합니다.
ReplicaSet: 지정된 수의 포드 복제본이 실행되도록 보장합니다.
StatefulSet: 순서가 지정된 포드의 집합을 관리하며, 주로 상태를 유지하는 애플리케이션에 사용됩니다.
DaemonSet: 모든 (또는 일부) 노드에서 하나의 포드 복제본이 실행되도록 보장합니다.
Job: 한 번 실행되고 종료되는 작업(배치 작업)을 수행하는 포드의 집합입니다.
CronJob: 예약된 시간에 주기적으로 Job을 실행합니다.
Network and Policy Types
Ingress: 클러스터 외부에서 내부 서비스로의 HTTP/HTTPS 접근을 관리합니다.
NetworkPolicy: 포드 간, 또는 포드와 다른 네트워크 엔드포인트 간의 네트워크 트래픽을 제어하는 정책입니다.
ResourceQuota: 네임스페이스별 리소스 사용량을 제한합니다.
LimitRange: 리소스 할당(예: CPU, 메모리)의 최소 및 최대 값을 설정합니다.
Storage Types
PersistentVolume: 스토리지 볼륨의 생명 주기를 포드와 독립적으로 관리합니다.
PersistentVolumeClaim: 사용자가 동적으로 스토리지 볼륨을 요청할 수 있게 하는 리소스입니다.
StorageClass: 다양한 스토리지 유형을 정의하고, 동적 볼륨 프로비저닝을 가능하게 합니
정리 해야해