자격증/CKA

[CKA] Udemy 22. Pods with YAML

14ben 2024. 6. 23. 18:53
728x90

Kubernetes YAML 파일을 사용하여 Pod 생성

 

 

Kubernetes 구성 파일의 구조

  • Kubernetes는 객체 생성 시 YAML 파일을 입력으로 사용
  • 이러한 객체에는 Pod, ReplicaSet, Deployment, Service 등이 포함
  • 모든 Kubernetes 정의 파일에는 네 가지 최상위 필드가 반드시 포함되어야 함
  1. API 버전 (apiVersion)
  2. 종류 (kind)
  3. 메타데이터 (metadata)
  4. 사양 (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