Kubernetes

[K8S] 쿠버네티스 정리

tpcable 2022. 10. 17. 23:01

서비스: 외부에서 쿠버네티스 클러스터를 외부에 노출 시키기 위한 컴포넌트

 

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