내 잡다한 노트
쿠버네티스에서 ~From 이라는 키워드란? 본문
Kubernetes에서 **~From**이라는 키워드는 보통 여러 데이터를 한꺼번에 가져와 리소스에 적용할 때 사용됩니다. 이런 키워드는 선언적 방식으로 매니페스트 파일을 작성할 때 유용하며, 대표적으로 envFrom과 같은 키워드가 있습니다. 아래는 Kubernetes 매니페스트에서 자주 사용되는 ~From 유형을 정리한 목록입니다.
1. envFrom
- Pod의 환경 변수를 ConfigMap 또는 Secret에서 한꺼번에 가져올 때 사용됩니다.
- 대상 리소스에서 정의된 모든 키를 환경 변수로 자동으로 추가합니다.
예시
apiVersion: v1
kind: Pod
metadata:
name: app-pod
spec:
containers:
- name: app-container
image: nginx
envFrom:
- configMapRef:
name: app-config # ConfigMap에서 환경 변수 가져오기
- secretRef:
name: app-secret # Secret에서 환경 변수 가져오기
- configMapRef: ConfigMap의 키-값 쌍을 환경 변수로 설정.
- secretRef: Secret의 키-값 쌍을 환경 변수로 설정.
2. volumeFrom (간접적으로 대체 가능)
- Kubernetes에서 명시적으로 volumeFrom이라는 키는 존재하지 않지만, 비슷한 동작은 Volumes를 정의할 때 구현됩니다.
- 볼륨 정보를 ConfigMap, Secret, 또는 PersistentVolumeClaim에서 가져와 사용.
apiVersion: v1
kind: Pod
metadata:
name: app-pod
spec:
containers:
- name: app-container
image: nginx
volumeMounts:
- name: secret-volume
mountPath: /etc/secrets
volumes:
- name: secret-volume
secret:
secretName: app-secret
Secret의 데이터를 /etc/secrets 경로에 파일 형태로 마운트.
3. dataFrom
- ConfigMap 또는 Secret을 사용하여 Deployment나 StatefulSet 등의 매니페스트에서 데이터를 가져오는 명령은 없습니다. 그러나 기존의 데이터를 가져와 복사하거나 활용하는 비슷한 동작은 Helm이나 ArgoCD 템플릿으로 확장 가능합니다.
4. 관련 예시: Helm에서의 ~From 활용
Helm 차트를 활용하면 Kubernetes 매니페스트를 더 동적으로 생성할 수 있습니다. 예를 들어, envFrom 키워드처럼 여러 값을 자동으로 가져오는 템플릿을 활용할 수 있습니다.
'DevOps > 쿠버네티스' 카테고리의 다른 글
쿠버네티스 노드 관리 (0) | 2024.11.17 |
---|---|
[K8S] Multi container pods design patterns (1) | 2024.11.17 |
쿠버네티스 Secrets (0) | 2024.11.17 |
쿠버네티스 ConfigMap (0) | 2024.11.16 |
쿠버네티스 업데이트 및 배포 전략 (0) | 2024.11.16 |