1.9.4. 서비스 유형 및 API 리소스 간 선택
서비스 유형 및 API 리소스는 애플리케이션을 노출하고 네트워크 연결 보안을 위한 다양한 이점을 제공합니다. 적절한 서비스 유형 또는 API 리소스를 활용하여 애플리케이션이 노출되는 방식을 효과적으로 관리하고 내부 및 외부 클라이언트 모두에 대해 안전하고 안정적인 액세스를 보장할 수 있습니다.
OpenShift Container Platform에서는 다음 서비스 유형 및 API 리소스를 지원합니다.
서비스 유형
-
ClusterIP는 내부 전용 노출을 위한 것입니다. 쉽게 설정할 수 있으며 클러스터 내의 서비스에 액세스하기 위한 안정적인 내부 IP 주소를 제공합니다.ClusterIP는 클러스터 내의 서비스 간 통신에 적합합니다. -
NodePort를 사용하면 정적 포트에서 각 노드의 IP에 서비스를 노출하여 외부 액세스를 허용합니다. 개발 및 테스트에 설정하고 유용합니다.NodePort는 클라우드 공급자의 로드 밸런서 없이 간단한 외부 액세스에 적합합니다. -
LoadBalancer는 여러 노드에 트래픽을 분산하기 위해 외부 로드 밸런서를 자동으로 프로비저닝합니다. 안정적인 고가용성 액세스가 필요한 프로덕션 환경에 이상적입니다. -
ExternalName은 서비스를 외부 DNS 이름에 매핑하여 서비스의 DNS 이름을 사용하여 클러스터 외부의 서비스에 액세스할 수 있도록 합니다. 외부 서비스 또는 레거시 시스템을 클러스터와 통합하는 것이 좋습니다. -
헤드리스 서비스는 안정적인
ClusterIP를 제공하지 않고 Pod IP 목록을 반환하는 DNS 이름입니다. 이는 개별 Pod IP에 직접 액세스해야 하는 상태 저장 애플리케이션 또는 시나리오에 이상적입니다.
-
API 리소스
-
Ingress는 로드 밸런싱, SSL/TLS 종료 및 이름 기반 가상 호스팅 지원을 포함하여 라우팅 HTTP 및 HTTPS 트래픽을 제어합니다. 서비스 자체보다 유연하며 여러 도메인 및 경로를 지원합니다. 복잡한 라우팅이 필요한 경우Ingress가 이상적입니다. -
경로는Ingress와 유사하지만 TLS 재암호화 및 패스스루를 포함한 추가 기능을 제공합니다. 서비스 노출 프로세스를 외부에서 단순화합니다.경로는통합 인증서 관리와 같은 고급 기능이 필요한 경우에 가장 적합합니다.
-
서비스를 외부 트래픽에 노출하는 간단한 방법이 필요한 경우 경로 또는 Ingress 가 최선의 선택이 될 수 있습니다. 이러한 리소스는 네임스페이스 관리자 또는 개발자가 관리할 수 있습니다. 가장 쉬운 방법은 경로를 생성하고, 외부 DNS 이름을 확인하고, 외부 DNS 이름을 가리키는 CNAME을 갖도록 DNS를 구성하는 것입니다.
HTTP/HTTPS/TLS의 경우 경로 또는 Ingress 로 충분합니다. 다른 모든 것은 더 복잡하며 포트를 액세스하거나 MetalLB를 구성하려면 클러스터 관리자가 필요합니다. LoadBalancer 서비스는 클라우드 환경의 옵션이거나 적절하게 구성된 베어 메탈 환경이기도 합니다.