16장. Route [route.openshift.io/v1]


설명

경로를 사용하면 개발자가 HTTP(S)에서 공용 DNS 항목을 통해 로드 밸런싱 및 프록시 계층을 인식하여 서비스를 노출할 수 있습니다. 경로는 TLS 옵션 및 인증서를 추가로 지정하거나 라우터에서 HTTP 및 HTTPS 트래픽에 대해 수락해야 하는 공용 CNAME을 지정할 수 있습니다. 관리자는 일반적으로 라우터가 클러스터 방화벽 외부에 표시되도록 구성하고 서비스 콘텐츠에 보안, 캐싱 또는 트래픽 제어를 추가할 수도 있습니다. 라우터는 일반적으로 서비스 엔드포인트와 직접 통신합니다.

경로가 생성되면 호스트 필드가 변경되지 않을 수 있습니다. 일반적으로 라우터는 충돌을 해결할 때 지정된 호스트에서 가장 오래된 경로를 사용합니다.

라우터는 추가 사용자 지정의 영향을 받으며 annotations 필드를 통해 추가 제어를 지원할 수 있습니다.

관리자는 여러 라우터를 구성할 수 있으므로 경로 상태 필드는 각 라우터의 경로 이름 및 상태에 대한 정보를 클라이언트에 반환하는 데 사용됩니다. 예를 들어 클라이언트가 중복 이름을 선택하는 경우 경로 상태 조건이 사용하여 경로를 선택할 수 없음을 나타냅니다.

경로에서 HTTP/2 ALPN을 활성화하려면 사용자 정의 (비위 카드) 인증서가 필요합니다. 이렇게 하면 클라이언트가 연결을 병합할 수 없으며 특히 웹 브라우저도 마찬가지입니다. 연결 재사용/커밋의 위험 때문에 기본 인증서를 사용하는 경로에서 HTTP/2 ALPN을 지원하지 않습니다. 자체 사용자 지정 인증서가 없는 경로는 프런트 엔드 또는 백엔드에서 HTTP/2 ALPN을 사용할 수 없습니다.

호환성 수준 1: 최소 12 개월 또는 3 개의 마이너 릴리스 (더 긴 버전) 동안 주요 릴리스 내에서 사용할 수 있습니다.

유형
object
필수 항목
  • spec

16.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

 

spec

object

RouteSpec은 경로가 노출하는 호스트 이름 또는 경로, 보안 정보 및 경로가 가리키는 1~4개의 백엔드(서비스)를 설명합니다. 요청은 각 백엔드에 할당된 가중치에 따라 백엔드 간에 배포됩니다. 라운드 로빈 스케줄링을 사용하는 경우 각 백엔드로 이동하는 요청 부분은 백엔드 가중치를 모든 백엔드 가중치의 합계로 나눈 값입니다. 백엔드에 끝점이 두 개 이상 있는 경우 백엔드에서 종료되는 요청은 엔드포인트 간에 라운드 로빈 방식으로 배포됩니다. 가중치는 기본값 100을 사용하여 0에서 256 사이입니다. weight 0으로 인해 백엔드에 대한 요청이 발생하지 않습니다. 모든 가중치가 0이면 경로에 백엔드가 없는 것으로 간주되고 표준 503 응답을 반환합니다.

tls 필드는 선택 사항이며 경로에 대한 특정 인증서 또는 동작을 허용합니다. 일반적으로 라우터는 명시적 인증서 없이 경로를 종료하도록 와일드카드 도메인에 기본 인증서를 구성하지만 사용자 지정 호스트 이름은 일반적으로 통과(TLS Server-Name- Indication 필드를 통해 백엔드에 직접 트래픽 전달)를 선택하거나 인증서를 제공해야 합니다.

status

object

RouteStatus는 이를 인정하는 라우터를 포함하여 경로 상태에 대한 관련 정보를 제공합니다.

16.1.1. .spec

설명

RouteSpec은 경로가 노출하는 호스트 이름 또는 경로, 보안 정보 및 경로가 가리키는 1~4개의 백엔드(서비스)를 설명합니다. 요청은 각 백엔드에 할당된 가중치에 따라 백엔드 간에 배포됩니다. 라운드 로빈 스케줄링을 사용하는 경우 각 백엔드로 이동하는 요청 부분은 백엔드 가중치를 모든 백엔드 가중치의 합계로 나눈 값입니다. 백엔드에 끝점이 두 개 이상 있는 경우 백엔드에서 종료되는 요청은 엔드포인트 간에 라운드 로빈 방식으로 배포됩니다. 가중치는 기본값 100을 사용하여 0에서 256 사이입니다. weight 0으로 인해 백엔드에 대한 요청이 발생하지 않습니다. 모든 가중치가 0이면 경로에 백엔드가 없는 것으로 간주되고 표준 503 응답을 반환합니다.

