kubernetes pod
컨테이너를 표현하는 k8s API의 최소단위
pod에는 1개또는 여러개의 컨테이너를 포함시킬수있음
kubernetes pod 생성
CLI명령어를 통한 생성방법 ( run,create,apply ,dry-run 등등)
yaml을 통한 생성방법
kubectl cli 명령어를 통한 pod 생성방법.
yaml을 통한 생성방법
직접 템플릿을 작성할때 리눅스환경의 vi,vim,nano편집기로 작성하는것 보단
vscode로 작성하는게 좋음...들여쓰기,띄어쓰기,대소문자구문 등..
또한
#kubectl run [파드명] --image=[이미지명] --dry-run -o yaml 명령어를 통해 템플릿을 만들어서 안에 내용만 수정해도됨
multi pod(한개의pod안에 두개이상의 컨테이너) 구성시 yaml 템플릿의 spec에 추가작성
ex)
apiVersion: v1
kind: Pod
metadata:
name: multipod
spec:
containers:
- name: testpod2
image: nginx
- name : testpod3
image: centos:7
-> multipod 라는 pod안에 testpod2,testpod3 두개의 컨테이너를 구성할수있음.
kubernetes pod 관리 및 삭제
kubectl 명령어로 pod를 관리할 수 있다.
1.#kubectl get pod[파드명]
->배포되어있는 파드를 확인
2.kubectl get pod [파드명] -o -wide or yaml or json
->wide하게 파드상태 확인
->yaml형태로 파드상태확인
->json형태로 파드상태확인
3.kubectl describe pod [파드명]
->상세하게 파드상태확인
4.kubectl delete pod [파드명]
-> 파드삭제
5.kubectl loogs [파드명]
->파드로그 확인 , multipod 로그의경우 보고자하는 컨테이너명을 넣어줘야함.
6.kubectl edit pod [파드명]
->파드내용 수정
kubernetes pod Lifecycle & status
파드는 생성부터 삭제까지 생명주기가 있다
#kubectl get pod [파드명] -o wide --watch
-> 해당명령어로 파드의 생성부터 동작까지 상태를 전체적으로 확인할수있음.
●pending
-> kubectl 로 파드생성명령시 컨테이너 이미지를 다운로드후 전체컨테이너를 실행하는과정중
●running
-> 파드안의 모든컨테이너가 실행중인 상태 , 시작,중지,재시작등
●succeeded
->파드안의 모든컨테이너가 정상종료된 상태 재시작되지않음
●failed
->파드안의 모든컨테이너가 정상적으로 실행,종료되지 않은상태 에러코드로 표현
●unknown
->파드가 적재되어있는 노드와 통신을 할수없는 상태 또는 파드상태를 확인할수없음
●terminating
->파드의 종료,삭제상태
Pod Status
파드의 상태확인은 kubectl describe pod [파드명]으로 자세한 상태를 확인할수 있음.
Type : status로 구분되어있음
Type의 상태는 True(활성화) , False(비활성화),Unknown(미확인) 값으로 출력됨
Type의 정보
●initialized
->성공적으로 동작완료됨
●ready
->파드는 요청을 수행할 수 있고 연결된 모든서비스의 로드밸런싱풀에 추가되어야한다는 뜻?
●containersReady
->파드안의 컨테이너가 준비상태
●podscheduled
->파드가 하나의 node로 스케줄링 완료상태
●unscheduled
->스케줄러가 자원부족이나 다른제약등으로 파드를 스케줄링 할수없음
'IT Study > Kubernetes' 카테고리의 다른 글
kubernetes init container (0) | 2023.01.11 |
---|---|
kubernetes Probe? self-healing (0) | 2023.01.11 |
kubernetes yaml (0) | 2023.01.06 |
kubernetes namespace (0) | 2023.01.05 |
kubernetes ? 쿠버네티스? (0) | 2023.01.04 |