13장. Ingress [networking.k8s.io/v1]


설명
Ingress는 인바운드 연결이 백엔드에서 정의한 엔드포인트에 도달할 수 있도록 하는 규칙 컬렉션입니다. 외부에서 접근할 수 있는 URL, 로드 밸런싱 트래픽, SSL 종료, 이름 기반 가상 호스팅 등을 제공하도록 Ingress를 구성할 수 있습니다.
유형
object

13.1. 사양

속성유형설명

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

메타데이터

ObjectMeta

표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

IngressSpec은 사용자가 원하는 Ingress를 설명합니다.

status

object

IngressStatus는 Ingress의 현재 상태를 설명합니다.

13.1.1. .spec

설명
IngressSpec은 사용자가 원하는 Ingress를 설명합니다.
유형
object
속성유형설명

defaultBackend

object

IngressBackend는 지정된 서비스 및 포트의 모든 끝점을 설명합니다.

ingressClassName

string

ingressClassName은 IngressClass 클러스터 리소스의 이름입니다. Ingress 컨트롤러 구현에서는 이 필드를 사용하여 전송 연결(controller IngressClass Ingress 리소스)을 통해 이 Ingress 리소스를 제공해야 하는지 여부를 확인합니다. kubernetes.io/ingress.class 주석(간단한 상수 이름)은 공식적으로 정의되지 않았지만 Ingress 컨트롤러에서 Ingress 컨트롤러와 Ingress 리소스 간의 직접 바인딩을 생성하는 것이 널리 지원되었습니다. 새로 생성된 Ingress 리소스는 필드를 사용하는 것이 좋습니다. 그러나 이전 버전과의 호환성을 위해 주석이 공식적으로 더 이상 사용되지 않지만 Ingress 컨트롤러는 있는 경우 해당 주석을 계속 준수해야 합니다.

규칙

array

규칙은 Ingress를 구성하는 데 사용되는 호스트 규칙 목록입니다. 지정되지 않았거나 규칙이 일치하지 않으면 모든 트래픽이 기본 백엔드로 전송됩니다.

rules[]

object

IngressRule은 지정된 호스트의 경로를 관련 백엔드 서비스에 매핑하는 규칙을 나타냅니다. 들어오는 요청은 먼저 호스트 일치에 대해 평가된 다음 일치하는 IngressRuleValue와 연결된 백엔드로 라우팅됩니다.

tls

array

TLS는 TLS 구성을 나타냅니다. 현재 Ingress는 단일 TLS 포트 443만 지원합니다. 이 목록의 여러 멤버가 다른 호스트를 지정하는 경우 수신 컨트롤러가 SNI를 지원하는 경우 SNI TLS 확장을 통해 지정된 호스트 이름에 따라 동일한 포트에서 멀티플렉싱됩니다.

tls[]

object

IngressTLS는 수신과 관련된 전송 계층 보안을 설명합니다.

13.1.2. .spec.defaultBackend

설명
IngressBackend는 지정된 서비스 및 포트의 모든 끝점을 설명합니다.
유형
object
속성유형설명

resource

TypedLocalObjectReference

resource는 Ingress 오브젝트의 네임스페이스에 있는 다른 Kubernetes 리소스에 대한 ObjectRef입니다. 리소스가 지정된 경우 service.Name 및 service.Port를 지정할 수 없습니다. 이는 "Service"와 함께 사용할 수 있는 설정입니다.

서비스

object

IngressServiceBackend는 Kubernetes 서비스를 백엔드로 참조합니다.

13.1.3. .spec.defaultBackend.service

설명
IngressServiceBackend는 Kubernetes 서비스를 백엔드로 참조합니다.
유형
object
필수 항목
  • name
속성유형설명

name

string

name은 참조된 서비스입니다. 서비스는 Ingress 오브젝트와 동일한 네임스페이스에 있어야 합니다.

port

object

