Certified Kubernetes Administration - 11
2024-06-20
- Kubernetes
- Cloud
Kubernetes 초급 강의 요약
-
강의 목표: YAML 기반 설정 파일을 사용하여 Pod 생성하기
-
이전 강의: 일반적인 YAML 파일 학습
Kubernetes에서 YAML 파일의 사용
-
용도: 객체 생성 (Pods, Replicas, Deployments, Services 등)
-
구조: 네 가지 최상위 필드 포함 (API version, kind, metadata, spec)
네 가지 최상위 필드 설명
-
API Version
-
설명: 객체를 생성하기 위해 사용하는 Kubernetes API 버전
-
예시: Pod 생성 시 'V1' 사용, 기타 가능한 값들: 'apps/V1beta', 'extensions/V1beta' 등
-
-
Kind
-
설명: 생성하려는 객체의 유형
-
예시: Pod 생성 시 'Pod', 기타 가능한 값들: 'ReplicaSet', 'Deployment', 'Service'
-
-
Metadata
-
설명: 객체에 대한 데이터 (이름, 레이블 등)
-
구조: 딕셔너리 형태, 'metadata' 하위에 'name'과 'labels' 포함
-
주의: 들여쓰기 규칙 준수 필요, 'metadata'의 하위 필드는 들여쓰기가 동일해야 함
-
-
Spec
-
설명: 객체에 대한 추가 정보 제공
-
예시: Pod 생성 시 'containers' 배열 포함, 배열 항목은 딕셔너리 형태로 'name'과 'image' 포함
-
이미지 값 예시: 'nginx'
-
Pod 생성 절차
-
YAML 파일 생성: 필수 필드와 값을 포함한 설정 파일 작성
-
Pod 생성 명령:
kubectl create -f pod-definition.yaml
-
Pod 확인 명령:
kubectl get pods
-
Pod 세부 정보 확인 명령:
kubectl describe pod
요약
-
최상위 필드: API version, kind, metadata, spec
-
Pod 생성 및 확인:
kubectl
명령어 사용
예시
apiVersion: v1
kind: Pod
metadata:
name: example-pod
labels:
app: example
spec:
containers:
- name: example-container
image: nginx
이 YAML 파일은 다음과 같은 내용을 포함하고 있습니다:
-
apiVersion: Kubernetes API 버전을 지정합니다. Pod를 생성하기 위해 'v1'을 사용합니다.
-
kind: 생성하려는 객체의 유형을 지정합니다. 여기서는 'Pod'를 사용합니다.
-
metadata: 객체에 대한 메타데이터를 지정합니다. 'name'은 Pod의 이름을, 'labels'는 Pod에 적용할 레이블을 지정합니다.
-
spec: Pod에 대한 세부 사항을 지정합니다. 'containers' 배열은 Pod에서 실행할 컨테이너를 지정합니다. 각 컨테이너는 'name'과 'image'를 포함해야 합니다. 'image'는 컨테이너에서 사용할 도커 이미지를 지정합니다. 여기서는 'nginx' 이미지를 사용합니다.
Certified ...
Certified ...