반응형
Headless Service
- ClusterIP가 없는 서비스로 단일 진입점이 필요 없을 때 사용
- Pod들의 endpoint를 묶어주지만 IP는 x
- Service와 연결된 Pod의 endpoint로 DNS 레코드가 생성됨
- Pod들의 endpoint에 DNS resolving Service로 지원
- Pod의 DNS 주소: pod-ip-addr.namespace.pod.cluster.local
Example
- clusterIP가 None으로 설정되면 Headless Service
- create -f를 통해 Headless Service 실행
- kubectl create -f headless-nginx.yaml
- get, describe를 통해 Headless Service확인
- kubectl get service
- kubectl describe svc headless-service
- Pod Endpoint DNS 서비스 조회
- kubectl run testpod -it --image=centos:7 /bin/bash
- curl ip-addr.default.pod.cluster.local
kube-proxy
- Kubernetes Service의 backend 구현
- iptables 룰 생성
- endpoint 연결을 위한 iptables 구성
- nodePort로의 접근과 Pod 연결을 구현(iptables 구성)
kube-proxy mode
- userspace
- 클라이언트의 서비스 요청을 iptables를 거쳐 kube-proxy가 받아서 연결
- kubernetes 초기버전에 잠깐 사용
- iptables
- default kubernetes network mode
- kube-proxy는 service API 요청 시 iptables rule이 생성
- 클라이언트 연결을 kube-proxy가 받아서 iptables 룰을 통해 연결
- IPVS
- 리눅스 커널이 지원하는 L4 로드밸런싱 기술을 이용
- 별도의 ipvs 지원 모듈을 설정한 후 적용 가능
- 지원 알고리즘: rr(round-robin), lc(least connection), dh(destination hashing), sh(source hashing), sed(shortest expected delay), nc
Reference
반응형
'Kubernetes(k8s) > 따배쿠(따라하면서 배우는 쿠버네티스) 학습' 카테고리의 다른 글
[k8s]Kubernetes - Ingress 웹페이지 구현 (0) | 2023.03.14 |
---|---|
[k8s]Kubernetes - Ingress (0) | 2023.03.14 |
[k8s]Kubernetes - Service 4가지 종류 (0) | 2023.03.09 |
[k8s]Kubernetes - Service (0) | 2023.03.09 |
[k8s]Kubernetes - 멀티마스터 쿠버네티스 클러스터 (0) | 2023.03.07 |