ServiceBackendPort는 참조 중인 서비스 포트입니다.

13.1.4. .spec.defaultBackend.service.port

설명
ServiceBackendPort는 참조 중인 서비스 포트입니다.
유형
object
속성유형설명

name

string

name은 서비스에 있는 포트의 이름입니다. 이는 "Number"와 함께 상호 배타적인 설정입니다.

number

integer

number는 서비스의 숫자 포트 번호(예: 80)입니다. 이는 "Name"과 함께 사용할 수 있는 설정입니다.

13.1.5. .spec.rules

설명
규칙은 Ingress를 구성하는 데 사용되는 호스트 규칙 목록입니다. 지정되지 않았거나 규칙이 일치하지 않으면 모든 트래픽이 기본 백엔드로 전송됩니다.
유형
array

13.1.6. .spec.rules[]

설명
IngressRule은 지정된 호스트의 경로를 관련 백엔드 서비스에 매핑하는 규칙을 나타냅니다. 들어오는 요청은 먼저 호스트 일치에 대해 평가된 다음 일치하는 IngressRuleValue와 연결된 백엔드로 라우팅됩니다.
유형
object
속성유형설명

host

string

host는 RFC 3986에 정의된 네트워크 호스트의 정규화된 도메인 이름입니다. RFC 3986: 1에 정의된 URI의 "호스트" 부분에서의 다음 편차에 유의하십시오. IP는 허용되지 않습니다. 현재 IngressRuleValue는 상위 Ingress 사양의 IP에만 적용할 수 있습니다. 2. 포트가 허용되지 않기 때문에 구분 기호는 보장되지 않습니다. 현재 Ingress의 포트는 https의 경우 http 및 :443의 경우 암시적으로 :80입니다. 이 두 가지는 나중에 변경될 수 있습니다. IngressRuleValue 전에 들어오는 요청은 호스트와 일치됩니다. 호스트를 지정하지 않으면 Ingress는 지정된 IngressRuleValue를 기반으로 모든 트래픽을 라우팅합니다.

호스트는 네트워크 호스트의 종료점(예: "foo.bar.com") 또는 "wildcard"(예: ".foo.foo.com")로 접두사가 지정된 도메인 이름 없이 도메인 이름인 "precise"일 수 있습니다. 와일드카드 문자 ''는 그 자체로 첫 번째 DNS 레이블로 표시되어야 하며 단일 레이블과 일치해야 합니다. 와일드카드 레이블 자체(예: Host == "*")를 포함할 수 없습니다. 요청은 다음과 같은 방식으로 Host 필드와 일치됩니다. 1. host가 정확하면 http 호스트 헤더가 Host와 같은 경우 요청이 이 규칙과 일치합니다. 2. host가 와일드카드인 경우 http 호스트 헤더가 와일드카드 규칙의 접미사(첫 번째 레이블 제거)와 같은 경우 요청은 이 규칙과 일치합니다.

http

object

HTTPIngressRuleValue는 백엔드를 가리키는 http 선택기 목록입니다. 예제에서 http://<host>/<path>?<searchpart > URL의 일부가 RFC 3986에 해당하는 백엔드에서 이 리소스는 마지막 '/' 이후의 모든 항목과 일치시키는 데 사용됩니다.

13.1.7. .spec.rules[].http

설명
HTTPIngressRuleValue는 백엔드를 가리키는 http 선택기 목록입니다. 예제에서 http://<host>/<path>?<searchpart > URL의 일부가 RFC 3986에 해당하는 백엔드에서 이 리소스는 마지막 '/' 이후의 모든 항목과 일치시키는 데 사용됩니다.
유형
object
필수 항목
  • 경로
속성유형설명

경로

array

경로는 요청을 백엔드에 매핑하는 경로 컬렉션입니다.

paths[]

object

HTTPIngressPath는 경로를 백엔드와 연결합니다. 경로와 일치하는 들어오는 URL은 백엔드로 전달됩니다.

