728x90
반응형
# 외부로 서비스하는 방법들과 노드포트
NodePort: 노드의 자체 포트를 사용하여 포드로 리다이렉션
LoadBalancer: 외부 게이트웨이를 사용해 노드 포트로 리다이렉션
Ingress: 하나의 IP 주소를 통해 여러 서비스를 제공하는 특별한 메커니즘
# 노드포트 생성하기
port: 80 # 서비스의 포트
targetPort: 8080 # 포드의 포트
nodePort: 30001 # 최종적으로 서비스되는 포트
간단한 개념 : 노드 - svc - 포드
- vpc는 방화벽 개념이므로, 해당 node 포트를 허용해주어야 한다.
# 노드포드 실습
# 이전 실습한 파일을 copy 하기
cp http-go-deploy.yaml http-go-np.yaml
vim http-go-np.yaml
- 모두 삭제하고 아래내용 붙여넣어 준다.
apiVersion: v1
kind: Service
metadata:
name: http-go-np
spec:
type: NodePort
selector:
run: http-go
ports:
- protocol: TCP
port: 80
targetPort: 8080
nodePort: 30001
# yaml 파일 실행하기
kubectl create -f http-go-np.yaml
- node 포트가 생성되었다는 메세지가 나온다.
kubectl get svc
# 노드의 ip를 확인하기 > compute 의 외부ip와 같음
kubectl get nodes -o wide
# node 포트의 ip로 접근하기
- 구글 클라우드 방화벽 열기
gcloud compute firewall-rules create http-go-svc-rule --allow=tcp:30001
kubectl get nodes -o wide
curl [node포트 외부 ip]:30001
curl 34.64.91.58:30001
- 다른 노드의 ip도 서비스가 가능한것을 볼 수 있다.
728x90
반응형
'⭐ Kubernetes & EKS > 서비스 (Service)' 카테고리의 다른 글
K8S에서 Service의 주요 역할 (0) | 2024.08.21 |
---|---|
포트별로 서비스 갯수 및 형태를 나누기 (0) | 2023.03.21 |
service.yaml 파일에 healthcheck 설정 (0) | 2022.10.14 |
서비스와 클러스터IP (0) | 2021.09.09 |