Kbernetes kubectl을 이용하여 Pods를 외부 IP로 노출 및 스켈링(scaling)하기

 

하나의 클러스터를 구동시킵니다.




해당 노드는 8080 port로 접속이 가능합니다. 따라서 해당 deployment의 8080포트를 노출해 줍니다.


$ kubectl expose deployment [deployment name] --port=8080 --type=[set type]



위 사진에서는 8080 port로 해당 서비스에 노출을 하였습니다. type에 대한 자세한 내용은 아래 링크를 참고해 주시기 바랍니다.


링크1 : https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/


위 사진에서 'EXTERNAL-IP'가 '<pending>'인것을 알수 있습니다. 이는 접속할수 있는 ip가 할당되지 않았다는 것입니다. minikube는 현재 로컬에서 돌아가기 때문에 충분한 IP를 가지고 있지 않습니다. 


minikube로 'EXTERNAL-IP' 할당하기

$  minikube service [service name]





위의 사진을 보면 확일할수 있든시 외부포트인 31455포트를 통해서 해당 pod의 8080포트로 접근할수 있다. 


소스코드를 보면 알겠지만 임의로 node를 멈추는 기능(/err)이 있다. 임의적으로 pod가 멈췄을때는 kubernetes가 자동으로 재시작을 한다.


위 사진을 봤을때 'RESTARTS'가 0에서 1로 올라가는 것을 확인할수 있습니다. 이는 pod가 노드가 멈춘것을 알고 다시 container를 생성해서 실행한 것입니다.


해당 deployment도 제대로 동작되는것을 확인할수 있다. 이는 dash board에서도 확인할수 있습니다.


$ minikube dashboard




dashboard를 이용하여 이벤트를 시간순으로 확인할수 있습니다.


여기서 필요하면 scaling도 할수 있습니다. 현재 1개의 pod안에 한개의 컨테이너가 구동하고 있습니다. 하지만 scaling을 해서 pod의 갯수를 늘릴수 있습니다. 


$ kubectl scale deployment/[deployment name] --replicas=[replicas number]






위 사진을 보면 scaling을 3을로 했을때 2개의 pod가 추가 생성 된것을 알수 있습니다. 



댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)