13장. Ingress [networking.k8s.io/v1]
- 설명
- Ingress는 인바운드 연결이 백엔드에서 정의한 엔드포인트에 도달할 수 있도록 하는 규칙 컬렉션입니다. 외부에서 접근할 수 있는 URL, 로드 밸런싱 트래픽, SSL 종료, 이름 기반 가상 호스팅 등을 제공하도록 Ingress를 구성할 수 있습니다.
- 유형
-
object
13.1. 사양
속성 | 유형 | 설명 |
---|---|---|
|
| APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| IngressSpec은 사용자가 원하는 Ingress를 설명합니다. |
|
| IngressStatus는 Ingress의 현재 상태를 설명합니다. |
13.1.1. .spec
- 설명
- IngressSpec은 사용자가 원하는 Ingress를 설명합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| IngressBackend는 지정된 서비스 및 포트의 모든 끝점을 설명합니다. |
|
|
ingressClassName은 IngressClass 클러스터 리소스의 이름입니다. Ingress 컨트롤러 구현에서는 이 필드를 사용하여 전송 연결(controller |
|
| 규칙은 Ingress를 구성하는 데 사용되는 호스트 규칙 목록입니다. 지정되지 않았거나 규칙이 일치하지 않으면 모든 트래픽이 기본 백엔드로 전송됩니다. |
|
| IngressRule은 지정된 호스트의 경로를 관련 백엔드 서비스에 매핑하는 규칙을 나타냅니다. 들어오는 요청은 먼저 호스트 일치에 대해 평가된 다음 일치하는 IngressRuleValue와 연결된 백엔드로 라우팅됩니다. |
|
| TLS는 TLS 구성을 나타냅니다. 현재 Ingress는 단일 TLS 포트 443만 지원합니다. 이 목록의 여러 멤버가 다른 호스트를 지정하는 경우 수신 컨트롤러가 SNI를 지원하는 경우 SNI TLS 확장을 통해 지정된 호스트 이름에 따라 동일한 포트에서 멀티플렉싱됩니다. |
|
| IngressTLS는 수신과 관련된 전송 계층 보안을 설명합니다. |
13.1.2. .spec.defaultBackend
- 설명
- IngressBackend는 지정된 서비스 및 포트의 모든 끝점을 설명합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
| resource는 Ingress 오브젝트의 네임스페이스에 있는 다른 Kubernetes 리소스에 대한 ObjectRef입니다. 리소스가 지정된 경우 service.Name 및 service.Port를 지정할 수 없습니다. 이는 "Service"와 함께 사용할 수 있는 설정입니다. | |
|
| IngressServiceBackend는 Kubernetes 서비스를 백엔드로 참조합니다. |
13.1.3. .spec.defaultBackend.service
- 설명
- IngressServiceBackend는 Kubernetes 서비스를 백엔드로 참조합니다.
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 참조된 서비스입니다. 서비스는 Ingress 오브젝트와 동일한 네임스페이스에 있어야 합니다. |
|
| ServiceBackendPort는 참조 중인 서비스 포트입니다. |
13.1.4. .spec.defaultBackend.service.port
- 설명
- ServiceBackendPort는 참조 중인 서비스 포트입니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| name은 서비스에 있는 포트의 이름입니다. 이는 "Number"와 함께 상호 배타적인 설정입니다. |
|
| number는 서비스의 숫자 포트 번호(예: 80)입니다. 이는 "Name"과 함께 사용할 수 있는 설정입니다. |
13.1.5. .spec.rules
- 설명
- 규칙은 Ingress를 구성하는 데 사용되는 호스트 규칙 목록입니다. 지정되지 않았거나 규칙이 일치하지 않으면 모든 트래픽이 기본 백엔드로 전송됩니다.
- 유형
-
array
13.1.6. .spec.rules[]
- 설명
- IngressRule은 지정된 호스트의 경로를 관련 백엔드 서비스에 매핑하는 규칙을 나타냅니다. 들어오는 요청은 먼저 호스트 일치에 대해 평가된 다음 일치하는 IngressRuleValue와 연결된 백엔드로 라우팅됩니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
|
host는 RFC 3986에 정의된 네트워크 호스트의 정규화된 도메인 이름입니다. RFC 3986: 1에 정의된 URI의 "호스트" 부분에서의 다음 편차에 유의하십시오. IP는 허용되지 않습니다. 현재 IngressRuleValue는 상위 Ingress 사양의 IP에만 적용할 수 있습니다. 2. 포트가 허용되지 않기 때문에 구분 기호는 보장되지 않습니다. 호스트는 네트워크 호스트의 종료점(예: "foo.bar.com") 또는 "wildcard"(예: ".foo.foo.com")로 접두사가 지정된 도메인 이름 없이 도메인 이름인 "precise"일 수 있습니다. 와일드카드 문자 ''는 그 자체로 첫 번째 DNS 레이블로 표시되어야 하며 단일 레이블과 일치해야 합니다. 와일드카드 레이블 자체(예: Host == "*")를 포함할 수 없습니다. 요청은 다음과 같은 방식으로 Host 필드와 일치됩니다. 1. host가 정확하면 http 호스트 헤더가 Host와 같은 경우 요청이 이 규칙과 일치합니다. 2. host가 와일드카드인 경우 http 호스트 헤더가 와일드카드 규칙의 접미사(첫 번째 레이블 제거)와 같은 경우 요청은 이 규칙과 일치합니다. |
|
|
HTTPIngressRuleValue는 백엔드를 가리키는 http 선택기 목록입니다. 예제에서 http://<host>/<path>?<searchpart > |
13.1.7. .spec.rules[].http
- 설명
-
HTTPIngressRuleValue는 백엔드를 가리키는 http 선택기 목록입니다. 예제에서 http://<host>/<path>?<searchpart >
URL의 일부가 RFC 3986에 해당하는 백엔드에서 이 리소스는 마지막 '/' 이후의 모든 항목과 일치시키는 데 사용됩니다. - 유형
-
object
- 필수 항목
-
경로
-
속성 | 유형 | 설명 |
---|---|---|
|
| 경로는 요청을 백엔드에 매핑하는 경로 컬렉션입니다. |
|
| HTTPIngressPath는 경로를 백엔드와 연결합니다. 경로와 일치하는 들어오는 URL은 백엔드로 전달됩니다. |
13.1.8. .spec.rules[].http.paths
- 설명
- 경로는 요청을 백엔드에 매핑하는 경로 컬렉션입니다.
- 유형
-
array
13.1.9. .spec.rules[].http.paths[]
- 설명
- HTTPIngressPath는 경로를 백엔드와 연결합니다. 경로와 일치하는 들어오는 URL은 백엔드로 전달됩니다.
- 유형
-
object
- 필수 항목
-
pathType
-
백엔드
-
속성 | 유형 | 설명 |
---|---|---|
|
| IngressBackend는 지정된 서비스 및 포트의 모든 끝점을 설명합니다. |
|
| 경로는 들어오는 요청 경로와 일치합니다. 현재 RFC 3986에서 정의한 URL의 기존 "path" 부분에서 허용되지 않은 문자를 포함할 수 있습니다. 경로는 '/'로 시작해야 하며 값 "Exact" 또는 "Prefix"와 함께 PathType을 사용할 때 존재해야 합니다. |
|
| pathType은 일치하는 경로의 해석을 결정합니다. pathType은 다음 값 중 하나일 수 있습니다. * Exact: URL 경로가 정확히 일치합니다. * 접두사: '/'로 분할되는 URL 경로 접두사에 따라 일치합니다. 일치는 요소별로 경로 요소에 따라 수행됩니다. 경로 요소는 경로의 레이블 목록을 '/' 구분 기호로 나눈 값입니다. 요청은 모든 p가 요청 경로 p의 element-wise 접두사인 경우 경로 p에 대한 일치입니다. 경로의 마지막 요소가 요청 경로의 마지막 요소의 하위 요소인 경우 일치하는 항목이 아닙니다(예: /foo/bar/baz와 /foo/bar/baz와 일치하지만 /foo/barbaz와 일치하지 않음). * ImplementationSpecific: 경로 일치의 상호 운용성은 IngressClass에 따라 다릅니다. 구현은 이를 별도의 PathType으로 처리하거나 Prefix 또는 Exact 경로 유형과 동일하게 처리할 수 있습니다. 구현은 모든 경로 유형을 지원하는 데 필요합니다.
가능한 enum 값: - |
13.1.10. .spec.rules[].http.paths[].backend
- 설명
- IngressBackend는 지정된 서비스 및 포트의 모든 끝점을 설명합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
| resource는 Ingress 오브젝트의 네임스페이스에 있는 다른 Kubernetes 리소스에 대한 ObjectRef입니다. 리소스가 지정된 경우 service.Name 및 service.Port를 지정할 수 없습니다. 이는 "Service"와 함께 사용할 수 있는 설정입니다. | |
|
| IngressServiceBackend는 Kubernetes 서비스를 백엔드로 참조합니다. |
13.1.11. .spec.rules[].http.paths[].backend.service
- 설명
- IngressServiceBackend는 Kubernetes 서비스를 백엔드로 참조합니다.
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 참조된 서비스입니다. 서비스는 Ingress 오브젝트와 동일한 네임스페이스에 있어야 합니다. |
|
| ServiceBackendPort는 참조 중인 서비스 포트입니다. |
13.1.12. .spec.rules[].http.paths[].backend.service.port
- 설명
- ServiceBackendPort는 참조 중인 서비스 포트입니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| name은 서비스에 있는 포트의 이름입니다. 이는 "Number"와 함께 상호 배타적인 설정입니다. |
|
| number는 서비스의 숫자 포트 번호(예: 80)입니다. 이는 "Name"과 함께 사용할 수 있는 설정입니다. |
13.1.13. .spec.tls
- 설명
- TLS는 TLS 구성을 나타냅니다. 현재 Ingress는 단일 TLS 포트 443만 지원합니다. 이 목록의 여러 멤버가 다른 호스트를 지정하는 경우 수신 컨트롤러가 SNI를 지원하는 경우 SNI TLS 확장을 통해 지정된 호스트 이름에 따라 동일한 포트에서 멀티플렉싱됩니다.
- 유형
-
array
13.1.14. .spec.tls[]
- 설명
- IngressTLS는 수신과 관련된 전송 계층 보안을 설명합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 호스트는 TLS 인증서에 포함된 호스트 목록입니다. 이 목록의 값은 tlsSecret에 사용된 name/s와 일치해야 합니다. 지정되지 않은 경우 기본값은 loadbalancer 컨트롤러의 와일드카드 호스트 설정을 통해 이 Ingress를 이행합니다. |
|
| secretName은 포트 443에서 TLS 트래픽을 종료하는 데 사용되는 시크릿의 이름입니다. SNI 호스트 이름만으로 TLS 라우팅을 허용하는 필드는 선택 사항입니다. 리스너의 SNI 호스트가 IngressRule에서 사용하는 "Host" 헤더 필드와 충돌하는 경우 SNI 호스트는 종료에 사용되며 "Host" 헤더의 값이 라우팅에 사용됩니다. |
13.1.15. .status
- 설명
- IngressStatus는 Ingress의 현재 상태를 설명합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| IngressLoadBalancerStatus는 로드 밸런서의 상태를 나타냅니다. |
13.1.16. .status.loadBalancer
- 설명
- IngressLoadBalancerStatus는 로드 밸런서의 상태를 나타냅니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| Ingress는 로드 밸런서에 대한 수신 지점을 포함하는 목록입니다. |
|
| IngressLoadBalancerIngress는 로드 밸런서 인그레스 지점의 상태를 나타냅니다. |
13.1.17. .status.loadBalancer.ingress
- 설명
- Ingress는 로드 밸런서에 대한 수신 지점을 포함하는 목록입니다.
- 유형
-
array
13.1.18. .status.loadBalancer.ingress[]
- 설명
- IngressLoadBalancerIngress는 로드 밸런서 인그레스 지점의 상태를 나타냅니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 호스트 이름은 DNS 기반 로드 밸런서 인그레스 지점에 대해 설정됩니다. |
|
| IP는 IP 기반 로드 밸런서 인그레스 지점에 대해 설정됩니다. |
|
| 포트는 이 LoadBalancer에서 노출하는 포트에 대한 정보를 제공합니다. |
|
| IngressPortStatus는 서비스 포트의 오류 조건을 나타냅니다. |
13.1.19. .status.loadBalancer.ingress[].ports
- 설명
- 포트는 이 LoadBalancer에서 노출하는 포트에 대한 정보를 제공합니다.
- 유형
-
array
13.1.20. .status.loadBalancer.ingress[].ports[]
- 설명
- IngressPortStatus는 서비스 포트의 오류 조건을 나타냅니다.
- 유형
-
object
- 필수 항목
-
port
-
protocol
-
속성 | 유형 | 설명 |
---|---|---|
|
| Error is to record the problem with the service port The format of the error should comply with the following rules: - built-in error values should be specified in this file and those must use CamelCase name - cloud provider specific error values must have names that comply with the format foo.example.com/CamelCase. |
|
| port는 Ingress 포트의 포트 번호입니다. |
|
| protocol은 Ingress 포트의 프로토콜입니다. 지원되는 값은 "TCP", "UDP", "SCTP"입니다.
가능한 열거 값: - |