728x90
Kubernetes YAML 파일을 사용하여 Pod 생성
Kubernetes 구성 파일의 구조
- Kubernetes는 객체 생성 시 YAML 파일을 입력으로 사용
- 이러한 객체에는 Pod, ReplicaSet, Deployment, Service 등이 포함
- 모든 Kubernetes 정의 파일에는 네 가지 최상위 필드가 반드시 포함되어야 함
- API 버전 (apiVersion)
- 종류 (kind)
- 메타데이터 (metadata)
- 사양 (spec)
이들은 최상위 또는 루트 레벨 속성들이며, 구성 파일에 반드시 포함되어야 함
API 버전 (apiVersion)
- Kubernetes API 버전을 지정하는 필드
- Pod를 생성할 때는 v1을 사용
- 다른 가능한 값으로는 apps/v1beta, extensions/v1beta 등이 있다.
종류 (kind)
- 생성하려는 객체의 유형을 지정
- 이 예제에서는 Pod를 생성하므로 Pod로 설정
- 다른 가능한 값으로는 ReplicaSet, Deployment, Service 등이 있다.
메타데이터 (metadata)
- 객체에 대한 이름, 레이블 등의 데이터를 포함
- 이는 딕셔너리 형태로 작성
- 예시
metadata:
name: my-app-pod
labels:
app: my-app
- 이름(name)은 문자열 값으로 Pod의 이름을 지정
- 레이블(labels)은 키-값 쌍으로 원하는 대로 추가할 수 있으며, 이후 객체를 식별하는 데 사용
사양 (spec)
- 생성할 객체에 대한 추가 정보를 제공하는 필드
- 이는 객체에 따라 다르며, 올바른 형식을 참고
- 예시
spec:
containers:
- name: nginx-container
image: nginx
- containers는 리스트 형태로, Pod 내 여러 컨테이너를 정의할 수 있다.
- 이 예제에서는 하나의 컨테이너만 추가
- 컨테이너 항목에는 name과 image 속성이 포함
YAML 파일 예제
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
labels:
app: my-app
spec:
containers:
- name: nginx-container
image: nginx
Pod 명령어
파일을 생성한 후, 다음 명령어를 실행하여 Pod를 생성
kubectl create -f pod-definition.yaml
Pod를 생성한 후, 다음 명령어로 Pod 목록을 확인
kubectl get pods
kubectl describe pod my-app-pod
Pod에 대한 자세한 정보를 보려면 다음 명령어를 실행
이 명령어는 Pod의 생성 시점, 할당된 레이블, 포함된 Docker 컨테이너 및 해당 Pod와 관련된 이벤트 정보를 제공
728x90
'자격증 > CKA' 카테고리의 다른 글
[CKA] Udemy 32. Deployments (0) | 2024.06.26 |
---|---|
[CKA] Udemy 29. ReplicaSet (0) | 2024.06.24 |
[CKA] Udemy 21. Pods (0) | 2024.06.23 |
[CKA] Udemy 20. Kube Proxy (0) | 2024.06.23 |
[CKA] Udemy 19. Kubelet (0) | 2024.06.23 |