13.1.8. .spec.rules[].http.paths

설명
경로는 요청을 백엔드에 매핑하는 경로 컬렉션입니다.
유형
array

13.1.9. .spec.rules[].http.paths[]

설명
HTTPIngressPath는 경로를 백엔드와 연결합니다. 경로와 일치하는 들어오는 URL은 백엔드로 전달됩니다.
유형
object
필수 항목
  • pathType
  • 백엔드
속성유형설명

백엔드

object

IngressBackend는 지정된 서비스 및 포트의 모든 끝점을 설명합니다.

path

string

경로는 들어오는 요청 경로와 일치합니다. 현재 RFC 3986에서 정의한 URL의 기존 "path" 부분에서 허용되지 않은 문자를 포함할 수 있습니다. 경로는 '/'로 시작해야 하며 값 "Exact" 또는 "Prefix"와 함께 PathType을 사용할 때 존재해야 합니다.

pathType

string

pathType은 일치하는 경로의 해석을 결정합니다. pathType은 다음 값 중 하나일 수 있습니다. * Exact: URL 경로가 정확히 일치합니다. * 접두사: '/'로 분할되는 URL 경로 접두사에 따라 일치합니다. 일치는 요소별로 경로 요소에 따라 수행됩니다. 경로 요소는 경로의 레이블 목록을 '/' 구분 기호로 나눈 값입니다. 요청은 모든 p가 요청 경로 p의 element-wise 접두사인 경우 경로 p에 대한 일치입니다. 경로의 마지막 요소가 요청 경로의 마지막 요소의 하위 요소인 경우 일치하는 항목이 아닙니다(예: /foo/bar/baz와 /foo/bar/baz와 일치하지만 /foo/barbaz와 일치하지 않음). * ImplementationSpecific: 경로 일치의 상호 운용성은 IngressClass에 따라 다릅니다. 구현은 이를 별도의 PathType으로 처리하거나 Prefix 또는 Exact 경로 유형과 동일하게 처리할 수 있습니다. 구현은 모든 경로 유형을 지원하는 데 필요합니다.

가능한 enum 값: - "Exact" 는 URL 경로와 대소문자를 정확히 일치시킵니다. - "ImplementationSpecific" 일치는 IngressClass까지입니다. 구현은 이를 별도의 PathType으로 처리하거나 Prefix 또는 Exact 경로 유형과 동일하게 처리할 수 있습니다. - "Prefix" 는 '/'로 분할되는 URL 경로 접두사를 기반으로 일치합니다. 일치는 대소문자를 구분하고 요소별로 경로 요소에서 수행됩니다. path 요소는 경로의 레이블 목록을 '/' 구분 기호로 나눕니다. 요청은 모든 p가 요청 경로 p의 element-wise 접두사인 경우 경로 p에 대한 일치입니다. 경로의 마지막 요소가 요청 경로의 마지막 요소의 하위 요소인 경우 일치하는 항목이 아닙니다(예: /foo/bar/baz와 /foo/bar/baz와 일치하지만 /foo/barbaz와 일치하지 않음). Ingress 사양에 일치하는 경로가 여러 개 있는 경우 가장 긴 일치 경로가 우선순위가 부여됩니다. 예: - /foo/barbar does not match requests to /foo/baraz - /foo/bar /foo/bar matches request to /foo/bar/baz - /foo 및 /foo/ 두 항목 모두 /foo 및 /foo/에 대한 요청을 일치시킵니다. Ingress 사양에 두 경로가 모두 있는 경우 가장 긴 일치 경로(/foo/)가 우선 순위가 지정됩니다.

13.1.10. .spec.rules[].http.paths[].backend

설명
IngressBackend는 지정된 서비스 및 포트의 모든 끝점을 설명합니다.
유형
object
속성유형설명

resource

TypedLocalObjectReference

