
전 게시글에서
라고 적어놓았다. 이번에는 파드를 직접 실행하고 추상화된 컨테이너는 어떤 것인지 알아보려 한다.
kubectl run hello-docker --image=nginx
이 명령어는
->즉 nginx라는 컨테이너 이미지를 가진 hello-docker 라는 이름을 가진 파드를 실행하는 명령어이다.
실행하면 다음과 같이 상태가 뜬다.

kubectl wait --for=condition=Ready pod/hello-docker
이 명령어는 파드가 Ready(정상 실행) 상태가 될 때까지 대기한다.
즉, 파드가 스케줄링되고 컨테이너가 모두 기동될 때까지 기다린다는 의미이다.

실행하면 위와 같이 hello-docker condition met 라는 메시지가 출력된다.
이 메시지의 의미는,
hello-docker라는 이름을 가진 파드가 요청한 조건(Ready 상태) 을 충족(met) 했다는 뜻이다.
위에서는 met으로 충족했다고 떴지만 여러 결과가 반환될수도 있다.
Pod의 Condition이란 말그대로, 파드의 현재 상태를 표현하는 지표이며 위에서는 "Ready"를 썼지만,
대표적으로 다음 4가지가 있다.
kubectl get pods
이 명령어를 실행하여 현재 클러스터에 어떤 파드가 떠 있는지 확인할 수 있다.

이렇게 현재 hello-docker 라는 파드가 잘 떠있음을 확인할 수 있다.
파드가 생성되면, 실제로는 컨테이너 런타임(Docker) 이 그 내부의 컨테이너를 실행한다.
따라서 Docker Desktop에서도 hello-docker라는 이름의 컨테이너를 직접 확인할 수 있다.
처음엔 이 컨테이너를 삭제했는데, 새로고침할 때마다 다시 생성되는 걸 보고 “왜지?” 싶었다.
조사해보니, 이것은 쿠버네티스의 Self-Healing(자가 복구) 기능 때문이었다.
즉, Docker Desktop에서 컨테이너를 삭제하더라도,
쿠버네티스는 “파드가 사라졌다”고 인식하고 자동으로 새로운 파드를 다시 생성한다.
따라서 Docker Desktop에서 삭제 후 새로고침하면 컨테이너가 다시 나타나며,
터미널에서 kubectl get pods 명령을 실행해도 파드가 여전히 존재하는 것을 확인할 수 있다.

만약 정말로 완전히 삭제하고 싶다면,
아래 명령어를 사용해 파드 또는 Deployment를 제거해야 한다.
kubectl delete pod hello-docker
또는
kubectl delete deploy hello-docker
그 후 다시 확인하면

이제 hello-docker 라는 파드가 온전히 사라진 것을 확인할 수 있다.
kubectl run → 파드 생성
kubectl wait → 파드가 준비될 때까지 대기
kubectl get pods → 파드 상태 확인
docker desktop -> 관리
이 단계로 쿠버네티스에서 컨테이너가 실제로 어떻게 실행되고 관리되는지를 확인할 수 있다