일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- programmers
- CI
- Di
- JPA
- SpringMVC
- builder-pattern
- CKA
- superBuilder
- 알고리즘
- Spring
- 해시맵
- cd
- Kubernetes
- 코딩테스트연습
- DevOps
- ORM
- 뷰
- Oracle
- 자바
- dabase
- docker
- CI/CD
- map
- hibernate
- Vue
- java
- 프로그래머스
- vuejs
- IntelliJ
- k8s
Archives
- Today
- Total
문홍의 공부장
[k8s] 서비스 Service 본문
반응형
Service
Headless Service
서비스는 접근을 위해 ClusterIP 또는 ExternalIP 를 지정받는다.
즉, 서비스를 통해 제공되는 기능들에 대한 엔드포인트를 쿠버네티스 서비스를 통해 통제하는 개념인데, MSA 에서는 기능 컴포넌트에 대한 엔드포인트를 찾는 기능을 Service Discovery 라 하고, 서비스의 위치를 등록해놓는 서비스 디스커버리 솔루션을 제공한다. (Etcd, consul 등)
이 경우, 쿠버네티스 서비스를 통해 컴포넌트를 관리하는 것이 아니라, 서비스 디스커버리 솔루션을 사용하기 때문에, 서비스에 대한 IP 주소가 필요없다.
이러한 시나리오를 지원하기 위한 쿠버네티스의 서비스를 Headless Service 라 한다. Headless Service 생성 시, 클러스터 네트워크 내부에서 서비스에 속한 파드와 직접 접근 가능한 고유 IP와 DNS 가 생성된다.
- Cluster IP 등의 주소를 가지지 않음
- DNS 이름을 가지며, DNS를 nslookup 해보면 (서비스(로드밸런서)의 IP가 아닌) 서비스에 연결된 Pod 들의 IP 주소를 리턴한다
Service Discovery
- DNS 이름을 사용하여 생성된 서비스의 IP 를 확인할 수 있다.
- 서비스 생성: DNS=[서비스명].[네임스페이스명].svc.cluster.local
- Pod: FQDN=IP.[네임스페이스명].pod.cluster.local
References.
반응형
'개발 > DevOps' 카테고리의 다른 글
[k8s] Ingress (0) | 2022.01.18 |
---|---|
[k8s] Statefulset (0) | 2022.01.18 |
[k8s] 파드 Pod (0) | 2022.01.17 |
[k8s] 쿠버네티스 아키텍쳐 (0) | 2022.01.17 |
[k8s] what is kubernetes ? (0) | 2022.01.04 |