본문 바로가기
인프라

쿠버네티스(Kubernetes) 서비스란?

by 유일리 2024. 1. 12.
쿠버네티스 서비스란?

 

만들어진 Pod끼리 통신하기 위해서는 서비스가 필요하다. 서비스는 쿠버네티스에 배포한 애플리케이션(Pod)을 접근하기 쉽게 추상화한 리소스이다.


Service를 실습해보자.

1. YAML 파일 생성

vi service.yaml

 

service.yaml

apiVersion: v1
kind: Service
metadata:
  name: my-nginx
  labels:
    run: my-nginx
spec:
  type: NodePort # Service 의 Type 을 명시하는 부분입니다. 자세한 설명은 추후 말씀드리겠습니다.
  ports:
  - port: 80
    protocol: TCP
  selector: # 아래 label 을 가진 Pod 을 매핑하는 부분입니다.
    app: nginx

 

2. 적용 및 조회

kubectl apply -f service.yaml

 

NodePort라는 type을 사용했기 때문에, minikube라는 클러스터 내부에 배포된 서비스에 클러스터 외부에서 접근할 수 있었다. 접근하는 IP는 Pod이 떠있는 노드(머신)의 IP를 사용하고, port는 할당받은 포트를 사용한다. ClusterIP라는 type은 고정된 IP, PORT를 제공하지만, 클러스터 내부에서만 접근할 수 있는 대역의 주소가 할당된다.

curl -X GET $(minikube ip):<PORT>

 

 

댓글