Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

KJH

K8S Service 본문

Kubernetes

K8S Service

모이스쳐라이징 2021. 10. 2. 22:59

1. Service란

  • pod를 배포했으면, 내부적으로나 외부적으로 pod를 사용할 수 있도록 길을 열어주는 역할
  • pod를 배포하면 랜덤으로 ip를 배정받게 되는데 재시작 할 때마다 변경되기 때문에 pod의 직접적인 엔드포인트 호출은 비효율적이므로 Service를 사용하고, 이를 통해 LB역할 까지 가능하게 함
  • 멀티포트를 지원함

1.1 Service의 type 종류

이름 내용
ClusterIP 클러스터 내부적으로 사용할 IP를 할당합니다. 
NodePort 30000~32767포트를 개방하여 floatingIP를 가지고 있다면 외부에서 해당 pod로 접근 가능합니다.
LoadBalancer Public 클라우드에서 제공하는 설정 방식 외부 IP를 가지고 있는 로드밸런서를 할당 합니다.
ExternalName 외부 서비스를 쿠버네티스 내부에서 호출하고자 할때 사용할 수 있습니다. (proxy 역할)
ExternalIP 서비스에 외부IP를 지정하는 방식. 쿠버네티스에서는 관리하지 않으므로 외부에서 관리해야 합니다.
None headless 서비스로 Pod에 직접 접근 가능한 고유IP와 DNS를 생성하는데 외부로 노출할 필요가 없는 api를 위해 주로 사용

 

2. service 배포 yaml

apiVersion: v1
kind: Service
metadata:
  name: stress-svc   # 서비스 이름 설정
  namespace: size
spec:
  selector:
    app: stress-w1   # pod의 label 선택
  ports:             # 멀티 포트 지원
    - name: http    
      port: 80
      protocol: TCP
      targetPort: 80
    - name: https
      port: 443
      protocol: TCP
      targetPort: 443
  type: ClusterIP    # service의 type 지정, 내부 IP 할당

 

※ 이미지 출처

1. https://docs.microsoft.com/ko-kr/azure/architecture/reference-architectures/containers/aks-microservices/aks-microservices

 

'Kubernetes' 카테고리의 다른 글

K8S Volume  (0) 2021.10.06
K8S Ingress  (0) 2021.10.04
K8S Pod  (0) 2021.09.25
K8S scheduler  (0) 2021.09.22
K8S 소개  (0) 2021.09.22