서비스
서비스 (Service)
이 페이지는 포드 집합에 대한 네트워크 서비스를 추상화하는 Service 객체를 설명해요. 포드에 안정적인 IP와 DNS 이름을 제공하는 구조체랍니다.
본문
Service는 포드 집합에서 실행 중인 애플리케이션을 네트워크 서비스로 노출하는 방법입니다.
apiVersion: v1
import "k8s.io/api/core/v1"
Service
Service는 포드 집합에서 실행 중인 애플리케이션을 네트워크 서비스로 노출하는 방법입니다.
| Field | Description |
|---|---|
apiVersion |
|
| string | APIVersion은 이 객체 표현의 버전 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않은 값은 거부할 수 있습니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
kind |
|
| string | Kind는 이 객체가 나타내는 REST 리소스를 나타내는 문자열 값입니다. 서버는 클라이언트가 요청을 제출하는 엔드포인트에서 이를 추론할 수 있습니다. 업데이트할 수 없습니다. CamelCase 형식입니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadata |
|
| ObjectMeta | 객체의 표준 메타데이터입니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
spec |
|
| ServiceSpec | spec는 클라이언트가 사용 가능하게 하려는 서비스의 동작을 정의합니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
status |
|
| ServiceStatus | status는 서비스의 현재 상태를 나타냅니다. 자세한 내용: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
ServiceSpec
ServiceSpec는 Service의 원하는 상태를 정의합니다.
| Field | Description |
|---|---|
allocateLoadBalancerNodePorts |
|
| boolean | allocateLoadBalancerNodePorts는 LoadBalancer로 생성된 서비스에 대해 노드 포트가 할당될지 여부를 정의합니다. 이 필드는 type=LoadBalancer일 때만 유지됩니다. 기본값은 true입니다. |
clusterIP |
|
| string | clusterIP는 서비스의 가상 IP 주소입니다. 이 필드가 지정되면 사용된 값은 동작에 따라 달라집니다. |
clusterIPs |
|
| string array | clusterIPs는 이 서비스에 할당된 IP 주소의 목록입니다. 이 주소는 항상 각자의 IPFamily를 가집니다. |
externalIPs |
|
| string array | externalIPs는 이 서비스로 트래픽이 전달될 외부 IP의 목록입니다. 라우터에 의해 설정되며 일반적으로 노드 IP입니다. |
externalName |
|
| string | externalName은 type=ExternalName인 서비스의 외부 참조 이름입니다. |
externalTrafficPolicy |
|
| string | externalTrafficPolicy는 외부 트래픽이 서비스를 통해 라우팅되는 방법을 나타냅니다. 유효한 값은 Cluster, Local입니다. |
healthCheckNodePort |
|
| integer | healthCheckNodePort는 kube-proxy가 서비스에 대한 health check를 노출하는 데 사용하는 포트입니다. 이 값은 externalTrafficPolicy가 Local일 때만 유지됩니다. |
internalTrafficPolicy |
|
| string | internalTrafficPolicy는 내부 트래픽이 서비스를 통해 라우팅되는 방법을 나타냅니다. 유효한 값은 Cluster, Local입니다. |
ipFamilies |
|
| string array | ipFamilies는 이 서비스에서 할당된 IP 주소의 IP 패밀리 목록입니다. 유효한 값은 IPv4, IPv6입니다. 이 필드는 지정된 경우 clusterIPs의 각 항목과 일치해야 합니다. |
ipFamilyPolicy |
|
| string | ipFamilyPolicy는 이 서비스가 할당받게 될 IP 패밀리에 대한 정책을 나타냅니다. 유효한 값은 SingleStack, PreferDualStack, RequireDualStack입니다. |
loadBalancerClass |
|
| string | loadBalancerClass는 이 서비스의 LoadBalancer 구현을 결정하기 위해 선택된 클래스에 대한 참조입니다. |
loadBalancerIP |
|
| string | loadBalancerIP는 LoadBalancer에 대해 요청된 외부 IP 주소입니다. |
loadBalancerSourceRanges |
|
| string array | loadBalancerSourceRanges는 LoadBalancer로 생성된 서비스에 들어오는 트래픽을 허용하는 소스 IP 범위의 목록입니다. |
ports |
|
| ServicePort array | ports는 이 Service가 노출하는 포트 목록입니다. 각 항목은 프런트엔드와 백엔드 포트 사이의 관계를 정의합니다. |
publishNotReadyAddresses |
|
| boolean | publishNotReadyAddresses는 준비되지 않은 포드에 대한 엔드포인트를 게시할지 여부를 나타냅니다. 기본값은 false입니다. |
selector |
|
| map[string]string | selector는 이 서비스가 트래픽을 라우팅할 포드의 라벨 셀렉터입니다. |
sessionAffinity |
|
| string | sessionAffinity는 세션 기반의 자세한 지속 방법을 나타냅니다. 유효한 값은 ClientIP, None입니다. |
sessionAffinityConfig |
|
| SessionAffinityConfig | sessionAffinityConfig는 세션 선호도 설정을 포함합니다. |
trafficDistribution |
|
| string | trafficDistribution은 이 서비스의 트래픽을 라우팅하는 방법에 대한 실질적인 힌트를 제공합니다. 유효한 값은 PreferClose입니다. |
type |
|
| string | type는 서비스의 노출 유형을 결정합니다. 유효한 값은 ClusterIP, NodePort, LoadBalancer, ExternalName입니다. 기본값은 ClusterIP입니다. |
ServicePort
ServicePort는 Service에서 제공되는 포트를 나타냅니다.
| Field | Description |
|---|---|
appProtocol |
|
| string | appProtocol는 이 포트에 대한 애플리케이션 레벨 프로토콜입니다. 이 필드는 IANA 표준 서비스 이름의 문자열을 사용할 수 있습니다. |
name |
|
| string | name는 포트의 이름입니다. 서비스 내에서 고유해야 하며 DNS 라벨이어야 합니다. |
nodePort |
|
| integer | nodePort는 이 Service가 노출되는 노드의 포트입니다. 전체 클러스터에서 서비스에 대해 고유해야 합니다. |
port ***** |
|
| integer | port는 Service를 통해 노출되는 포트입니다. |
protocol |
|
| string | protocol는 이 포트에 사용할 IP 프로토콜입니다. 유효한 값은 TCP, UDP, SCTP입니다. 기본값은 TCP입니다. |
targetPort |
|
| IntOrString | targetPort는 서비스가 연결할 포드의 포트 번호나 이름입니다. 기본값은 port와 동일합니다. |
SessionAffinityConfig
SessionAffinityConfig는 세션 선호도 구성을 나타냅니다.
| Field | Description |
|---|---|
clientIP |
|
| ClientIPConfig | clientIP는 세션 선호도가 ClientIP일 때 사용되는 클라이언트 IP 구성입니다. |
ClientIPConfig
ClientIPConfig는 세션 선호도가 ClientIP일 때의 구성을 나타냅니다.
| Field | Description |
|---|---|
timeoutSeconds |
|
| integer | timeoutSeconds는 클라이언트 IP 세션의 세션 제휴에 대한 유효 시간을 지정합니다. 최소값은 1이며, 기본값은 10800(3시간)입니다. |
ServiceStatus
ServiceStatus는 Service의 현재 상태를 나타냅니다.
| Field | Description |
|---|---|
conditions |
|
| ServiceCondition array | conditions는 관찰 가능한 서비스 상태의 목록입니다. |
loadBalancer |
|
| LoadBalancerStatus | loadBalancer는 서비스에 대한 부하 분산 장치의 현재 상태를 나타냅니다. |
LoadBalancerStatus
LoadBalancerStatus는 서비스에 대한 부하 분산 장치의 현재 상태를 나타냅니다.
| Field | Description |
|---|---|
ingress |
|
| LoadBalancerIngress array | ingress는 부하 분산 장치에 의해 할당된 IP 주소와 호스트 이름과 같은 수신 트래픽에 대한 정보 목록입니다. |
LoadBalancerIngress
LoadBalancerIngress는 부하 분산 장치에 대한 수신 트래픽 정보를 나타냅니다.
| Field | Description |
|---|---|
hostname |
|
| string | hostname는 부하 분산 장치에 할당된 호스트 이름입니다. |
ip |
|
| string | ip는 부하 분산 장치에 할당된 IP 주소입니다. |
ipMode |
|
| string | ipMode는 IP 주소의 모드입니다. 값은 VIP와 Proxy입니다. |
ports |
|
| PortStatus array | ports는 부하 분산 장치에서 노출되는 포트 목록입니다. |
PortStatus
PortStatus는 부하 분산 장치에서 노출되는 포트를 나타냅니다.
| Field | Description |
|---|---|
error |
|
| string | error는 이 포트에 대한 부하 분산 장치 설정 오류를 나타냅니다. |
port ***** |
|
| integer | port는 부하 분산 장치에서 노출되는 포트 번호입니다. |
protocol ***** |
|
| string | protocol는 이 포트에 대한 IP 프로토콜입니다. 유효한 값은 TCP, UDP, SCTP입니다. |
ServiceCondition
ServiceCondition는 서비스의 상태 조건을 나타냅니다.
| Field | Description |
|---|---|
lastTransitionTime |
|
| Time | lastTransitionTime는 조건이 한 상태에서 다른 상태로 전환된 마지막 시간입니다. |
message |
|
| string | message는 조건에 대한 세부 정보를 포함하는 사람이 읽을 수 있는 메시지입니다. |
reason |
|
| string | reason는 조건의 마지막 전환에 대한 이유입니다. |
status ***** |
|
| string | status는 조건의 상태입니다. True, False, Unknown 중 하나입니다. |
type ***** |
|
| string | type는 조건의 유형입니다. |