tls 필드는 선택 사항이며 경로에 대한 특정 인증서 또는 동작을 허용합니다. 일반적으로 라우터는 명시적 인증서 없이 경로를 종료하도록 와일드카드 도메인에 기본 인증서를 구성하지만 사용자 지정 호스트 이름은 일반적으로 통과(TLS Server-Name- Indication 필드를 통해 백엔드에 직접 트래픽 전달)를 선택하거나 인증서를 제공해야 합니다.

유형
object
필수 항목
  • 다음으로 변경
속성유형설명

alternateBackends

array

alternateBackends를 사용하면 경로에 최대 3개의 추가 백엔드를 할당할 수 있습니다. 서비스 유형만 허용되며 기본적으로 서비스합니다. RouteTargetReference 오브젝트의 weight 필드를 사용하여 상대 기본 설정을 지정합니다.

alternateBackends[]

object

RouteTargetReference는 끝점으로 확인되는 대상을 지정합니다. '서비스' 유형만 허용됩니다. 'weight' 필드를 사용하여 다른 필드보다 강조하십시오.

host

string

host는 서비스를 가리키는 별칭/DNS입니다. 선택 사항입니다. 지정하지 않으면 일반적으로 경로 이름이 자동으로 선택됩니다. DNS952 하위 도메인 규칙을 따라야 합니다.

path

string

라우터가 감시하는 경로를 통해 서비스에 대한 트래픽을 라우팅합니다. 선택 사항

port

object

RoutePort는 라우터에서 서비스 끝점의 엔드포인트로 포트 매핑을 정의합니다.

subdomain

string

하위 도메인은 Ingress 컨트롤러의 도메인(도메인) 내에서 요청된 DNS 하위 도메인입니다. host가 설정된 경우 이 필드는 무시됩니다. 수신 컨트롤러는 제안된 이름을 무시하도록 선택할 수 있습니다. 이 경우 컨트롤러는 status.ingress 배열에서 할당된 이름을 보고하거나 경로를 허용하지 않습니다. 이 값이 설정되고 서버가 이 필드 호스트를 지원하지 않으면 자동으로 채워집니다. 그렇지 않으면 호스트는 비어 있습니다. 이 필드에는 점으로 구분된 여러 부분이 있을 수 있지만 모든 Ingress 컨트롤러가 요청을 이행할 수 있는 것은 아닙니다. 이 필드는 업데이트 경로/사용자 정의 호스트 권한이 있는 사용자를 제외하고 생성 후 변경할 수 없습니다.

예: 하위 도메인 프런트 엔드는 전체 호스트 이름 frontend. apps.mycluster.com 을 갖도록 라우터 하위 도메인 apps.mycluster.com 을 자동으로 수신합니다.

tls

object

tlsConfig는 경로를 보호하고 종료를 제공하는 데 사용되는 구성을 정의합니다.

다음으로 변경

object

RouteTargetReference는 끝점으로 확인되는 대상을 지정합니다. '서비스' 유형만 허용됩니다. 'weight' 필드를 사용하여 다른 필드보다 강조하십시오.

wildcardPolicy

string

경로에 대한 와일드카드 정책(있는 경우). 현재 'Subdomain' 또는 '없음'만 허용됩니다.

16.1.2. .spec.alternateBackends

설명
alternateBackends를 사용하면 경로에 최대 3개의 추가 백엔드를 할당할 수 있습니다. 서비스 유형만 허용되며 기본적으로 서비스합니다. RouteTargetReference 오브젝트의 weight 필드를 사용하여 상대 기본 설정을 지정합니다.
유형
array

16.1.3. .spec.alternateBackends[]

설명
RouteTargetReference는 끝점으로 확인되는 대상을 지정합니다. '서비스' 유형만 허용됩니다. 'weight' 필드를 사용하여 다른 필드보다 강조하십시오.
유형
object
필수 항목
  • kind
  • name
속성유형설명

kind

string

경로가 참조하는 대상의 유형입니다. 현재 '서비스'만 허용됩니다.

name

string

참조되는 서비스/대상의 이름(예: 서비스 이름)

weight

integer

weight는 다른 대상 참조 오브젝트에 대한 대상의 상대적 가중치를 지정하는 0에서 256, default 100 사이의 정수입니다. 0은 이 백엔드에 대한 요청을 비활성화합니다.

16.1.4. .spec.port

설명
RoutePort는 라우터에서 서비스 끝점의 엔드포인트로 포트 매핑을 정의합니다.
유형
object
필수 항목
  • targetPort
속성유형설명

targetPort

IntOrString

이 경로가 가리키는 서비스에서 선택한 Pod의 대상 포트입니다. 문자열이면 대상 끝점 포트 목록에서 이름이 지정된 포트로 조회됩니다. 필수 항목

16.1.5. .spec.tls

설명
tlsConfig는 경로를 보호하고 종료를 제공하는 데 사용되는 구성을 정의합니다.
유형
object
필수 항목
  • 종료
속성유형설명

caCertificate

string

caCertificate는 인증 기관 인증서 콘텐츠를 제공합니다.

certificate

string

인증서는 인증서 콘텐츠를 제공합니다. 이는 인증서 체인이 아닌 단일 제공 인증서여야 합니다. CA 인증서를 포함하지 마십시오.

