쿠버네티스 서비스란?
만들어진 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>
'인프라' 카테고리의 다른 글
쿠버네티스(Kubernetes) PVC(Persistent Volume Claim)란? (0) | 2024.01.12 |
---|---|
쿠버네티스(Kubernetes) Deployment란? (0) | 2024.01.12 |
쿠버네티스(Kubernetes) 포트포워딩(PortForward), YAML/POD란? 생성 조회 및 삭제 (0) | 2024.01.12 |
쿠버네티스(Kubernetes, k8s)란? 등장배경, 도커, 컨테이너와의 관계 (0) | 2024.01.12 |
[Docker] Azure 가상머신에서 Flask 접속해보기 2 (0) | 2024.01.12 |
댓글