Pods with YAML

zuckerfrei·2023년 5월 30일
0

Kubernetes

목록 보기
9/63

k8s는 pod, replicaset, deployment, service 같은 객체를 생성하기 위해 YAML 파일을 사용
이번 강의에서는 yaml로 pod생성하는 예시를 살펴볼 것

sample yaml

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
    type: front-end
spec:
  containers:
  - name: nginx-container
    image: nginx
  • k8s yaml 파일은 항상 최상위에 4가지 필드를 필수적으로 가짐
    1. apiVersion
    2. kind
    3. metadata
    4. spec

1. apiVersion

  • 객체 생성을 위해 사용하는 k8s api버전을 뜻함
  • 아래처럼 다른 객체 생성을 위해 다른 값을 입력할 수 있음
kindapiVersion
Podv1
Servicev1
ReplicaSetapps/v1
Deploymentapps/v1

2. kind

  • 생성하려는 객체의 유형
  • 유형은 pod, replicaset, deployment, service 가 있음

3. metadata

  • 객체의 메타데이터를 명시
  • name, labels 등등
    • name : String
    • labels : dict(key : value)
      • 레이블링하여 필터링 할 수 있음 → 관리 편해짐
      • 어떤 레이블이든 원하는대로 작성 가능
  • dict 형식으로 작성해야함 → 들여쓰기 필수
    • 속성이 부모-자식 관계일 경우 들여쓰기 해야함

4. spec

  • 파드에 실제 포함시킬 컨테이너, 이미지 정보
  • 공식 문서를 참조하는 것이 작성에 큰 도움
  • dict 형식으로 작성
  • containers → list / array
    • 1 pod : N container 가능하기 때문

yaml 작성 후 pod 생성 방법

kubectl create -f pod-definition.yml

pod 생성 확인 방법

kubectl get pods

pod 상세 정보 확인

생성 시간, 레이블, 컨테이너, 파드 이벤트 확인 가능

kubectl describe pod [파드이름]
profile
무설탕 음료를 좋아합니다

0개의 댓글