서비스: 외부에서 쿠버네티스 클러스터를 외부에 노출 시키기 위한 컴포넌트
1. NodePort
- 사용자가 워커 노드의 특정 포트로 요청
- 모든 요청을 노트포트 서비스로 전달
- 노드포트 서비스는 Pod에 전달
(Node Port를 통해 Node를 접속해 pod를 찾아감. pod에 직접 연결하는 것은 아님)
nodeport.yaml
apiVersion: v1
kind: Service
metadata:
name: k8s-svc
spec:
selector:
app: deploy-pod
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
nodePort: 30000
type: NodePort
yaml파일이 아닌 아래와 같이 expose 가능
kubectl expose deploy [object name] --type=NodePort --name=[name] --port=[port]
2. Ingress
- NodePort를 통해 노드포트 서비스로 접속(노드포트 서비스를 인그레스 컨트롤러로 구성)
- 인그레스 컨트롤러는 사용자의 접속 경로에 따라 적합한 클러스터 IP로 경로 제공
- 클러스터 IP 서비스는 Pod로 연결해줌
3. HPA
- 부하를 확인
: kubectl top pods
- HPA가 자원을 요청할 때 메트릭 서버를 통해 계측값을 전달 받음 메트릭 서버 필요
'Kubernetes' 카테고리의 다른 글
Kubernetes 정리 (0) | 2022.06.16 |
---|---|
ACR(Azure Container Registry) 이미지 빌드 및 업로드 (0) | 2022.03.28 |
[Kubernetes] Service 개체 (0) | 2021.07.04 |
[kubernetes] 쿠버네티스 아키텍쳐 (0) | 2021.07.04 |
docker 명령어 (0) | 2021.01.17 |