10.18.2. 가상 머신 노출 서비스 생성
Service 오브젝트를 사용하여 클러스터 내에서 또는 클러스터 외부에 가상 머신을 노출할 수 있습니다.
10.18.2.1. 서비스 정보 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes 서비스는 클라이언트가 일련의 pod에서 실행되는 애플리케이션에 대한 네트워크 액세스를 노출합니다. 서비스는 추상화, 로드 밸런싱, NodePort 및 LoadBalancer의 경우 외부 환경에 노출을 제공합니다.
웹 콘솔의 VirtualMachine details Service 오브젝트에 spec.type 을 지정하면 됩니다.
- ClusterIP
-
내부 IP 주소의 서비스와 클러스터 내의 다른 애플리케이션에 DNS 이름으로 노출합니다. 단일 서비스는 여러 가상 머신에 매핑할 수 있습니다. 클라이언트가 서비스에 연결을 시도하면 클라이언트의 요청이 사용 가능한 백엔드 간에 부하 분산됩니다.
ClusterIP는 기본 서비스유형입니다. - NodePort
-
클러스터에서 선택한 각 노드의 동일한 포트에 서비스를 노출합니다.
NodePort를 사용하면 클러스터 외부에서 서비스에 액세스할 수 있습니다. - LoadBalancer
- 현재 클라우드에서 외부 로드 밸런서를 생성하고(지원되는 경우) 고정 외부 IP 주소를 서비스에 할당합니다.
온프레미스 클러스터의 경우 MetalLB Operator를 배포하여 로드 밸런싱 서비스를 구성할 수 있습니다.
10.18.2.1.1. 듀얼 스택 지원 링크 복사링크가 클립보드에 복사되었습니다!
클러스터에 대해 IPv4 및 IPv6 이중 스택 네트워킹을 사용하도록 설정한 경우 Service 개체에 spec.ipFamilyPolicy 및 spec.ipFamilies 필드를 정의하여 IPv4, IPv6 또는 둘 다 사용하는 서비스를 생성할 수 있습니다.
spec.ipFamilyPolicy 필드는 다음 값 중 하나로 설정할 수 있습니다.
- SingleStack
- 컨트롤 플레인은 첫 번째 구성된 서비스 클러스터 IP 범위를 기반으로 서비스에 대한 클러스터 IP 주소를 할당합니다.
- PreferDualStack
- 컨트롤 플레인은 듀얼 스택이 구성된 클러스터에서 서비스에 대해 IPv4 및 IPv6 클러스터 IP 주소를 모두 할당합니다.
- RequireDualStack
-
이 옵션은 듀얼 스택 네트워킹이 활성화되지 않은 클러스터에 실패합니다. 듀얼 스택이 구성된 클러스터의 경우 해당 동작은 값이
PreferDualStack으로 설정된 경우와 동일합니다. 컨트롤 플레인은 IPv4 및 IPv6 주소 범위의 클러스터 IP 주소를 할당합니다.
spec.ipFamilies 필드를 다음 배열 값 중 하나로 설정하여 단일 스택에 사용할 IP 제품군을 정의하거나 이중 스택의 IP 제품군 순서를 정의할 수 있습니다.
-
[IPv4] -
[IPv6] -
[IPv4, IPv6] -
[IPv6, IPv4]