Pod Object 특징
: 1개의 pod는 내부에 여러 개의 컨테이너를 가질 수 있지만 대부분 1~2개의 컨테이너를 갖는다.
= "고래(Containers)들의 떼"
: 클러스터 내에서 사용할 수 있는 고유한 IP 주소를 할당 받지만, 이 ip는 Service에서 사용하지 않는다.
: Pod의 외부에서는 'Service'를 통해 Pod에 접근한다.(Service가 Pod의 Endpoint를 관리한다.)
: Pod 내부의 컨테이너들은 네트워크와 볼륨등을 공유하고 서로 localhost로 통신할 수 있다.
실습) watch 명령어 : pod 실행 상태를 2초마다 확인한다.
- kubectl run mypod-cli --image=nginx:1.14 --port 80
- kubectl create deployment mypod --image=nginx:1.14 --replicas=4
여러 개의 pod를 만들고 다른 창에서 watch 명령어를 통해 상태를 확인한다.
• 동작중인 Pod 확인하기
- kubectl get pod -o wide
- kubectl get pod -o yaml
- kubectl get pod -o json
실습) 하나의 Pod에 여러개의 Container가 동작하는 Pod 생성
- wget http://down.cloudshell.kr/k8s/lab/pod-multicon.yaml- kubectl apply -f pod-multicon.yaml
- kubectl get pod -o wide

그 이유는, 같은 pod에 위치한 또 다른 컨테이너인 nginx container와 IP(네트워크)를 공유하기 때문이다.
Pod Life Cycle 단계
• Pod의 Life Cycle은 Pod의 생성에서 삭제까지의 과정을 말한다
• Pending ➔Running ➔Succeeded/Failed ➔Unknown
• Pod의 생명주기를 구체적으로 보기 위해서 describe의 status와 type을 참고하면 된다
- kubectl get pod -o wide --watch : 실시간 생명 주기 확인
- Troubleshooting
• Pod를 생성하는데 실패하였다면 어느 단계에서 문제가 있었는지 알 필요가 있다
• 이럴때 kubectl describe pod pod_name을 실행한다
'Study > Cloud' 카테고리의 다른 글
Kubernetes - Controller (0) | 2022.07.22 |
---|---|
Kubernetes - Service (0) | 2022.07.22 |
Kubernetes - Namespace (0) | 2022.07.21 |
Kubernetes - yaml (0) | 2022.07.21 |
Kubernetes - Deployment & Service (0) | 2022.07.20 |