destinationCACertificate

string

destinationCACertificate는 최종 대상의 ca 인증서 내용을 제공합니다. 재암호화 종료를 사용하는 경우 라우터에서 보안 연결의 상태 점검을 위해 이 파일을 제공해야 합니다. 이 필드를 지정하지 않으면 라우터에서 자체 대상 CA를 제공하고 짧은 서비스 이름(service.namespace.svc)을 사용하여 호스트 이름 검증을 수행할 수 있으므로 인프라 생성 인증서가 자동으로 확인할 수 있습니다.

insecureEdgeTerminationPolicy

string

insecureEdgeTerminationPolicy는 경로에 대한 비보안 연결에 필요한 동작을 나타냅니다. 각 라우터는 노출할 포트를 자체적으로 결정할 수 있지만 일반적으로 포트 80입니다.

* allow - 트래픽이 비보안 포트(기본값)의 서버로 전송됩니다. * Disable - 비보안 포트에서 트래픽이 허용되지 않습니다. * 리디렉션 - 클라이언트가 보안 포트로 리디렉션됩니다.

key

string

key 파일 콘텐츠 제공

종료

string

종료는 종료 유형을 나타냅니다.

* 엣지 - TLS 종료는 라우터에서 수행되며 http는 백엔드(기본값) * 패스스루와 통신하는 데 사용됩니다. TLS 종료를 제공하지 않고 라우터(기본값) * 재암호화 기능을 제공하지 않고 트래픽이 바로 대상으로 전송됩니다. 라우터 및 https는 백엔드와 통신하는 데 사용됩니다.

16.1.6. .spec.to

설명
RouteTargetReference는 끝점으로 확인되는 대상을 지정합니다. '서비스' 유형만 허용됩니다. 'weight' 필드를 사용하여 다른 필드보다 강조하십시오.
유형
object
필수 항목
  • kind
  • name
속성유형설명

kind

string

경로가 참조하는 대상의 유형입니다. 현재 '서비스'만 허용됩니다.

name

string

참조되는 서비스/대상의 이름(예: 서비스 이름)

weight

integer

weight는 다른 대상 참조 오브젝트에 대한 대상의 상대적 가중치를 지정하는 0에서 256, default 100 사이의 정수입니다. 0은 이 백엔드에 대한 요청을 비활성화합니다.

16.1.7. .status

설명
RouteStatus는 이를 인정하는 라우터를 포함하여 경로 상태에 대한 관련 정보를 제공합니다.
유형
object
속성유형설명

Ingress

array

Ingress는 경로가 노출될 수 있는 위치를 설명합니다. 수신 지점 목록에 중복된 Host 또는 RouterName 값이 포함될 수 있습니다. 경로가 준비되면 실시간으로 간주됩니다.

ingress[]

object

RouteIngress는 경로가 노출되는 위치에 대한 정보를 보유합니다.

16.1.8. .status.ingress

설명
Ingress는 경로가 노출될 수 있는 위치를 설명합니다. 수신 지점 목록에 중복된 Host 또는 RouterName 값이 포함될 수 있습니다. 경로가 준비되면 실시간으로 간주됩니다.
유형
array

16.1.9. .status.ingress[]

설명
RouteIngress는 경로가 노출되는 위치에 대한 정보를 보유합니다.
유형
object
속성유형설명

conditions

array

조건은 경로의 상태이며 비어 있을 수 있습니다.

conditions[]

object

RouteIngressCondition에는 특정 라우터에서 이 경로의 현재 상태에 대한 세부 정보가 포함되어 있습니다.

host

string

host는 경로가 노출되는 호스트 문자열입니다. 이 값은 필수입니다.

routerCanonicalHostname

string

CanonicalHostname은 이 경로에 요청된 호스트의 CNAME으로 사용할 수 있는 라우터의 외부 호스트 이름입니다. 이 값은 선택 사항이며 모든 경우에 설정되지 않을 수 있습니다.

routerName

string

이름은 라우터에서 자체적으로 식별하기 위해 선택한 이름입니다. 이 값은 필수입니다.

wildcardPolicy

string

와일드카드 정책은 이 경로가 노출되는 데 허용되는 와일드카드 정책입니다.

16.1.10. .status.ingress[].conditions

설명
조건은 경로의 상태이며 비어 있을 수 있습니다.
유형
array

16.1.11. .status.ingress[].conditions[]

설명
RouteIngressCondition에는 특정 라우터에서 이 경로의 현재 상태에 대한 세부 정보가 포함되어 있습니다.
유형
object
필수 항목
  • type
  • status
속성유형설명

lastTransitionTime

시간

이 조건이 마지막으로 전환된 RFC 3339 날짜 및 시간

message

string

마지막 전환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다.

reason

string

조건의 마지막 전환 이유는 일반적으로 사람이 읽을 수 있는 머신입니다.

status

string

Status는 조건의 상태입니다. True, False, 알 수 없음

type

string

type은 조건의 유형입니다. 현재는 알림만 허용됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.