1. 서비스
파드가 일회성으로 구성되기에 쿠버네티스는 애플리케이션이 동작하는 시스템의 호스트나 정적 IP를 할당하여 애플리케이션을 찾을 수 없습니다. 이런 문제를 해결하기 위해 파드는 네트워크 서비스를 제공하기위해 단일 고정 IP를 가져야 합니다. 해결하기 위해 나온 것이 서비스라는 리소스인데 이 서비스는 애플리케이션 파드그룹에 단일 네트워크 액세스포인트를 제공해주고, 레이블 셀렉터를 이용해 백엔드 파드, 즉 서비스 대상 파드를 설정하여 그 파드목록들을 엔드포인트 리소스로 관리합니다.
또한 어피니티와 같은 옵션을 통해 매번 요청을 같은 파드로 연결하여 세션을 유지한다거나 하는 추가 옵션이있습니다. 어피니티의 주요옵션으로는 클라이언트 IP를 확인하여 같은 파드로 연결하는 Client IP 옵션이 있습니다. 그외에 CoreDNS 를 이용하여 쿠버네티스 내에서 사용하는 DNS 서버들이 존재합니다.
그림에서는 노드나 외부에서오는 요청, 다른 파드들의 네트워크접근이 모두 서비스 리소스를 거쳐서 파드들에게 전달되는 모습을 볼 수 있습니다.
서비스의 종류 몇가지를 확인하겠습니다.
2. Cluster IP
Cluster IP 서비스는 클러스터 내부에서만 동작하는 서비스입니다. 이 Cluster IP 를 이용하기 위해선 쿠버네티스 설정을 통해 프록시를 사용하여 외부에서 Cluster IP 서비스에 접근할수 있게끔 설정하여야 합니다.
3. NodePort
오른쪽의 노드포트는 가장 간단한 네트워킹 유형입니다. 추가 구성이 따로 필요없고, 단순히 쿠버네티스 노드에 외부 접근용 포트를 할당하는 것입니다. 여기 보이는 VM이 을 노드로 보고 노드의 포트로 접근하면 서비스로 이동되어 바로 파드로 리다이렉션 됩니다.
4. 로드밸런서
클러스터 로드밸런서를 사용하여서 외부에서 접근하며, 외부에 접근하게되면 서비스를 통해 파드로 리다이렉션 됩니다.
노드포트의 확장개념으로 일반적으로 사용되는 서비스 유형입니다.
5. Ingress
인그레스라는 서비스입니다. 클라이언트가 보낸 트래픽은 인그레스에 먼저 접근하고, 인그레스의 라우팅 규칙에 따라 서비스로 전달됩니다. 그 이후 서비스가 파드로 다시 연결하게 됩니다. L7 스위치처럼 작동할 수 있고 세부설정으로 다양한 라우팅 설정이 가능합니다.
그외에 헤드리스 서비스 라는것이 있는데 스테이트풀셋에서 확인해 보겠습니다.
'IT 공부 > PaaS' 카테고리의 다른 글
[K8S] 6. ConfigMap, Secret (0) | 2024.01.19 |
---|---|
[K8S] 5. Storage (1) | 2024.01.17 |
[K8S] 3. 컨트롤러 리소스 (0) | 2024.01.12 |
[K8S] 2. 파드 (1) | 2024.01.11 |
[K8S] 1. 아키텍처 (1) | 2024.01.10 |