Workload - Pod

2022. 5. 29. 19:55kubernetes

Pod(파드)

- 쿠버네티스가 관리할 수 있는 가장 작은 워크로드를 파드라한다. 

- 컨테이너의 모음

 

파드 생성 및 관리

- 명령형 커맨드 

  ▶ 파드 생성

kubectl run myweb --image 이미지명

  ▶ 파드 목록 확인

kubectl get pods

  ▶ 특정 파드 확인

kubectl get pods myweb

  ▶ 파드 상세 정보 확인

# 파드들의 다양한 상세정보 확인
kubectl get pods -o wide
# yaml형식으로 상세정보 확인
kubectl get pods -o yaml
# json형식으로 상세정보 확인
kubectl get pods -o json
지정한 파드의 자세한 정보 확인
kubectl describe pods myweb

  ▶ 파드(애플리케인션) 로그 확인

kubectl logs <파드명>

  ▶ 파드 삭제

kubectl delete pods 파드명

  ▶ 파드의 기본 형식을 확인

kubectl explain pods

YAML 파일형식으로 파드 정의

파일명.yaml

apiVersion: v1
kind: Pod 
metadata:
  name: myweb
spec:
  containers:
    - name: myweb
      image: httpd
      ports:
        - containerPort: 80
          protocol: TCP

  ▶ 정의한 yaml파일의 파드 생성

kubectl create -f 파일명.yaml

  ▶ 생성한 yaml파일의 파드의 상태 확인

kubectl get -f 파일명.yaml

  ▶ 생성한 yaml파일의 자세한 상태 및 정보 확인

kubectl describe -f 파일명.yaml

  ▶ 생성한 yaml파일의 pod의 삭제

kubectl delete -f 파일명.yaml

> 참고 자료

http:// https://kubernetes.io/ko/docs/concepts/workloads/pods/

 

kubectl 명령의 서브 명령 

- create : 생성

- get : 정보 확인

- describe : 자세한 정보 확인

- logs : 로그 정보 확인

- delete : 삭제 및 제거

- replace  : 변경 된 사항 수정

- patch : 변경된 사항 패치(적용 및 겹쳐쓰기 혹은 덮어쓰기) 

- apply : 변경한 사항 적용

  > replace, patch, apply는 변경된 파일에 사용에 관한 서브 명령어

- diff : 변경된 사항과 다른 부분 표시

 

파드 디자인

  > 파드 디자인 형태 구조 그림

https://d33wubrfki0l68.cloudfront.net/aecab1f649bc640ebef1f05581bfcc91a48038c4/728d6/images/docs/pod.svg

 

- 단일 컨테이너 : 일반적인 형태

- 멀티 컨테이너 :  메인 애플리케이션이 존재하고 그 메인 애플리케이션의

                             기능을 확장하기 위한 컨테이너를 배치한 형태

  ▶ 사이드카 패턴

     - sidecar : 기능의 확장

     - ambassador : 프록시/LB

     - adpator : 출력의 표준사항

 

포트 및 포트 포워딩

  - 테스트 및 디버깅의 목적으로 사용한다. 

  - 포트 포워딩 : 포트를 원하는 포트로 설정하는 것

 

파드의 포트 포워딩

kubectl port-forward pods/파드명 8080:80

 

이름과 UID의 지정 규칙

- 이름 : 한 네임스페이스(사용 및 지정된 공간)에서 유일해야 한다.

             (다른 네임스페이스에서는 중복된 이름 사용 가능) 

- UID : 클러스터에서 유일해야 한다. (중복되어 사용할 수 없음) 

 

'kubernetes' 카테고리의 다른 글

Label과 LabelSelector, Annotations  (0) 2022.05.29
Namespace  (0) 2022.05.29
Kubernetes Objects  (0) 2022.05.19
Kubespray로 Kubernetes 설치  (0) 2022.05.17
K8s(kubernetes) 설치  (0) 2022.05.17