Kbernetes minikube, kubectl을 이용하여 Cluster 및 Pods 셋팅하기
해당 포스트를 진행하기 전에 로컬에 docker, minikube, kubectl에 셋팅되어 있어야 합니다. 아래 해당링크를 참고해 주시기 바랍니다.
먼저 minikube가 동작되고 있는지를 확인해야 합니다.
$ minikube status
만약 위 사진처럼 나오지 않는다면 링크1을 참고해 주시기 바랍니다.
이제 도커 이미지를 생성해야 합니다.
링크2 : https://github.com/Alex-Choi0/kubernetes_create_one_pod.git
위의 레파지토리에서 코드를 클론한 다음 이미지를 생성합니다. 아래 명령어를 사용할려면 해당 경로에서 실행해야 합니다.
$ docker build -t first-kub .
이제 해당 이미지로 deployment 및 pod를 만들겠습니다.
$ kubectl create deployment first-pods --image=first-kub
이제 pod의 상태를 확인해 봅니다.
$ kubectl get pods
pod의 상태가 'ImagePullBackOff'인것을 알수 있습니다. 즉 이미지를 pull 할수 없다는 뜻입니다. 이는 docker login이 안됬거나, pull 할 이미지가 없는 것입니다.
실제 이미지를 만들었지만 로컬에 만든것이기 때문에 kubectl은 docker hub에서 찾지 못하는 것입니다. 따라서 해당 이미지를 받을려면 docker hub(또는 다른 서비스)에 이미지를 올리고 kubectl로 받아야 합니다. docker hub에 대한 자세한 내용은 아래 링크를 참고해 주시기 바랍니다.
링크3(docker 도커허브(docker hub)에 이미지 올리기(Push) : https://engineeringshw.blogspot.com/2022/03/docker-docker-hub-push.html
먼저 만들었던 deployment를 삭제합니다.
$ kubectl delete deployment first-pods
해당 이미지의 Tag를 docker hub의 레파지토리에 맞게 변경합니다.
$ docker tag first-kub:latest alexchoi1/first-pods
이미지를 생성한 다음 해당 이미지를 docker hub로 push 한다.
$ docker push alexchoi1/first-pods:latest
이제 동일하게 deployment 및 pod를 다시 셋팅하도록 하겠습니다.
$ kubectl create deployment first-kub --image=alexchoi1/first-pods:latest
이제 정상동작 되는것을 확인할수 있습니다.
댓글
댓글 쓰기