resource는 Ingress 오브젝트의 네임스페이스에 있는 다른 Kubernetes 리소스에 대한 ObjectRef입니다. 리소스가 지정된 경우 service.Name 및 service.Port를 지정할 수 없습니다. 이는 "Service"와 함께 사용할 수 있는 설정입니다.

서비스

object

IngressServiceBackend는 Kubernetes 서비스를 백엔드로 참조합니다.

13.1.11. .spec.rules[].http.paths[].backend.service

설명
IngressServiceBackend는 Kubernetes 서비스를 백엔드로 참조합니다.
유형
object
필수 항목
  • name
속성유형설명

name

string

name은 참조된 서비스입니다. 서비스는 Ingress 오브젝트와 동일한 네임스페이스에 있어야 합니다.

port

object

ServiceBackendPort는 참조 중인 서비스 포트입니다.

13.1.12. .spec.rules[].http.paths[].backend.service.port

설명
ServiceBackendPort는 참조 중인 서비스 포트입니다.
유형
object
속성유형설명

name

string

name은 서비스에 있는 포트의 이름입니다. 이는 "Number"와 함께 상호 배타적인 설정입니다.

number

integer

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

string

secretName은 포트 443에서 TLS 트래픽을 종료하는 데 사용되는 시크릿의 이름입니다. SNI 호스트 이름만으로 TLS 라우팅을 허용하는 필드는 선택 사항입니다. 리스너의 SNI 호스트가 IngressRule에서 사용하는 "Host" 헤더 필드와 충돌하는 경우 SNI 호스트는 종료에 사용되며 "Host" 헤더의 값이 라우팅에 사용됩니다.

13.1.15. .status

설명
IngressStatus는 Ingress의 현재 상태를 설명합니다.
유형
object
속성유형설명

loadBalancer

object

IngressLoadBalancerStatus는 로드 밸런서의 상태를 나타냅니다.

13.1.16. .status.loadBalancer

설명
IngressLoadBalancerStatus는 로드 밸런서의 상태를 나타냅니다.
유형
object
속성유형설명

Ingress

array

Ingress는 로드 밸런서에 대한 수신 지점을 포함하는 목록입니다.

ingress[]

object

IngressLoadBalancerIngress는 로드 밸런서 인그레스 지점의 상태를 나타냅니다.

13.1.17. .status.loadBalancer.ingress

설명
Ingress는 로드 밸런서에 대한 수신 지점을 포함하는 목록입니다.
유형
array

13.1.18. .status.loadBalancer.ingress[]

설명
IngressLoadBalancerIngress는 로드 밸런서 인그레스 지점의 상태를 나타냅니다.
유형
object
속성유형설명

hostname

string

호스트 이름은 DNS 기반 로드 밸런서 인그레스 지점에 대해 설정됩니다.

ip

string

IP는 IP 기반 로드 밸런서 인그레스 지점에 대해 설정됩니다.

포트

array

포트는 이 LoadBalancer에서 노출하는 포트에 대한 정보를 제공합니다.

ports[]

object

IngressPortStatus는 서비스 포트의 오류 조건을 나타냅니다.

13.1.19. .status.loadBalancer.ingress[].ports

설명
포트는 이 LoadBalancer에서 노출하는 포트에 대한 정보를 제공합니다.
유형
array

13.1.20. .status.loadBalancer.ingress[].ports[]

설명
IngressPortStatus는 서비스 포트의 오류 조건을 나타냅니다.
유형
object
필수 항목
  • port
  • protocol
속성유형설명

error

string

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

integer

port는 Ingress 포트의 포트 번호입니다.

protocol

string

protocol은 Ingress 포트의 프로토콜입니다. 지원되는 값은 "TCP", "UDP", "SCTP"입니다.

가능한 열거 값: - "SCTP" 는 SCTP 프로토콜입니다. - "TCP" 는 TCP 프로토콜입니다. - "UDP" 는 UDP 프로토콜입니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.