-
docker-9 kubernetes 5 service클라우드/docker 2023. 5. 12. 22:08
1. service
파드는 언제든지 생성되고 삭제되기 때문에 고유 ip를 부여한다면 관리할 수 없을 것이다. 따라서 각 파드의 ip가 아닌 서비스를 통해서 파드에 접근해야 한다.
서비스는 고정된 ip를 가지며 하나 또는 여러 개의 파드와 매칭한다. 즉 가상 네트워크나 공유기처럼 ip를 재분배해준다. 서비스에 접근하면 그 서비스와 매칭된 파드들에 접근할 수 있다.
서비스는 클러스터 외부로부터 요청을 받을 수 있게 ip를 노출하는 역할을 하는 리소스다. Deployment로 Pod를 수평확장하는 상황에, 트래픽을 적절히 분산시킨다.
2. 서비스 종류
1. clusterip(기본)
클러스터 내부에서만 접근할 수 있다.
2. nodeport
외부에서 노드로 들어오는 요청을 감지하여 파드로 트래픽을 전달한다.
3. loadbalancer
서비스를 클라우드 제공자 측의 자체 로드 밸런서로 노출시킨다.
4. externalname
서비스에 도메인 이름을 직접 명시하고 싶을 때 사용한다.
3. service 접속
apply -f deployment.yaml 명령어로 deployment.yaml 파일을 다시 생성한다.
kubrctl get pod -o wide 명령어로 ip 주소를 확인한다.
curl -X GET ip주소 -vvv, ping ip주소 명령어를 실행해도 pod 주소로는 연결되지 않는다.
vi service.yaml로 새로운 서비스 파일을 생성하고 서비스 타입과 프로토콜을 지정하고 파드를 매핑한다.
kubectl apply -g service.yaml으로 파일을 생성한다.
kube get service로 포트 넘버를 확인한다.
curl -X GET ip주소:포트 명령어를 입력하면 서비스로 연결되는 것을 확인할 수 있다.
'클라우드 > docker' 카테고리의 다른 글
docker-8 kubernetes 4 deployment (0) 2023.05.12 docker-7 kubernetes 3 pod 생성과 삭제 (0) 2023.05.12 docker-6 kubernetes 2 minikube (0) 2023.05.12 docker-5 kubernetes 1 kubernetes (0) 2023.05.12