15장. IngressController [operator.openshift.io/v1]
- 설명
IngressController는 클러스터의 관리형 인그레스 컨트롤러를 설명합니다. 컨트롤러는 OpenShift Route 및 Kubernetes Ingress 리소스를 서비스할 수 있습니다.
IngressController가 생성되면 새로운 Ingress 컨트롤러 배포가 생성되어 외부 트래픽이 Ingress 또는 Route 리소스를 노출하는 서비스에 도달할 수 있습니다. 이 리소스를 업데이트하면 새로운 인그레스 컨트롤러 개정판이 출시되어 공개 네트워크 연결이 중단될 수 있습니다.
https://kubernetes.io/docs/concepts/services-networking/ingress-controllers
가능하다면 플랫폼에 맞는 합리적인 기본값을 사용합니다. 자세한 내용은 각 필드를 참조하세요.
호환성 수준 1: 주요 릴리스 내에서 최소 12개월 또는 3개의 마이너 릴리스 내에서 안정적임(둘 중 더 긴 기간 적용).
- 유형
-
object
15.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 | |
|
|
| spec은 IngressController의 원하는 동작에 대한 사양입니다. |
|
|
| status는 IngressController의 가장 최근에 관찰된 상태입니다. |
15.1.1. .spec 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- spec은 IngressController의 원하는 동작에 대한 사양입니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| clientTLS는 클라이언트 인증서를 요청 및 확인하는 설정을 지정합니다. 이 설정은 에지 종료 및 재암호화 경로에 대해 상호 TLS를 활성화하는 데 사용할 수 있습니다. |
|
|
| defaultCertificate는 Ingress 컨트롤러에서 제공하는 기본 인증서가 포함된 보안에 대한 참조입니다. 경로가 자체 인증서를 지정하지 않으면 defaultCertificate가 사용됩니다. 보안에는 다음 키와 데이터가 포함되어야 합니다. TLS.crt: 인증서 파일 콘텐츠 tls.key: 키 파일 콘텐츠 설정되지 않은 경우 와일드카드 인증서가 자동으로 생성되어 사용됩니다. 인증서는 Ingress 컨트롤러 도메인(및 하위 도메인)에 유효하며 생성된 인증서의 CA는 클러스터의 신뢰 저장소와 자동으로 통합됩니다. 와일드카드 인증서를 여러 HTTP/2 사용 경로( ALPN을 의미함)에서 사용하고 공유하는 경우 클라이언트(즉, 특히 브라우저)가 열려 있는 연결을 재사용하기 위해 자유로워집니다. 즉, 클라이언트가 다른 경로에 대한 연결을 재사용할 수 있으며 실패할 가능성이 큽니다. 이러한 동작을 일반적으로 연결 병합이라고 합니다. 사용 중인 인증서(생성 또는 사용자 지정)는 OpenShift의 내장 OAuth 서버와 자동으로 통합됩니다. |
|
|
| domain은 Ingress 컨트롤러에서 제공하는 DNS 이름이며 여러 기능을 구성하는 데 사용됩니다. * LoadBalancerService 끝점 게시 전략의 경우 domain은 DNS 레코드를 구성하는 데 사용됩니다. endpointPublishingStrategy를 참조하십시오. 생성된 기본 인증서를 사용하는 경우 도메인 및 해당 하위 도메인에 인증서가 유효합니다. defaultCertificate를 참조하십시오. * 값은 개별 경로 상태에 게시되므로 최종 사용자가 외부 DNS 레코드를 대상으로 할 위치를 알 수 있습니다. 도메인은 모든 IngressController 중에서 고유해야 하며 업데이트할 수 없습니다. 비어 있는 경우 기본값은 ingress.config.openshift.io/cluster .spec.domain입니다. |
|
|
| endpointPublishingStrategy는 Ingress 컨트롤러 끝점을 다른 네트워크에 게시하고 로드 밸런서 통합을 활성화하는 데 사용됩니다. 설정되지 않은 경우 기본값은 infrastructure.config.openshift.io/cluster .status.platform을 기반으로 합니다. AWS: LoadBalancerService(외부 범위 포함) Azure: LoadBalancerService(외부 범위 포함) GCP: LoadBalancerService(외부 범위 포함) IBMCloud: LoadBalancerService(외부 범위 포함) AlibabaCloud: LoadBalancerService(외부 범위 포함) Libvirt: HostNetwork 기타 모든 플랫폼 유형(없음 포함)은 HostNetwork로 기본 설정됩니다. endpointPublishingStrategy는 업데이트할 수 없습니다. |
|
|
| httpCompression은 HTTP 트래픽 압축 정책을 정의합니다. 기본적으로 HTTP 압축이 없습니다. |
|
|
| HTTPEmptyRequestsPolicy는 요청을 수신하기 전에 연결 시간이 초과된 경우 HTTP 연결을 처리하는 방법을 설명합니다. 이 필드에 허용되는 값은 "Respond" 및 "Ignore"입니다. 필드가 "Respond"로 설정된 경우 Ingress 컨트롤러는 HTTP 400 또는 408 응답을 전송하고 연결을 기록하며(액세스 로깅이 활성화된 경우) 적절한 메트릭의 연결을 계산합니다. 필드가 "Ignore"로 설정된 경우 Ingress 컨트롤러는 응답을 보내거나 연결을 기록하거나 메트릭을 늘리지 않고 연결을 종료합니다. 기본값은 "Respond"입니다. 일반적으로 이러한 연결은 로드 밸런서의 상태 프로브 또는 웹 브라우저의 추측 연결("사전 연결")에서 제공되며 무시해도 됩니다. 그러나 이러한 요청은 네트워크 오류로 인해 발생할 수 있으므로 이 필드를 "Ignore"로 설정하면 문제를 탐지하고 진단할 수 있습니다. 또한 이러한 요청은 포트 검사로 인해 발생할 수 있으며, 이 경우 빈 요청을 로깅하면 침입 시도를 탐지하는 데 도움이 될 수 있습니다. |
|
|
| httpErrorCodePages는 사용자 정의 오류 페이지가 포함된 configmap을 지정합니다. 관리자는 openshift-config 네임스페이스에 이 configmap을 생성해야 합니다. 이 configmap에는 "error-page-<error code>.http 형식의 키가 있어야 합니다. 여기서 <error code>는 HTTP 오류 코드입니다. 예를 들어 "error-page-503.http"는 HTTP 503 응답에 대한 오류 페이지를 정의합니다. 현재 503 및 404 응답에 대한 오류 페이지만 사용자 지정할 수 있습니다. configmap의 각 값은 HTTP 헤더를 포함하여 전체 응답이어야 합니다. eg- https://raw.githubusercontent.com/openshift/router/fadab45747a9b30cc3f0a4b41ad2871f95827a93/images/router/haproxy/conf/error-page-503.http 이 필드가 비어 있으면 Ingress 컨트롤러에서 기본 오류 페이지를 사용합니다. |
|
|
| httpHeaders는 HTTP 헤더에 대한 정책을 정의합니다. 이 필드가 비어 있으면 기본값이 사용됩니다. |
|
|
| idleConnectionTerminationPolicy는 HAProxy의 idle-close-close-on-response 옵션에 직접 매핑되고, HAProxy가 소프트 중지(라우터 다시 로드) 중에 유휴 프런트 엔드 연결을 열린 상태로 유지할지 여부를 제어합니다. 이 필드에 허용되는 값은 "Immediate" 및 "Deferred"입니다. 기본값은 "Immediate"입니다. "Immediate"로 설정하면 라우터를 다시 로드하는 동안 유휴 연결이 즉시 닫힙니다. 이를 통해 경로 변경 사항을 즉시 전파할 수 있지만 연결 재설정에 민감한 클라이언트에 영향을 미칠 수 있습니다. "Deferred"로 설정하면 HAProxy는 즉시 종료하지 않고 소프트 다시 로드 중에 유휴 연결을 유지합니다. 이러한 연결은 다음 중 하나가 발생할 때까지 열려 있습니다. - 연결에 새 요청이 수신되며, 이 경우 HAProxy는 이전 프로세스에서 이를 처리하고 응답을 보낸 후 연결을 종료합니다.
- HAProxy의 - 클라이언트의 keep-alive 제한 시간이 만료되어 클라이언트가 연결을 종료합니다. Deferred를 설정하면 연결 재설정을 제대로 처리하지 않는 클라이언트 또는 로드 밸런서의 오류를 방지할 수 있습니다. 또한 이 옵션을 사용하면 HAProxy 버전 2.2(OpenShift 버전 < 4.14)에서 HAProxy 버전 2.2(OpenShift 버전 < 4.14)에서 유휴 연결 유지가 기본 동작이지만 HAProxy 2.4부터는 기본 유휴 연결을 즉시 종료하도록 변경되었습니다. 중요한 고려 사항: - Deferred를 사용하면 경로 업데이트 및 라우터가 다시 로드된 후 각 영구 연결에서 첫 번째 요청에 대한 일시적인 불일치가 발생합니다. 이 요청은 이전 구성을 사용하여 이전 HAProxy 프로세스에서 처리합니다. 후속 요청에서는 업데이트된 구성을 사용합니다. 운영 고려 사항: - 다시 로드 중에 유휴 연결을 열어 두면 특히 다시 로드가 발생하는 환경에서 연결이 장기간 유휴 상태로 유지되는 경우 이전 HAProxy 프로세스가 누적될 수 있습니다. - 유추가 설정된 경우 라우터 Pod에서 HAProxy 프로세스 수를 모니터링하는 것이 좋습니다.
- 리소스 소진을 방지하기 위해 자주 다시 로드되는 환경에서 IngressController 리소스의 주석을 사용하여 |
|
|
| logging은 어디에서 기록해야 하는지에 대한 매개변수를 정의합니다. 이 필드가 비어 있으면 작동 로그는 활성화되지만 액세스 로그는 비활성화됩니다. |
|
|
| namespaceSelector는 Ingress 컨트롤러에서 서비스를 제공하는 네임스페이스 집합을 필터링하는 데 사용됩니다. 이는 분할을 구현하는 데 유용합니다. 설정되지 않은 경우 기본값은 필터링이 아닙니다. |
|
|
| nodePlacement를 사용하면 Ingress 컨트롤러의 스케줄링을 명시적으로 제어할 수 있습니다. 설정되지 않은 경우 기본값이 사용됩니다. 자세한 내용은 NodePlacement를 참조하십시오. |
|
|
| replicas는 원하는 개수의 수신 컨트롤러 복제본입니다. 설정되지 않은 경우 기본값은 클러스터 config.openshift.io/v1/ingresses 상태의 defaultPlacement 필드 값에 따라 다릅니다. replicas 값은 Infrastructure CR에서 선택한 필드의 값을 기반으로 설정됩니다. defaultPlacement가 ControlPlane로 설정된 경우 선택한 필드는 controlPlaneTopology가 됩니다. Workers로 설정된 경우 선택한 필드는 infrastructureTopology가 됩니다. 그런 다음 선택한 필드의 값이 SingleReplica 또는 HighlyAvailable인지 여부에 따라 복제본이 1 또는 2로 설정됩니다. 이러한 기본값은 변경될 수 있습니다. |
|
|
| routeAdmission은 새 경로 클레임을 처리하기 위한 정책(예: 네임스페이스 간 클레임을 허용 또는 거부)을 정의합니다. 비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 routeAdmission 필드를 참조하십시오. |
|
|
| routeSelector는 Ingress 컨트롤러에서 서비스를 제공하는 경로 집합을 필터링하는 데 사용됩니다. 이는 분할을 구현하는 데 유용합니다. 설정되지 않은 경우 기본값은 필터링이 아닙니다. |
|
|
| tlsSecurityProfile은 ingresscontrollers의 TLS 연결 설정을 지정합니다. 설정되지 않은 경우 기본값은 apiservers.config.openshift.io/cluster 리소스를 기반으로 합니다. Old, Intermediate 및 Modern 프로파일 유형을 사용하는 경우 유효한 프로파일 구성은 릴리스마다 변경될 수 있습니다. 예를 들어 릴리스 X.Y.Z에 배포된 Intermediate 프로파일을 사용하기 위한 사양이 있는 경우 릴리스 X.Y.Z+1로 업그레이드하면 새 프로필 구성이 Ingress 컨트롤러에 적용되어 롤아웃이 발생할 수 있습니다. |
|
|
| tuningOptions는 수신 컨트롤러 Pod의 성능을 조정하기 위한 매개변수를 정의합니다. 모든 필드는 선택 사항이며 설정되지 않은 경우 해당 기본값을 사용합니다. 자세한 내용은 특정 tuningOptions 필드를 참조하십시오. 일반적으로 tuningOptions 내에서 필드를 설정하는 것은 권장되지 않습니다. 기본값은 대부분의 구성에 적합합니다. |
|
| `` | unsupportedConfigOverrides를 사용하면 지원되지 않는 구성 옵션을 지정할 수 있습니다. 해당 사용은 지원되지 않습니다. |
15.1.2. .spec.clientTLS 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- clientTLS는 클라이언트 인증서를 요청 및 확인하는 설정을 지정합니다. 이 설정은 에지 종료 및 재암호화 경로에 대해 상호 TLS를 활성화하는 데 사용할 수 있습니다.
- 유형
-
object - 필수 항목
-
clientCA -
clientCertificatePolicy
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| AllowedSubjectPatterns는 요청을 필터링하기 위해 유효한 클라이언트 인증서의 고유 이름과 일치해야 하는 정규식 목록을 지정합니다. 정규 표현식은 PCRE 구문을 사용해야 합니다. 이 목록이 비어 있으면 필터링이 수행되지 않습니다. 목록이 비어 있지 않은 경우 하나 이상의 패턴이 클라이언트 인증서의 고유 이름과 일치해야 합니다. 그렇지 않으면 Ingress 컨트롤러에서 인증서를 거부하고 연결을 거부합니다. |
|
|
| ClientCA는 클라이언트 인증서를 확인하는 데 사용해야 하는 PEM 인코딩 CA 인증서 번들이 포함된 configmap을 지정합니다. 관리자는 openshift-config 네임스페이스에 이 configmap을 생성해야 합니다. |
|
|
| clientCertificatePolicy는 Ingress 컨트롤러에서 인증서를 제공하기 위해 클라이언트가 필요한지 여부를 지정합니다. 이 필드는 "필수" 또는 "선택 사항" 값을 허용합니다. 수신 컨트롤러는 클라이언트 인증서만 에지 종료 및 재암호화 TLS 경로에 대해 확인합니다. 일반 텍스트 HTTP 또는 패스스루 TLS 경로에 대한 인증서를 확인할 수 없습니다. |
15.1.3. .spec.clientTLS.clientCA 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- ClientCA는 클라이언트 인증서를 확인하는 데 사용해야 하는 PEM 인코딩 CA 인증서 번들이 포함된 configmap을 지정합니다. 관리자는 openshift-config 네임스페이스에 이 configmap을 생성해야 합니다.
- 유형
-
object - 필수 항목
-
name
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| name은 참조된 구성 맵의 metadata.name입니다. |
15.1.4. .spec.defaultCertificate 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
defaultCertificate는 Ingress 컨트롤러에서 제공하는 기본 인증서가 포함된 보안에 대한 참조입니다. 경로가 자체 인증서를 지정하지 않으면 defaultCertificate가 사용됩니다.
보안에는 다음 키와 데이터가 포함되어야 합니다.
tls.crt: certificate file contents tls.key: key file contents
tls.crt: certificate file contents tls.key: key file contentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 설정되지 않은 경우 와일드카드 인증서가 자동으로 생성되어 사용됩니다. 인증서는 Ingress 컨트롤러 도메인(및 하위 도메인)에 유효하며 생성된 인증서의 CA는 클러스터의 신뢰 저장소와 자동으로 통합됩니다.
와일드카드 인증서를 여러 HTTP/2 사용 경로( ALPN을 의미함)에서 사용하고 공유하는 경우 클라이언트(즉, 특히 브라우저)가 열려 있는 연결을 재사용하기 위해 자유로워집니다. 즉, 클라이언트가 다른 경로에 대한 연결을 재사용할 수 있으며 실패할 가능성이 큽니다. 이러한 동작을 일반적으로 연결 병합이라고 합니다.
사용 중인 인증서(생성 또는 사용자 지정)는 OpenShift의 내장 OAuth 서버와 자동으로 통합됩니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| 추천자의 이름입니다. 이 필드는 효과적으로 필요하지만 이전 버전과의 호환성으로 인해 비어 있을 수 있습니다. 여기에 빈 값이 있는 이 유형의 인스턴스는 거의 잘못된 것입니다. 자세한 내용은 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
15.1.5. .spec.endpointPublishingStrategy 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
endpointPublishingStrategy는 Ingress 컨트롤러 끝점을 다른 네트워크에 게시하고 로드 밸런서 통합을 활성화하는 데 사용됩니다.
설정되지 않은 경우 기본값은 infrastructure.config.openshift.io/cluster .status.platform을 기반으로 합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기타 모든 플랫폼 유형(없음 포함)은 HostNetwork로 기본 설정됩니다.
endpointPublishingStrategy는 업데이트할 수 없습니다.
- 유형
-
object - 필수 항목
-
type
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| hostNetwork는 HostNetwork 엔드포인트 게시 전략에 대한 매개변수를 보유합니다. 유형이 HostNetwork인 경우에만 표시됩니다. |
|
|
| loadBalancer는 로드 밸런서에 대한 매개변수를 보관합니다. 유형이 LoadBalancerService인 경우에만 표시됩니다. |
|
|
| nodePort는 NodePortService 엔드포인트 게시 전략에 대한 매개변수를 보유합니다. 유형이 NodePortService인 경우에만 표시됩니다. |
|
|
| private은 개인 엔드포인트 게시 전략에 대한 매개변수를 보유합니다. 유형이 Private인 경우에만 표시됩니다. |
|
|
| type은 사용할 게시 전략입니다. 유효한 값은 다음과 같습니다. * LoadBalancerService Kubernetes LoadBalancer 서비스를 사용하여 인그레스 컨트롤러를 게시합니다. 이 구성에서는 인그레스 컨트롤러 배포가 컨테이너 네트워킹을 사용합니다. 배포를 게시하기 위해 LoadBalancer 서비스가 생성됩니다. 참조: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer 도메인이 설정된 경우, 와일드카드 DNS 레코드가 LoadBalancer 서비스의 외부 이름을 가리키도록 관리됩니다. DNS 레코드는 dns.config.openshift.io/cluster .spec.publicZone 및 .spec.privateZone에서 정의된 DNS 영역에서만 관리됩니다. 와일드카드 DNS 관리는 현재 AWS, Azure, GCP 플랫폼에서만 지원됩니다. * HostNetwork 인그레스 컨트롤러가 배포된 노드 포트에 인그레스 컨트롤러를 게시합니다. 이 구성에서 인그레스 컨트롤러 배포는 노드 포트 80 및 443에 바인딩된 호스트 네트워킹을 사용합니다. 사용자는 노드 포트를 통해 인그레스 컨트롤러를 게시하기 위해 외부 로드 밸런서를 구성할 책임이 있습니다. * 사적인 인그레스 컨트롤러를 게시하지 않습니다. 이 구성에서 인그레스 컨트롤러 배포는 컨테이너 네트워킹을 사용하며 명시적으로 게시되지 않습니다. 사용자는 수동으로 인그레스 컨트롤러를 게시해야 합니다. * 노드포트서비스 Kubernetes NodePort 서비스를 사용하여 인그레스 컨트롤러를 게시합니다. 이 구성에서는 인그레스 컨트롤러 배포가 컨테이너 네트워킹을 사용합니다. 배포를 게시하기 위해 NodePort 서비스가 생성됩니다. 특정 노드 포트는 OpenShift에서 동적으로 할당됩니다. 그러나 정적 포트 할당을 지원하기 위해 관리되는 NodePort 서비스의 노드 포트 필드에 대한 사용자 변경 사항은 보존됩니다. |
15.1.6. .spec.endpointPublishingStrategy.hostNetwork 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- hostNetwork는 HostNetwork 엔드포인트 게시 전략에 대한 매개변수를 보유합니다. type은 HostNetwork인 경우에만 존재합니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| httpPort는 HTTP 요청을 수신 대기하는 데 사용해야 하는 호스트의 포트입니다. 포트 80을 이미 사용 중인 경우 이 필드를 설정해야 합니다. 이 값은 클러스터의 NodePort 범위와 일치해서는 안 됩니다. 값이 0이거나 지정하지 않으면 기본값은 80입니다. |
|
|
| httpsPort는 HTTPS 요청을 수신 대기하는 데 사용해야 하는 호스트의 포트입니다. 443 포트를 이미 사용 중인 경우 이 필드를 설정해야 합니다. 이 값은 클러스터의 NodePort 범위와 일치해서는 안 됩니다. 값이 0이거나 지정하지 않으면 기본값은 443입니다. |
|
|
| protocol은 IngressController에서 들어오는 연결이 일반 TCP를 사용하도록 예상하는지 또는 IngressController에서 PROXY 프로토콜을 사용할지 여부를 지정합니다. PROXY 프로토콜은 IngressController로 해당 연결을 전달할 때 클라이언트 연결의 소스 주소를 전달하는 데 지원하는 로드 밸런서와 함께 사용할 수 있습니다. PROXY 프로토콜을 사용하면 IngressController에서 HTTP 헤더 및 로그에서 로드 밸런서의 주소를 보고하는 대신 해당 소스 주소를 보고할 수 있습니다. IngressController에서 PROXY 프로토콜을 활성화하면 IngressController에 연결을 전달하는 데 PROXY 프로토콜을 사용하는 로드 밸런서를 사용하지 않는 경우 연결이 실패합니다. PROXY 프로토콜에 대한 자세한 내용은 http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt 을 참조하십시오. 다음 값은 이 필드에 유효합니다. 빈 문자열을 가져옵니다.Gets the empty string. * "TCP". * "PROXY". 빈 문자열은 PROXY 프로토콜이 없는 TCP인 기본값을 지정합니다. 기본값은 변경될 수 있습니다. |
|
|
| statsPort는 라우터의 통계가 게시되는 호스트의 포트입니다. 이 값은 클러스터의 NodePort 범위와 일치해서는 안 됩니다. 외부 로드 밸런서가 이 IngressController에 대한 연결을 전달하도록 구성된 경우 로드 밸런서에서 상태 점검에 이 포트를 사용해야 합니다. 로드 밸런서는 지정된 노드의 이 포트에 HTTP 프로브를 보낼 수 있으며 경로 /healthz/ready로 Ingress 컨트롤러가 노드에서 트래픽을 수신할 준비가 되었는지 확인할 수 있습니다. 적절한 작동의 경우 상태 점검이 준비되었다고 보고할 때까지 로드 밸런서에서 노드로 트래픽을 전달하지 않아야 합니다. 또한 로드 밸런서는 /healthz/ready 보고가 준비되지 않음을 시작한 후 최대 45초 이내에 요청 전달을 중지해야 합니다. 5초의 시간 초과로 5초에서 10초마다 프로빙하는 것은 각각 정상 또는 비정상 상태가 되는 두 개의 성공 또는 실패한 요청의 임계값을 각각 테스트한 값입니다. 값이 0이거나 지정하지 않으면 기본값은 1936입니다. |
15.1.7. .spec.endpointPublishingStrategy.loadBalancer 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- LoadBalancer에는 로드 밸런서에 대한 매개변수가 있습니다. type이 LoadBalancerService인 경우에만 표시됩니다.
- 유형
-
object - 필수 항목
-
dnsManagementPolicy -
scope
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
| `` | allowedSourceRanges는 로드 밸런서에 대한 액세스를 제한해야 하는 IP 주소 범위의 허용 목록을 지정합니다. 각 범위는 CIDR 표기법을 사용하여 지정해야 합니다(예: "10.0.0.0/8" 또는 "fd00::/8"). 범위를 지정하지 않으면 IPv4의 경우 "0.0.0.0/0", IPv6의 경우 "::/0"이 기본적으로 사용되어 모든 소스 주소가 허용됩니다. allowedSourceRanges 필드가 없는 이전 버전의 OpenShift에서 마이그레이션을 용이하게 하려면 "openshift-ingress" 네임스페이스의 "router-<ingresscontroller name>" 서비스에 service.beta.kubernetes.io/load-balancer-source-ranges 주석을 설정할 수 있습니다. 이 주석은 OpenShift 4.12에서 allowedSourceRanges가 비어 있는 경우 적용됩니다. |
|
|
| dnsManagementPolicy는 로드 밸런서 서비스와 연결된 와일드카드 DNS 레코드의 수명 주기를 인그레스 운영자가 관리할지 여부를 나타냅니다. 기본적으로 관리됨으로 설정됩니다. 유효한 값은 관리됨 및 관리되지 않음입니다. |
|
|
| providerParameters는 기본 인프라 공급자에 대한 특정 로드 밸런서 정보를 보관합니다. 비어 있으면 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 providerParameters 필드를 참조하세요. |
|
|
| 범위는 로드 밸런서가 노출되는 범위를 나타냅니다. 가능한 값은 "외부"와 "내부"입니다. |
15.1.8. .spec.endpointPublishingStrategy.loadBalancer.providerParameters 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
providerParameters는 기본 인프라 공급자에 대한 특정 로드 밸런서 정보를 보관합니다.
비어 있으면 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 providerParameters 필드를 참조하세요.
- 유형
-
object - 필수 항목
-
type
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| aws는 AWS 로드 밸런서에 맞는 구성 설정을 제공합니다. 비어 있으면 기본값이 적용됩니다. 자세한 기본값은 특정 AWS 필드를 참조하세요. |
|
|
| gcp는 GCP 로드 밸런서에 맞는 구성 설정을 제공합니다. 비어 있으면 기본값이 적용됩니다. 자세한 기본값은 특정 GCP 필드를 참조하세요. |
|
|
| ibm은 IBM Cloud 로드 밸런서에 맞는 구성 설정을 제공합니다. 비어 있으면 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 IBM 필드를 참조하세요. |
|
|
| openstack은 OpenStack 로드 밸런서에 맞는 구성 설정을 제공합니다. 비어 있으면 기본값이 적용됩니다. 자세한 기본값은 특정 openstack 필드를 참조하세요. |
|
|
| type은 로드 밸런서의 기본 인프라 공급자입니다. 허용되는 값은 "AWS", "Azure", "BareMetal", "GCP", "IBM", "Nutanix", "OpenStack" 및 "VSphere"입니다. |
15.1.9. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.aws 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
aws는 AWS 로드 밸런서에 맞는 구성 설정을 제공합니다.
비어 있으면 기본값이 적용됩니다. 자세한 기본값은 특정 AWS 필드를 참조하세요.
- 유형
-
object - 필수 항목
-
type
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| classicLoadBalancerParameters는 AWS 클래식 로드 밸런서에 대한 구성 매개변수를 보관합니다. 유형이 클래식인 경우에만 표시됩니다. |
|
|
| networkLoadBalancerParameters는 AWS 네트워크 로드 밸런서에 대한 구성 매개변수를 보관합니다. 유형이 NLB인 경우에만 표시됩니다. |
|
|
| type은 ingresscontroller에 대해 인스턴스화할 AWS 로드 밸런서의 유형입니다. 유효한 값은 다음과 같습니다. * "클래식": 전송 계층(TCP/SSL) 또는 애플리케이션 계층(HTTP/HTTPS)에서 라우팅 결정을 내리는 클래식 로드 밸런서입니다. 자세한 내용은 다음을 참조하세요. https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#clb * "NLB": 전송 계층(TCP/SSL)에서 라우팅 결정을 내리는 네트워크 부하 분산 장치입니다. 자세한 내용은 다음을 참조하세요. https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#nlb |
- 설명
- classicLoadBalancerParameters는 AWS 클래식 로드 밸런서에 대한 구성 매개변수를 보관합니다. 유형이 클래식인 경우에만 표시됩니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| connectionIdleTimeout은 로드 밸런서가 연결을 닫기 전에 연결이 유휴 상태일 수 있는 최대 시간을 지정합니다. 값은 시간 지속 시간 값으로 구문 분석 가능해야 합니다. https://pkg.go.dev/time#ParseDuration을 참조하세요. nil 또는 0 값은 의견이 없음을 의미하며, 이 경우 기본값이 사용됩니다. 이 필드의 기본값은 60초입니다. 이 기본값은 변경될 수 있습니다. |
|
|
| 서브넷은 로드 밸런서가 연결될 서브넷을 지정합니다. 서브넷은 ID나 이름으로 지정할 수 있습니다. 서브넷의 총 수는 10개로 제한됩니다. 로드 밸런서에 서브넷을 프로비저닝하려면 각 서브넷이 존재해야 하고, 각 서브넷은 다른 가용성 영역에 속해야 하며, 로드 밸런서 서비스를 다시 만들어 새 값을 가져와야 합니다. 사양에서 생략하면 각 가용성 영역에 대한 서브넷이 자동으로 검색됩니다. 자동 검색된 서브넷은 IngressController 개체의 상태에 보고되지 않습니다. |
- 설명
서브넷은 로드 밸런서가 연결될 서브넷을 지정합니다. 서브넷은 ID나 이름으로 지정할 수 있습니다. 서브넷의 총 수는 10개로 제한됩니다.
로드 밸런서에 서브넷을 프로비저닝하려면 각 서브넷이 존재해야 하고, 각 서브넷은 다른 가용성 영역에 속해야 하며, 로드 밸런서 서비스를 다시 만들어 새 값을 가져와야 합니다.
사양에서 생략하면 각 가용성 영역에 대한 서브넷이 자동으로 검색됩니다. 자동 검색된 서브넷은 IngressController 개체의 상태에 보고되지 않습니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| ids는 서브넷 ID별로 AWS 서브넷 목록을 지정합니다. 서브넷 ID는 "subnet-"으로 시작해야 하며, 영숫자 문자로만 구성되어야 하며, 정확히 24자여야 하고, 고유해야 하며, ID와 이름으로 지정된 서브넷의 총 수는 10을 초과할 수 없습니다. |
|
|
| names는 서브넷 이름별로 AWS 서브넷 목록을 지정합니다. 서브넷 이름은 "subnet-"으로 시작할 수 없고, 쉼표를 포함할 수 없으며, 길이가 256자 미만이어야 하고, 고유해야 하며, ID와 이름으로 지정된 서브넷의 총 수는 10을 초과할 수 없습니다. |
- 설명
- networkLoadBalancerParameters는 AWS 네트워크 로드 밸런서에 대한 구성 매개변수를 보관합니다. 유형이 NLB인 경우에만 표시됩니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| eipAllocations는 네트워크 로드 밸런서에 할당된 Elastic IP(EIP) 주소의 ID 목록입니다. 다음과 같은 제한 사항이 적용됩니다. eipAllocations는 외부 범위에서만 사용할 수 있으며 내부 범위에서는 사용할 수 없습니다. EIP는 단 하나의 IngressController에만 할당될 수 있습니다. EIP 할당 수는 로드 밸런서에 사용되는 서브넷 수와 일치해야 합니다. 각 EIP 할당은 고유해야 합니다. 최대 10개의 EIP 할당이 허용됩니다. Elastic IP 주소의 구성, 특성 및 제한 사항에 대한 일반 정보는 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html을 참조하세요. |
|
|
| 서브넷은 로드 밸런서가 연결될 서브넷을 지정합니다. 서브넷은 ID나 이름으로 지정할 수 있습니다. 서브넷의 총 수는 10개로 제한됩니다. 로드 밸런서에 서브넷을 프로비저닝하려면 각 서브넷이 존재해야 하고, 각 서브넷은 다른 가용성 영역에 속해야 하며, 로드 밸런서 서비스를 다시 만들어 새 값을 가져와야 합니다. 사양에서 생략하면 각 가용성 영역에 대한 서브넷이 자동으로 검색됩니다. 자동 검색된 서브넷은 IngressController 개체의 상태에 보고되지 않습니다. |
- 설명
서브넷은 로드 밸런서가 연결될 서브넷을 지정합니다. 서브넷은 ID나 이름으로 지정할 수 있습니다. 서브넷의 총 수는 10개로 제한됩니다.
로드 밸런서에 서브넷을 프로비저닝하려면 각 서브넷이 존재해야 하고, 각 서브넷은 다른 가용성 영역에 속해야 하며, 로드 밸런서 서비스를 다시 만들어 새 값을 가져와야 합니다.
사양에서 생략하면 각 가용성 영역에 대한 서브넷이 자동으로 검색됩니다. 자동 검색된 서브넷은 IngressController 개체의 상태에 보고되지 않습니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| ids는 서브넷 ID별로 AWS 서브넷 목록을 지정합니다. 서브넷 ID는 "subnet-"으로 시작해야 하며, 영숫자 문자로만 구성되어야 하며, 정확히 24자여야 하고, 고유해야 하며, ID와 이름으로 지정된 서브넷의 총 수는 10을 초과할 수 없습니다. |
|
|
| names는 서브넷 이름별로 AWS 서브넷 목록을 지정합니다. 서브넷 이름은 "subnet-"으로 시작할 수 없고, 쉼표를 포함할 수 없으며, 길이가 256자 미만이어야 하고, 고유해야 하며, ID와 이름으로 지정된 서브넷의 총 수는 10을 초과할 수 없습니다. |
15.1.14. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.gcp 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
gcp는 GCP 로드 밸런서에 맞는 구성 설정을 제공합니다.
비어 있으면 기본값이 적용됩니다. 자세한 기본값은 특정 GCP 필드를 참조하세요.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| clientAccess는 내부 로드 밸런서에 대한 클라이언트 액세스를 제한하는 방법을 설명합니다. 유효한 값은 다음과 같습니다. * "글로벌": 글로벌 클라이언트 액세스 권한이 있는 내부 로드 밸런서를 지정하면 VPC 내의 모든 지역에 있는 클라이언트가 로드 밸런서와 통신할 수 있습니다. https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing#global_access * "local": 로컬 클라이언트 액세스를 사용하여 내부 로드 밸런서를 지정하면 GCP 로드 밸런서가 로드 밸런서와 통신할 수 있으므로 동일한 리전(및 VPC) 내의 클라이언트만 의미합니다. 이는 기본 동작입니다. https://cloud.google.com/load-balancing/docs/internal#client_access |
15.1.15. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.ibm 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
IBM은 IBM Cloud 로드 밸런서와 관련된 구성 설정을 제공합니다.
비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 IBM 필드를 참조하십시오.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| protocol은 로드 밸런서에서 PROXY 프로토콜을 사용하여 IngressController로 연결을 전달하는지 여부를 지정합니다. https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas에서 "service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol"을 참조하십시오. PROXY 프로토콜은 IngressController로 해당 연결을 전달할 때 클라이언트 연결의 소스 주소를 전달하는 데 지원하는 로드 밸런서와 함께 사용할 수 있습니다. PROXY 프로토콜을 사용하면 IngressController에서 HTTP 헤더 및 로그에서 로드 밸런서의 주소를 보고하는 대신 해당 소스 주소를 보고할 수 있습니다. IngressController에서 PROXY 프로토콜을 활성화하면 IngressController에 연결을 전달하는 데 PROXY 프로토콜을 사용하는 로드 밸런서를 사용하지 않는 경우 연결이 실패합니다. PROXY 프로토콜에 대한 자세한 내용은 http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt 을 참조하십시오. protocol에 유효한 값은 TCP, PROXY 및 omitted입니다. 생략하면 이는 의견이 없으며 플랫폼은 시간이 지남에 따라 변경될 수 있는 적절한 기본값을 선택할 수 있음을 의미합니다. 현재 기본값은 프록시 프로토콜이 활성화되지 않은 TCP입니다. |
15.1.16. .spec.endpointPublishingStrategy.loadBalancer.providerParameters.openstack 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
OpenStack은 OpenStack 로드 밸런서와 관련된 구성 설정을 제공합니다.
비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 openstack 필드를 참조하십시오.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| floatingip은 로드 밸런서에서 사용할 IP 주소를 지정합니다. 지정하지 않으면 OpenStack 클라우드 공급자에 의해 IP 주소가 임의로 할당됩니다. 지정하면 유동 IP를 미리 생성해야 합니다. 지정된 값이 유동 IP가 아니거나 이미 클레임된 경우 OpenStack 클라우드 공급자는 로드 밸런서를 프로비저닝할 수 없습니다. 이 필드는 IngressController에 외부 범위가 있는 경우에만 사용할 수 있습니다. 이 값은 유효한 IPv4 또는 IPv6 주소여야 합니다. |
15.1.17. .spec.endpointPublishingStrategy.nodePort 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- NodePort에는 NodePortService 끝점 게시 전략에 대한 매개변수가 있습니다. type이 NodePortService인 경우에만 표시됩니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| protocol은 IngressController에서 들어오는 연결이 일반 TCP를 사용하도록 예상하는지 또는 IngressController에서 PROXY 프로토콜을 사용할지 여부를 지정합니다. PROXY 프로토콜은 IngressController로 해당 연결을 전달할 때 클라이언트 연결의 소스 주소를 전달하는 데 지원하는 로드 밸런서와 함께 사용할 수 있습니다. PROXY 프로토콜을 사용하면 IngressController에서 HTTP 헤더 및 로그에서 로드 밸런서의 주소를 보고하는 대신 해당 소스 주소를 보고할 수 있습니다. IngressController에서 PROXY 프로토콜을 활성화하면 IngressController에 연결을 전달하는 데 PROXY 프로토콜을 사용하는 로드 밸런서를 사용하지 않는 경우 연결이 실패합니다. PROXY 프로토콜에 대한 자세한 내용은 http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt 을 참조하십시오. 다음 값은 이 필드에 유효합니다. 빈 문자열을 가져옵니다.Gets the empty string. * "TCP". * "PROXY". 빈 문자열은 PROXY 프로토콜이 없는 TCP인 기본값을 지정합니다. 기본값은 변경될 수 있습니다. |
15.1.18. .spec.endpointPublishingStrategy.private 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- private에는 Private 엔드포인트 게시 전략에 대한 매개변수가 있습니다. type이 private인 경우에만 존재합니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| protocol은 IngressController에서 들어오는 연결이 일반 TCP를 사용하도록 예상하는지 또는 IngressController에서 PROXY 프로토콜을 사용할지 여부를 지정합니다. PROXY 프로토콜은 IngressController로 해당 연결을 전달할 때 클라이언트 연결의 소스 주소를 전달하는 데 지원하는 로드 밸런서와 함께 사용할 수 있습니다. PROXY 프로토콜을 사용하면 IngressController에서 HTTP 헤더 및 로그에서 로드 밸런서의 주소를 보고하는 대신 해당 소스 주소를 보고할 수 있습니다. IngressController에서 PROXY 프로토콜을 활성화하면 IngressController에 연결을 전달하는 데 PROXY 프로토콜을 사용하는 로드 밸런서를 사용하지 않는 경우 연결이 실패합니다. PROXY 프로토콜에 대한 자세한 내용은 http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt 을 참조하십시오. 다음 값은 이 필드에 유효합니다. 빈 문자열을 가져옵니다.Gets the empty string. * "TCP". * "PROXY". 빈 문자열은 PROXY 프로토콜이 없는 TCP인 기본값을 지정합니다. 기본값은 변경될 수 있습니다. |
15.1.19. .spec.httpCompression 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- httpCompression은 HTTP 트래픽 압축 정책을 정의합니다. 기본적으로 HTTP 압축이 없습니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| Mimetypes는 압축을 적용해야 하는 MIME 유형 목록입니다. 이 목록은 비어 있을 수 있습니다. 이 경우 Ingress 컨트롤러가 압축을 적용하지 않습니다. 참고: 모든 MIME 유형이 압축에서 이점을 얻는 것은 아니지만 HAProxy는 여전히 리소스를 사용하여 지시된 경우 압축합니다. 일반적으로 말하면, 텍스트 (html, csss, js 등) 형식은 압축의 이점이지만 이미 압축 된 형식 (이미지, 오디오, 비디오 등)은 다시 압축에 소요되는 시간과 cpu의 교환에 거의 도움이되지 않습니다. See https://joehonton.medium.com/the-gzip-penalty-d31bd697f1a2 |
15.1.20. .spec.httpErrorCodePages 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- httpErrorCodePages는 사용자 정의 오류 페이지가 포함된 configmap을 지정합니다. 관리자는 openshift-config 네임스페이스에 이 configmap을 생성해야 합니다. 이 configmap에는 "error-page-<error code>.http 형식의 키가 있어야 합니다. 여기서 <error code>는 HTTP 오류 코드입니다. 예를 들어 "error-page-503.http"는 HTTP 503 응답에 대한 오류 페이지를 정의합니다. 현재 503 및 404 응답에 대한 오류 페이지만 사용자 지정할 수 있습니다. configmap의 각 값은 HTTP 헤더를 포함하여 전체 응답이어야 합니다. eg- https://raw.githubusercontent.com/openshift/router/fadab45747a9b30cc3f0a4b41ad2871f95827a93/images/router/haproxy/conf/error-page-503.http 이 필드가 비어 있으면 Ingress 컨트롤러에서 기본 오류 페이지를 사용합니다.
- 유형
-
object - 필수 항목
-
name
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| name은 참조된 구성 맵의 metadata.name입니다. |
15.1.21. .spec.httpHeaders 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
httpHeaders는 HTTP 헤더에 대한 정책을 정의합니다.
이 필드가 비어 있으면 기본값이 사용됩니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
|
actions는 헤더 및 해당 값을 수정하는 옵션을 지정합니다. 이 옵션은 일반 텍스트 HTTP 연결에만 적용되고 Ingress 컨트롤러가 암호화를 종료하는 보안 HTTP 연결(즉, 에지 종료 또는 재암호화 연결)에만 적용됩니다. TLS 통과 연결에 대해 헤더를 수정할 수 없습니다. HSTS( |
|
|
| forwardedHeaderPolicy는 IngressController가 Forwarded, X-Forwarded-For, X-Forwarded-Host, X-Forwarded-Port, X-Forwarded-Proto, X-Forwarded-Proto-Version HTTP 헤더를 설정하는 시기와 방법을 지정합니다. 값은 다음 중 하나일 수 있습니다. * "append"는 IngressController가 헤더를 추가하도록 지정하고 기존 헤더를 유지합니다. * IngressController가 헤더를 설정하고 기존 Forwarded 또는 X-Forwarded-* 헤더를 교체하도록 지정하는 "replace". * "IfNone"은 IngressController가 아직 설정되지 않은 경우 헤더를 설정하도록 지정합니다. * "never"는 IngressController가 헤더를 설정하지 않고 기존 헤더를 보존하도록 지정하는 "never"입니다. 기본적으로 정책은 "Append"입니다. |
|
| `` | headerNameCaseAdjustments는 HTTP 헤더 이름에 적용할 수 있는 대소문자 조정을 지정합니다. 각 조정은 원하는 대문자를 사용하여 HTTP 헤더 이름으로 지정됩니다. 예를 들어 "X-Forwarded-For"를 지정하면 지정된 대문자를 갖도록 "x-forwarded-for" HTTP 헤더를 조정해야 합니다. 이러한 조정은 HTTP/1을 사용하는 경우에만 일반 텍스트, 에지 종료 및 재암호화 경로에 적용됩니다. 요청 헤더의 경우 이러한 조정은 haproxy.router.openshift.io/h1-adjust-case=true 주석이 있는 경로에만 적용됩니다. 응답 헤더의 경우 이러한 조정이 모든 HTTP 응답에 적용됩니다. 이 필드가 비어 있으면 요청 헤더가 조정되지 않습니다. |
|
|
| uniqueid는 수신 컨트롤러가 들어오는 HTTP 요청에 삽입해야 하는 사용자 정의 HTTP 헤더의 구성을 설명합니다. 일반적으로 이 헤더는 HTTP 요청에 고유한 값을 갖도록 구성됩니다. 헤더는 애플리케이션에서 사용하거나 액세스 로그에 포함되어 개별 HTTP 요청을 쉽게 추적할 수 있습니다. 이 필드가 비어 있으면 이러한 헤더가 요청에 삽입되지 않습니다. |
15.1.22. .spec.httpHeaders.actions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
-
actions는 헤더 및 해당 값을 수정하는 옵션을 지정합니다. 이 옵션은 일반 텍스트 HTTP 연결에만 적용되고 Ingress 컨트롤러가 암호화를 종료하는 보안 HTTP 연결(즉, 에지 종료 또는 재암호화 연결)에만 적용됩니다. TLS 통과 연결에 대해 헤더를 수정할 수 없습니다. HSTS(
Strict-Transport-Security) 헤더 설정은 작업을 통해 지원되지 않습니다.Strict-Transport-Security는 "haproxy.router.openshift.io/hsts_header" 경로 주석만 사용하고 Ingress.Spec.RequiredHSTSPolicies에 지정된 정책에 따라 구성할 수 있습니다. 여기에 정의된 모든 작업은 cache-control, spec.clientTLS, spec.httpHeaders.forwardedHeaderPolicy, spec.httpHeaders.uniqueId 및 spec.httpHeaders.headerNameCaseAdjustments와 같은 다른 필드와 관련된 작업 후에 적용됩니다. HTTP 요청 헤더의 경우 IngressController의 spec.httpHeaders.actions 필드에 지정된 작업이 IngressController의 spec.httpHeaders.actions 필드에 지정된 후 실행됩니다. HTTP 응답 헤더의 경우 경로의 spec.httpHeaders.actions 필드에 지정된 작업 후에 IngressController의 IngressController에 지정된 작업이 실행됩니다. 이 API를 사용하여 설정된 헤더는 액세스 로그에 사용하기 위해 캡처할 수 없습니다. 다음 헤더 이름은 예약되어 있으며 이 API를 통해 수정할 수 없습니다: Strict-Transport-Security, Proxy, Host, Setting-Cookie. 동적 값을 보간 후 모든 net add 헤더의 총 크기는 IngressController의 spec.tuningOptions.headerBufferMaxRewriteBytes 값을 초과해서는 안 됩니다. 자세한 내용은 해당 API 필드에 대한 설명서를 참조하십시오. - 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
|
request는 수정할 HTTP 요청 헤더 목록입니다. 여기에 정의된 작업은 Ingress 컨트롤러를 통과하는 모든 요청의 요청 헤더를 수정합니다. 이러한 작업은 클러스터 내에서 정의된 Ingress 컨트롤러에서 처리하는 모든 연결에 대해 모든 경로에 적용됩니다. 요청 헤더에 대한 IngressController 작업은 경로 작업 전에 실행됩니다. 현재는 작업이 헤더 값 |
|
|
| IngressControllerHTTPHeader는 HTTP 헤더를 설정하거나 삭제하기 위한 구성을 지정합니다. |
|
|
|
response는 수정할 HTTP 응답 헤더 목록입니다. 여기에 정의된 작업은 Ingress 컨트롤러를 통과하는 모든 요청의 응답 헤더를 수정합니다. 이러한 작업은 클러스터 내에서 정의된 Ingress 컨트롤러에서 처리하는 모든 연결에 대해 모든 경로에 적용됩니다. 응답 헤더에 대한 IngressController 작업은 경로 작업 후에 실행됩니다. 현재는 작업이 헤더 값 |
|
|
| IngressControllerHTTPHeader는 HTTP 헤더를 설정하거나 삭제하기 위한 구성을 지정합니다. |
15.1.23. .spec.httpHeaders.actions.request 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
-
request는 수정할 HTTP 요청 헤더 목록입니다. 여기에 정의된 작업은 Ingress 컨트롤러를 통과하는 모든 요청의 요청 헤더를 수정합니다. 이러한 작업은 클러스터 내에서 정의된 Ingress 컨트롤러에서 처리하는 모든 연결에 대해 모든 경로에 적용됩니다. 요청 헤더에 대한 IngressController 작업은 경로 작업 전에 실행됩니다. 현재는 작업이 헤더 값
설정또는삭제로 정의할 수 있습니다. 작업은 이 목록에 정의된 대로 순서대로 적용됩니다. 최대 20개의 요청 헤더 작업이 구성될 수 있습니다. 허용되는 샘플 페너는 "req.hdr" 및 "ssl_c_der"입니다. 허용되는 변환기는 "낮은" 및 "base64"입니다. 헤더 값의 예: "%[req.hdr(X-target),lower]", "%{+Q}[ssl_c_der,base64]". - 유형
-
array
15.1.24. .spec.httpHeaders.actions.request[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- IngressControllerHTTPHeader는 HTTP 헤더를 설정하거나 삭제하기 위한 구성을 지정합니다.
- 유형
-
object - 필수 항목
-
작업 -
name
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| action은 헤더 설정 또는 삭제와 같이 헤더에서 수행할 작업을 지정합니다. |
|
|
| name은 작업을 수행할 헤더의 이름을 지정합니다. 해당 값은 RFC 2616 섹션 4.2에 정의된 대로 유효한 HTTP 헤더 이름이어야 합니다. 이름은 영숫자 및 다음 특수 문자 "-!#$%&'*+.^_'"로만 구성되어야 합니다. 다음 헤더 이름은 예약되어 있으며 이 API를 통해 수정할 수 없습니다: Strict-Transport-Security, Proxy, Host, Setting-Cookie. 길이가 255자 이하여야 합니다. 헤더 이름은 고유해야 합니다. |
15.1.25. .spec.httpHeaders.actions.request[].action 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- action은 헤더 설정 또는 삭제와 같이 헤더에서 수행할 작업을 지정합니다.
- 유형
-
object - 필수 항목
-
type
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| set은 HTTP 헤더를 설정하는 방법을 지정합니다. 이 필드는 type이 설정되고 달리 금지되는 경우 필요합니다. |
|
|
| type은 헤더에 적용할 작업의 유형을 정의합니다. 가능한 값은 설정 또는 삭제입니다. set을 사용하면 HTTP 요청 및 응답 헤더를 설정할 수 있습니다. delete를 사용하면 HTTP 요청 및 응답 헤더를 삭제할 수 있습니다. |
15.1.26. .spec.httpHeaders.actions.request[].action.set 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- set은 HTTP 헤더를 설정하는 방법을 지정합니다. 이 필드는 type이 설정되고 달리 금지되는 경우 필요합니다.
- 유형
-
object - 필수 항목
-
value
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| value는 헤더 값을 지정합니다. 동적 값을 추가할 수 있습니다. 값은 http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 에 정의된 HAProxy 형식 문자열로 해석되며 HAProxy의 %[] 구문을 사용할 수 있으며 그렇지 않으면 https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 에 정의된 유효한 HTTP 헤더 값이어야 합니다. 이 필드의 값은 길이가 16384자 이하여야 합니다. 동적 값을 보간 후 모든 net add 헤더의 총 크기는 IngressController의 spec.tuningOptions.headerBufferMaxRewriteBytes 값을 초과해서는 안 됩니다. |
15.1.27. .spec.httpHeaders.actions.response 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
-
response는 수정할 HTTP 응답 헤더 목록입니다. 여기에 정의된 작업은 Ingress 컨트롤러를 통과하는 모든 요청의 응답 헤더를 수정합니다. 이러한 작업은 클러스터 내에서 정의된 Ingress 컨트롤러에서 처리하는 모든 연결에 대해 모든 경로에 적용됩니다. 응답 헤더에 대한 IngressController 작업은 경로 작업 후에 실행됩니다. 현재는 작업이 헤더 값
설정또는삭제로 정의할 수 있습니다. 작업은 이 목록에 정의된 대로 순서대로 적용됩니다. 최대 20개의 응답 헤더 작업이 구성될 수 있습니다. 허용되는 샘플 페너는 "res.hdr" 및 "ssl_c_der"입니다. 허용되는 변환기는 "낮은" 및 "base64"입니다. 헤더 값의 예: "%[res.hdr(X-target),lower]", "%{+Q}[ssl_c_der,base64]". - 유형
-
array
15.1.28. .spec.httpHeaders.actions.response[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- IngressControllerHTTPHeader는 HTTP 헤더를 설정하거나 삭제하기 위한 구성을 지정합니다.
- 유형
-
object - 필수 항목
-
작업 -
name
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| action은 헤더 설정 또는 삭제와 같이 헤더에서 수행할 작업을 지정합니다. |
|
|
| name은 작업을 수행할 헤더의 이름을 지정합니다. 해당 값은 RFC 2616 섹션 4.2에 정의된 대로 유효한 HTTP 헤더 이름이어야 합니다. 이름은 영숫자 및 다음 특수 문자 "-!#$%&'*+.^_'"로만 구성되어야 합니다. 다음 헤더 이름은 예약되어 있으며 이 API를 통해 수정할 수 없습니다: Strict-Transport-Security, Proxy, Host, Setting-Cookie. 길이가 255자 이하여야 합니다. 헤더 이름은 고유해야 합니다. |
15.1.29. .spec.httpHeaders.actions.response[].action 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- action은 헤더 설정 또는 삭제와 같이 헤더에서 수행할 작업을 지정합니다.
- 유형
-
object - 필수 항목
-
type
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| set은 HTTP 헤더를 설정하는 방법을 지정합니다. 이 필드는 type이 설정되고 달리 금지되는 경우 필요합니다. |
|
|
| type은 헤더에 적용할 작업의 유형을 정의합니다. 가능한 값은 설정 또는 삭제입니다. set을 사용하면 HTTP 요청 및 응답 헤더를 설정할 수 있습니다. delete를 사용하면 HTTP 요청 및 응답 헤더를 삭제할 수 있습니다. |
15.1.30. .spec.httpHeaders.actions.response[].action.set 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- set은 HTTP 헤더를 설정하는 방법을 지정합니다. 이 필드는 type이 설정되고 달리 금지되는 경우 필요합니다.
- 유형
-
object - 필수 항목
-
value
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| value는 헤더 값을 지정합니다. 동적 값을 추가할 수 있습니다. 값은 http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#8.2.6 에 정의된 HAProxy 형식 문자열로 해석되며 HAProxy의 %[] 구문을 사용할 수 있으며 그렇지 않으면 https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 에 정의된 유효한 HTTP 헤더 값이어야 합니다. 이 필드의 값은 길이가 16384자 이하여야 합니다. 동적 값을 보간 후 모든 net add 헤더의 총 크기는 IngressController의 spec.tuningOptions.headerBufferMaxRewriteBytes 값을 초과해서는 안 됩니다. |
15.1.31. .spec.httpHeaders.uniqueId 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
uniqueid는 수신 컨트롤러가 들어오는 HTTP 요청에 삽입해야 하는 사용자 정의 HTTP 헤더의 구성을 설명합니다. 일반적으로 이 헤더는 HTTP 요청에 고유한 값을 갖도록 구성됩니다. 헤더는 애플리케이션에서 사용하거나 액세스 로그에 포함되어 개별 HTTP 요청을 쉽게 추적할 수 있습니다.
이 필드가 비어 있으면 이러한 헤더가 요청에 삽입되지 않습니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| format은 삽입된 HTTP 헤더의 값을 지정합니다. 이 필드는 이름을 지정하지 않는 한 적용되지 않습니다. HAProxy 기반 수신 컨트롤러 구현의 경우 이 형식은 HTTP 로그 형식과 동일한 구문을 사용합니다. 필드가 비어 있는 경우 기본값은 "%{+X}o\\ %ci:%cp_%fi:%fp_%rt:%rt:%pid"; 해당 HAProxy 설명서를 참조하십시오. http://cbonte.github.io/haproxy-dconv/2.0/configuration.html#8.2.3 |
|
|
| name은 Ingress 컨트롤러가 HTTP 요청에 삽입해야 하는 HTTP 헤더의 이름(예: "unique-id")을 지정합니다. 필드의 값은 RFC 2616 섹션 4.2에 정의된 대로 유효한 HTTP 헤더 이름이어야 합니다. 필드가 비어 있으면 헤더가 삽입되지 않습니다. |
15.1.32. .spec.logging 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- logging은 어디에서 기록해야 하는지에 대한 매개변수를 정의합니다. 이 필드가 비어 있으면 작동 로그는 활성화되지만 액세스 로그는 비활성화됩니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| 액세스는 클라이언트 요청이 어떻게 기록되어야 하는지 설명합니다. 이 필드가 비어 있으면 액세스 로깅이 비활성화됩니다. |
15.1.33. .spec.logging.access 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
액세스는 클라이언트 요청이 어떻게 기록되어야 하는지 설명합니다.
이 필드가 비어 있으면 액세스 로깅이 비활성화됩니다.
- 유형
-
object - 필수 항목
-
대상
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| 목적지는 액세스 로그가 저장되는 곳입니다. |
|
| `` | httpCaptureCookies는 액세스 로그에 캡처해야 하는 HTTP 쿠키를 지정합니다. 이 필드가 비어 있으면 쿠키가 캡처되지 않습니다. |
|
|
| httpCaptureHeaders는 액세스 로그에 캡처되어야 하는 HTTP 헤더를 정의합니다. 이 필드가 비어 있으면 헤더가 캡처되지 않습니다. 이 옵션은 일반 텍스트 HTTP 연결과 인그레스 컨트롤러가 암호화를 종료하는 보안 HTTP 연결(즉, 에지 종료 또는 재암호화 연결)에만 적용됩니다. TLS 패스스루 연결의 경우 헤더를 캡처할 수 없습니다. |
|
|
| httpLogFormat은 HTTP 요청에 대한 로그 메시지의 형식을 지정합니다. 이 필드가 비어 있으면 로그 메시지는 구현의 기본 HTTP 로그 형식을 사용합니다. HAProxy의 기본 HTTP 로그 형식은 HAProxy 설명서를 참조하세요: http://cbonte.github.io/haproxy-dconv/2.0/configuration.html#8.2.3 이 형식은 일반 텍스트 HTTP 연결과 인그레스 컨트롤러가 암호화를 종료하는 보안 HTTP 연결(즉, 에지 종료 또는 재암호화 연결)에만 적용됩니다. TLS 패스스루 연결의 로그 형식에는 영향을 미치지 않습니다. |
|
|
| logEmptyRequests는 요청을 수신하지 못한 연결을 어떻게 기록할지 지정합니다. 일반적으로 이러한 빈 요청은 로드 밸런서의 상태 프로브나 웹 브라우저의 추측 연결("사전 연결")에서 발생하는데, 이 경우 이러한 요청을 로깅하는 것은 바람직하지 않을 수 있습니다. 하지만 이러한 요청은 네트워크 오류로 인해 발생할 수도 있는데, 이 경우 빈 요청을 로깅하면 오류를 진단하는 데 유용할 수 있습니다. 또한, 이러한 요청은 포트 스캔으로 인해 발생할 수 있으며, 이 경우 빈 요청을 기록하면 침입 시도를 감지하는 데 도움이 될 수 있습니다. 이 필드에 허용되는 값은 "로그"와 "무시"입니다. 기본값은 "로그"입니다. |
15.1.34. .spec.logging.access.destination 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 목적지는 액세스 로그가 저장되는 곳입니다.
- 유형
-
object - 필수 항목
-
type
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| 컨테이너는 컨테이너 로깅 대상에 대한 매개변수를 보유합니다. 유형이 컨테이너인 경우에만 표시됩니다. |
|
|
| syslog는 syslog 엔드포인트에 대한 매개변수를 보관합니다. 유형이 Syslog인 경우에만 표시됩니다. |
|
|
| type은 로그의 대상 유형입니다. 다음 중 하나여야 합니다. * 컨테이너 인그레스 운영자는 인그레스 컨트롤러 포드에서 "logs"라는 사이드카 컨테이너를 구성하고, 인그레스 컨트롤러가 사이드카에 로그를 쓰도록 구성합니다. 그러면 로그를 컨테이너 로그로 사용할 수 있습니다. 기대되는 것은 관리자가 이 사이드카에서 로그를 읽는 사용자 정의 로깅 솔루션을 구성하는 것입니다. 컨테이너 로그를 사용하면 로그 속도가 컨테이너 런타임이나 사용자 정의 로깅 솔루션의 용량을 초과하는 경우 로그가 삭제될 수 있습니다. * 시스템 로그 로그는 syslog 엔드포인트로 전송됩니다. 관리자는 syslog 메시지를 수신할 수 있는 엔드포인트를 지정해야 합니다. 관리자가 사용자 정의 syslog 인스턴스를 구성했을 것으로 예상됩니다. |
15.1.35. .spec.logging.access.destination.container 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 컨테이너는 컨테이너 로깅 대상에 대한 매개변수를 보유합니다. 유형이 컨테이너인 경우에만 표시됩니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| maxLength는 로그 메시지의 최대 길이입니다. 유효한 값은 480~8192 범위의 정수입니다. 생략하면 기본값은 1024입니다. |
15.1.36. .spec.logging.access.destination.syslog 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- syslog는 syslog 엔드포인트에 대한 매개변수를 보관합니다. 유형이 Syslog인 경우에만 표시됩니다.
- 유형
-
object - 필수 항목
-
address -
port
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| 주소는 로그 메시지를 수신하는 syslog 엔드포인트의 IP 주소입니다. |
|
|
| facility는 로그 메시지의 syslog 기능을 지정합니다. 이 필드가 비어 있으면 기능은 "local1"입니다. |
|
|
| MaxLength는 로그 메시지의 최대 길이입니다. 유효한 값은 480에서 4096 사이의 정수이며 포함됩니다. 생략하면 기본값은 1024입니다. |
|
|
| port는 로그 메시지를 수신하는 syslog 끝점의 UDP 포트 번호입니다. |
15.1.37. .spec.logging.access.httpCaptureHeaders 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
httpCaptureHeaders는 액세스 로그에 캡처해야 하는 HTTP 헤더를 정의합니다. 이 필드가 비어 있으면 헤더가 캡처되지 않습니다.
이 옵션은 일반 텍스트 HTTP 연결에만 적용되고 Ingress 컨트롤러가 암호화를 종료하는 보안 HTTP 연결(즉, 에지 종료 또는 재암호화 연결)에만 적용됩니다. TLS 패스스루 연결에 대해 헤더를 캡처할 수 없습니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
| `` | request는 캡처할 HTTP 요청 헤더를 지정합니다. 이 필드가 비어 있으면 요청 헤더가 캡처되지 않습니다. |
|
| `` | response는 캡처할 HTTP 응답 헤더를 지정합니다. 이 필드가 비어 있으면 응답 헤더가 캡처되지 않습니다. |
15.1.38. .spec.namespaceSelector 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
namespaceSelector는 Ingress 컨트롤러에서 서비스를 제공하는 네임스페이스 집합을 필터링하는 데 사용됩니다. 이는 분할을 구현하는 데 유용합니다.
설정되지 않은 경우 기본값은 필터링이 아닙니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다. |
|
|
| 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다. |
|
|
| matchLabels는 {key,value} 쌍으로 구성된 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 "key"이고, 연산자는 "In"이고, values 배열에는 "value"만 포함된 matchExpressions 요소와 동일합니다. 요구 사항은 AND로 설정됩니다. |
15.1.39. .spec.namespaceSelector.matchExpressions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다.
- 유형
-
array
15.1.40. .spec.namespaceSelector.matchExpressions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다.
- 유형
-
object - 필수 항목
-
key -
operator
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| key는 선택기가 적용되는 라벨 키입니다. |
|
|
| Operator는 일련의 값과의 키 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists 및 DoesNotExist입니다. |
|
|
| 값은 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 교체됩니다. |
15.1.41. .spec.nodePlacement 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
nodePlacement를 사용하면 Ingress 컨트롤러의 스케줄링을 명시적으로 제어할 수 있습니다.
설정되지 않은 경우 기본값이 사용됩니다. 자세한 내용은 NodePlacement를 참조하십시오.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| nodeSelector는 수신 컨트롤러 배포에 적용되는 노드 선택기입니다. 설정된 경우 지정된 선택기가 사용되고 기본값을 대체합니다. 설정되지 않은 경우 기본값은 클러스터 config.openshift.io/v1/ingresses 상태의 defaultPlacement 필드 값에 따라 다릅니다. defaultPlacement가 Workers인 경우 기본값은 다음과 같습니다. kubernetes.io/os: linux node-role.kubernetes.io/worker: '' defaultPlacement가 ControlPlane인 경우 기본값은 다음과 같습니다. kubernetes.io/os: linux node-role.kubernetes.io/master: '' 이러한 기본값은 변경될 수 있습니다. nodeSelector.matchExpressions 사용은 지원되지 않습니다. nodeSelector.matchLabels만 사용할 수 있습니다. 이는 Kubernetes API의 제한 사항입니다. Pod 사양에서는 노드 선택기에 대한 복잡한 표현식을 허용하지 않습니다. |
|
|
| 허용 오차는 수신 컨트롤러 배포에 적용되는 허용 오차 목록입니다. 기본값은 빈 목록입니다. https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/에서 참조하십시오. |
|
|
| 이 허용 오차는 일치하는 연산자 <operator>를 사용하여 트리플 <key,value,effect>와 일치하는 테인트를 허용하도록 연결됩니다. |
15.1.42. .spec.nodePlacement.nodeSelector 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
nodeSelector는 수신 컨트롤러 배포에 적용되는 노드 선택기입니다.
설정된 경우 지정된 선택기가 사용되고 기본값을 대체합니다.
설정되지 않은 경우 기본값은 클러스터 config.openshift.io/v1/ingresses 상태의 defaultPlacement 필드 값에 따라 다릅니다.
defaultPlacement가 Workers인 경우 기본값은 다음과 같습니다.
kubernetes.io/os: linux node-role.kubernetes.io/worker: ''
kubernetes.io/os: linux node-role.kubernetes.io/worker: ''Copy to Clipboard Copied! Toggle word wrap Toggle overflow defaultPlacement가 ControlPlane인 경우 기본값은 다음과 같습니다.
kubernetes.io/os: linux node-role.kubernetes.io/master: ''
kubernetes.io/os: linux node-role.kubernetes.io/master: ''Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 기본값은 변경될 수 있습니다.
nodeSelector.matchExpressions 사용은 지원되지 않습니다. nodeSelector.matchLabels만 사용할 수 있습니다. 이는 Kubernetes API의 제한 사항입니다. Pod 사양에서는 노드 선택기에 대한 복잡한 표현식을 허용하지 않습니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다. |
|
|
| 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다. |
|
|
| matchLabels는 {key,value} 쌍으로 구성된 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 "key"이고, 연산자는 "In"이고, values 배열에는 "value"만 포함된 matchExpressions 요소와 동일합니다. 요구 사항은 AND로 설정됩니다. |
15.1.43. .spec.nodePlacement.nodeSelector.matchExpressions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다.
- 유형
-
array
15.1.44. .spec.nodePlacement.nodeSelector.matchExpressions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다.
- 유형
-
object - 필수 항목
-
key -
operator
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| key는 선택기가 적용되는 라벨 키입니다. |
|
|
| Operator는 일련의 값과의 키 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists 및 DoesNotExist입니다. |
|
|
| 값은 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 교체됩니다. |
15.1.45. .spec.nodePlacement.tolerations 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
허용 오차는 수신 컨트롤러 배포에 적용되는 허용 오차 목록입니다.
기본값은 빈 목록입니다.
https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/에서 참조하십시오.
- 유형
-
array
15.1.46. .spec.nodePlacement.tolerations[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 이 허용 오차는 일치하는 연산자 <operator>를 사용하여 트리플 <key,value,effect>와 일치하는 테인트를 허용하도록 연결됩니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| effect는 일치시킬 테인트 효과를 나타냅니다. 비어있는 것은 모든 테인트 효과와 일치함을 의미합니다. 지정된 경우 허용되는 값은 NoSchedule, PreferNoSchedule 및 NoExecute입니다. |
|
|
| 키는 허용 오차가 적용되는 taint 키입니다. 비어있는 것은 모든 taint 키와 일치함을 의미합니다. 키가 비어 있으면 연산자가 Exists여야 합니다. 이 조합은 모든 값과 모든 키와 일치하는 것을 의미합니다. |
|
|
| Operator는 값에 대한 키의 관계를 나타냅니다. 유효한 연산자는 Exists 및 Equal입니다. 기본값은 같음입니다. Exists는 값에 대한 와일드카드와 동일하므로 포드는 특정 카테고리의 모든 오염을 허용할 수 있습니다. |
|
|
| TolerationSeconds는 허용(NoExecute가 적용되어야 함, 그렇지 않으면 이 필드는 무시됨)이 오염을 허용하는 기간을 나타냅니다. 기본적으로 설정되지 않았으므로 오염을 영원히 허용합니다(제거하지 않음). 0 및 음수 값은 시스템에서 0( 즉시 제거)으로 처리됩니다. |
|
|
| 값은 허용 오차가 일치하는 오염 값입니다. 연산자가 Exists이면 값은 비어 있어야 하고, 그렇지 않으면 일반 문자열이어야 합니다. |
15.1.47. .spec.routeAdmission 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
routeAdmission은 새로운 경로 클레임을 처리하기 위한 정책을 정의합니다(예: 네임스페이스 간 클레임을 허용하거나 거부).
비어 있으면 기본값이 적용됩니다. 자세한 기본값은 특정 경로 입장 필드를 참조하세요.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| namespaceOwnership은 네임스페이스 전반의 호스트 이름 클레임을 처리하는 방법을 설명합니다. 값은 다음 중 하나여야 합니다. - 엄격함: 서로 다른 네임스페이스의 경로가 동일한 호스트를 클레임하는 것을 허용하지 않습니다. - InterNamespaceAllowed: 경로가 여러 네임스페이스에서 동일한 호스트 이름의 다른 경로를 클레임하도록 허용합니다. 비어 있으면 기본값은 Strict입니다. |
|
|
| wildcardPolicy는 와일드카드 정책이 적용된 경로를 인그레스 컨트롤러에서 어떻게 처리해야 하는지 설명합니다. WildcardPolicy는 경로의 와일드카드 정책에 따라 인그레스 컨트롤러가 노출한 경로[1] 사용을 제어합니다. [1] https://github.com/openshift/api/blob/master/route/v1/types.go 참고: WildcardPolicy를 WildcardsAllowed에서 WildcardsDisallowed로 업데이트하면 Subdomain의 와일드카드 정책이 적용된 허용된 경로가 작동하지 않게 됩니다. 이러한 경로는 인그레스 컨트롤러에서 다시 허용되려면 와일드카드 정책 '없음'으로 업데이트되어야 합니다. WildcardPolicy는 WildcardsAllowed 및 WildcardsDisallowed 값을 지원합니다. 비어 있는 경우 기본적으로 "WildcardsDisallowed"가 사용됩니다. |
15.1.48. .spec.routeSelector 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
routeSelector는 ingress 컨트롤러가 서비스하는 경로 세트를 필터링하는 데 사용됩니다. 이는 분할을 구현하는 데 유용합니다.
설정하지 않으면 기본적으로 필터링이 적용되지 않습니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| matchExpressions는 레이블 선택기 요구 사항 목록입니다. 요구 사항은 AND로 처리됩니다. |
|
|
| 레이블 선택기 요구 사항은 값, 키, 그리고 키와 값을 연결하는 연산자를 포함하는 선택기입니다. |
|
|
| matchLabels는 {key,value} 쌍의 맵입니다. matchLabels 맵의 단일 {key,value}는 matchExpressions의 요소와 동일합니다. 여기서 키 필드는 "key"이고, 연산자는 "In"이며, 값 배열에는 "value"만 포함됩니다. 요구 사항은 AND로 처리됩니다. |
15.1.49. .spec.routeSelector.matchExpressions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- matchExpressions는 레이블 선택기 요구 사항 목록입니다. 요구 사항은 AND로 처리됩니다.
- 유형
-
array
15.1.50. .spec.routeSelector.matchExpressions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 레이블 선택기 요구 사항은 값, 키, 그리고 키와 값을 연결하는 연산자를 포함하는 선택기입니다.
- 유형
-
object - 필수 항목
-
key -
operator
-
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| key는 선택기가 적용되는 라벨 키입니다. |
|
|
| Operator는 일련의 값과의 키 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists 및 DoesNotExist입니다. |
|
|
| 값은 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 교체됩니다. |
15.1.51. .spec.tlsSecurityProfile 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
tlsSecurityProfile은 ingresscontrollers의 TLS 연결 설정을 지정합니다.
설정되지 않은 경우 기본값은 apiservers.config.openshift.io/cluster 리소스를 기반으로 합니다.
Old, Intermediate 및 Modern 프로파일 유형을 사용하는 경우 유효한 프로파일 구성은 릴리스마다 변경될 수 있습니다. 예를 들어, 릴리스 XYZ에 배포된 중간 프로필을 사용하는 사양이 주어졌을 때 릴리스 XYZ+1로 업그레이드하면 새로운 프로필 구성이 인그레스 컨트롤러에 적용되어 롤아웃이 발생할 수 있습니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
| `` | custom은 사용자 정의 TLS 보안 프로필입니다. 사용자 지정 프로필을 사용할 때는 매우 조심해야 합니다. 잘못된 구성은 치명적일 수 있습니다. 사용자 정의 프로필의 예는 다음과 같습니다. 암호: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11 |
|
| `` | 중간은 다음을 기반으로 하는 TLS 보안 프로필입니다. https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 그리고 이렇게 보입니다(yaml): 암호: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12 |
|
| `` | modern은 다음을 기반으로 하는 TLS 보안 프로필입니다. https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility 그리고 이렇게 보입니다(yaml): 암호: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13 |
|
| `` | old는 다음을 기반으로 하는 TLS 보안 프로필입니다. https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility 그리고 이렇게 보입니다(yaml): 암호: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10 |
|
|
| 유형은 Old, Intermediate, Modern 또는 Custom 중 하나입니다. 사용자 정의를 통해 개별 TLS 보안 프로필 매개변수를 지정할 수 있습니다. Old, Intermediate 및 Modern은 다음을 기반으로 하는 TLS 보안 프로필입니다. https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations 프로필은 의도 기반이므로 새로운 암호가 개발되고 기존 암호가 안전하지 않은 것으로 밝혀지면 시간이 지남에 따라 변경될 수 있습니다. 프로세스에서 정확히 어떤 암호를 사용할 수 있는지에 따라 목록이 줄어들 수 있습니다. Modern 프로필은 아직 일반 소프트웨어 라이브러리에서 널리 채택되지 않았기 때문에 현재 지원되지 않습니다. |
15.1.52. .spec.tuningOptions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
tuningOptions는 Ingress 컨트롤러 Pod의 성능을 조정하기 위한 매개변수를 정의합니다. 모든 필드는 선택 사항이며, 설정하지 않으면 해당 기본값이 사용됩니다. 자세한 내용은 특정 tuningOptions 필드를 참조하세요.
tuningOptions 내에서 필드를 설정하는 것은 일반적으로 권장되지 않습니다. 기본값은 대부분의 구성에 적합합니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| clientFinTimeout은 서버/백엔드가 연결을 닫을 때까지 클라이언트가 응답할 때까지 연결이 열려 있는 시간을 정의합니다. 설정하지 않으면 기본 시간 초과는 1초입니다. |
|
|
| clientTimeout은 클라이언트 응답을 기다리는 동안 연결이 열려 있는 시간을 정의합니다. 설정하지 않으면 기본 시간 초과는 30초입니다. |
|
|
| connectTimeout은 서버/백엔드에 대한 연결 시도가 성공할 때까지 기다리는 최대 시간을 정의합니다. 이 필드는 선택적 분수와 단위 접미사가 있는 10진수의 부호 없는 지속 시간 문자열을 예상합니다. 예: "300ms", "1.5시간" 또는 "2시간 45분". 유효한 시간 단위는 "ns", "us"(또는 "µs" U+00B5 또는 "µs" U+03BC), "ms", "s", "m", "h"입니다. 생략하면 사용자에게 의견이 없고 플랫폼이 합리적인 기본값을 선택하게 됩니다. 이 기본값은 시간이 지남에 따라 변경될 수 있습니다. 현재 기본값은 5초입니다. |
|
|
| headerBufferBytes는 IngressController 연결 세션에 대해 얼마나 많은 메모리를 예약해야 하는지(바이트 단위) 설명합니다. IngressController에 대해 HTTP/2가 활성화된 경우 이 값은 최소 16384여야 합니다( https://tools.ietf.org/html/rfc7540 ). 이 필드가 비어 있으면 IngressController는 32768바이트의 기본값을 사용합니다. 일반적으로 이 필드를 설정하는 것은 권장되지 않습니다. headerBufferBytes 값이 너무 작으면 IngressController가 손상될 수 있고, headerBufferBytes 값이 너무 크면 IngressController가 필요 이상으로 많은 메모리를 사용할 수 있습니다. |
|
|
| headerBufferMaxRewriteBytes는 IngressController 연결 세션의 HTTP 헤더를 다시 쓰고 추가하는 데 필요한 headerBufferBytes의 메모리 양(바이트)을 설명합니다. 들어오는 HTTP 요청은 (headerBufferBytes - headerBufferMaxRewriteBytes) 바이트로 제한됩니다. 즉, headerBufferBytes는 headerBufferMaxRewriteBytes보다 커야 합니다. 이 필드가 비어 있으면 IngressController는 8192바이트의 기본값을 사용합니다. 일반적으로 이 필드를 설정하는 것은 권장되지 않습니다. headerBufferMaxRewriteBytes 값이 너무 작으면 IngressController가 손상될 수 있고, headerBufferMaxRewriteBytes 값이 너무 크면 IngressController가 필요 이상으로 많은 메모리를 사용할 수 있습니다. |
|
|
| healthCheckInterval은 라우터가 구성된 백엔드에서 두 개의 연속된 상태 검사 사이에 기다리는 시간을 정의합니다. 이 값은 모든 경로에 기본적으로 전역적으로 적용되지만, 경로 주석 "router.openshift.io/haproxy.health.check.interval"을 사용하여 경로별로 재정의할 수 있습니다. 선택적으로 분수와 단위 접미사가 붙을 수 있는 10진수의 부호 없는 기간 문자열(예: "300ms", "1.5h" 또는 "2h45m")을 예상합니다. 유효한 시간 단위는 "ns", "us"(또는 "µs" U+00B5 또는 "µs" U+03BC), "ms", "s", "m", "h"입니다. 이 값을 5초 미만으로 설정하면 TCP 상태 점검이 너무 자주 이루어지고 이에 따라 SYN 패킷 스톰이 발생하여 과도한 트래픽이 발생할 수 있습니다. 반면, 이 값을 너무 높게 설정하면 더 이상 사용할 수 없지만 아직 감지되지 않은 백엔드 서버로 인해 지연 시간이 증가할 수 있습니다. healthCheckInterval이 비어 있거나 0이면 의견이 없다는 의미이고 IngressController는 기본값을 선택하는데, 이는 시간이 지남에 따라 변경될 수 있습니다. 현재 기본 healthCheckInterval 값은 5초입니다. 현재 허용되는 최소값은 1초이고 허용되는 최대값은 2147483647ms(24.85일)입니다. 두 가지 모두 시간이 지남에 따라 바뀔 수 있습니다. |
|
|
| maxConnections는 HAProxy 프로세스당 동시에 설정할 수 있는 최대 연결 수를 정의합니다. 이 값을 늘리면 각 인그레스 컨트롤러 포드가 더 많은 연결을 처리할 수 있지만, 추가 시스템 리소스가 소모됩니다. 허용되는 값은 다음과 같습니다: 비어 있음, 0, -1, 범위 2000-2000000. 이 필드가 비어 있거나 0인 경우 IngressController는 기본값인 50000을 사용하지만 기본값은 향후 릴리스에서 변경될 수 있습니다. 값이 -1이면 HAProxy는 실행 중인 컨테이너에서 사용 가능한 ulimits를 기반으로 최대값을 동적으로 계산합니다. -1(즉, 자동)을 선택하면 큰 값(OpenShift >=4.10 클러스터에서 약 520000)이 계산되므로 각 HAProxy 프로세스는 현재 기본값인 50000에 비해 상당한 메모리 사용량을 발생시킵니다. 현재 운영 체제 제한보다 큰 값을 설정하면 HAProxy 프로세스가 시작되지 않습니다. 개별 값(예: 750000)을 선택하고 라우터 포드가 새 노드로 마이그레이션되는 경우 해당 새 노드에 동일한 ulimits가 구성되어 있다는 보장이 없습니다. 이런 상황에서는 포드가 시작되지 않습니다. 서로 다른 ulimit이 구성된 노드가 있는 경우(예: 서로 다른 조정된 프로필) 개별 값을 선택하는 경우에는 -1을 사용하고 런타임에 값이 동적으로 계산되도록 하는 것이 좋습니다. 다음 메트릭을 사용하여 라우터 컨테이너의 메모리 사용량을 모니터링할 수 있습니다: 'container_memory_working_set_bytes{container="router",namespace="openshift-ingress"}'. 다음 메트릭을 사용하여 라우터 컨테이너의 개별 HAProxy 프로세스의 메모리 사용량을 모니터링할 수 있습니다: 'container_memory_working_set_bytes{container="router",namespace="openshift-ingress"}/container_processes{container="router",namespace="openshift-ingress"}'. |
|
|
| reloadInterval은 라우터가 새로운 변경 사항을 수락하기 위해 다시 로드할 수 있는 최소 간격을 정의합니다. 시나리오에 따라 이 값을 늘리면 HAProxy 프로세스가 누적되는 것을 방지할 수 있습니다. 라운드 로빈 밸런싱 알고리즘을 사용할 때 이 간격을 늘리면 백엔드 서버의 부하 불균형을 줄일 수도 있습니다. 또는 이 값을 낮추면 HAProxy 구성에 대한 업데이트가 더 빨리 적용되므로 대기 시간이 줄어들 수 있습니다. 값은 시간 지속 값이어야 합니다. https://pkg.go.dev/time#ParseDuration을 참조하세요. 현재 허용되는 최소값은 1초이고, 허용되는 최대값은 120초입니다. 허용되는 최소 및 최대 값은 OpenShift의 향후 버전에서 변경될 수 있습니다. 이러한 범위를 벗어나는 지속 시간이 제공되는 경우 reloadInterval 값은 제한/하한으로 설정되고 거부되지 않습니다(예: 지속 시간이 120초를 초과하는 경우 120초로 제한됨. IngressController는 이를 거부하지 않고 허용되지 않는 값을 기본값으로 대체함). reloadInterval 값을 0으로 지정하면 IngressController는 기본값을 선택합니다. 기본값은 현재 5초이며 사전 고지 없이 변경될 수 있습니다. 이 필드는 선택적 분수와 단위 접미사가 있는 10진수의 부호 없는 지속 시간 문자열을 예상합니다. 예: "300ms", "1.5시간" 또는 "2시간 45분". 유효한 시간 단위는 "ns", "us"(또는 "µs" U+00B5 또는 "µs" U+03BC), "ms", "s", "m", "h"입니다. 참고: 기본값인 5초보다 상당히 큰 값을 설정하면 경로와 해당 엔드포인트에 대한 업데이트를 관찰하는 데 지연이 발생할 수 있습니다. HAProxy 구성은 덜 자주 다시 로드되며, 새로 생성된 경로는 이후 다시 로드될 때까지 제공되지 않습니다. |
|
|
| serverFinTimeout은 클라이언트가 연결을 닫을 때 서버/백엔드가 응답할 때까지 연결이 열려 있는 시간을 정의합니다. 설정하지 않으면 기본 시간 초과는 1초입니다. |
|
|
| serverTimeout은 서버/백엔드 응답을 기다리는 동안 연결이 열려 있는 시간을 정의합니다. 설정하지 않으면 기본 시간 초과는 30초입니다. |
|
|
| threadCount는 HAProxy 프로세스당 생성되는 스레드 수를 정의합니다. 스레드를 더 많이 생성하면 각 인그레스 컨트롤러 포드가 더 많은 연결을 처리할 수 있지만, 사용하는 시스템 리소스도 늘어납니다. HAProxy는 현재 최대 64개의 스레드를 지원합니다. 이 필드가 비어 있으면 IngressController는 기본값을 사용합니다. 현재 기본값은 4개의 스레드이지만, 이는 향후 릴리스에서 변경될 수 있습니다. 이 필드를 설정하는 것은 일반적으로 권장되지 않습니다. HAProxy 스레드 수를 늘리면 인그레스 컨트롤러 포드가 부하 하에서 더 많은 CPU 시간을 활용할 수 있으며, 너무 높게 설정하면 다른 포드가 자원을 고갈시킬 가능성이 있습니다. 스레드 수를 줄이면 인그레스 컨트롤러의 성능이 저하될 수 있습니다. |
|
|
| tlsInspectDelay는 라우터가 일치하는 경로를 찾기 위해 데이터를 보관할 수 있는 시간을 정의합니다. 이 값을 너무 짧게 설정하면 더 나은 일치 인증서를 사용할 수 있는 경우에도 라우터가 에지 종료 또는 재암호화 경로에 대해 기본 인증서를 다시 사용할 수 있습니다. 설정하지 않으면 기본 검사 지연은 5초입니다. |
|
|
| tunnelTimeout은 터널이 유휴 상태인 동안 터널 연결(웹소켓 포함)이 얼마나 오랫동안 열려 있는지 정의합니다. 설정하지 않으면 기본 시간 초과는 1시간입니다. |
15.1.53. .status 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- status는 IngressController의 가장 최근에 관찰된 상태입니다.
- 유형
-
object
| 재산 | 유형 | 설명 |
|---|---|---|
|
|
| availableReplicas는 Ingress 컨트롤러 배포에 따라 모니터링되는 사용 가능한 복제본 수입니다. |
|
|
| conditions는 조건 및 상태 목록입니다. 사용 가능한 것은 수신 컨트롤러 배포를 사용할 수 있고 경로 및 수신 리소스(즉, .status.availableReplicas와 .spec.replicas)를 제공한다는 것을 의미합니다. 다른 Ingress 컨트롤러 기능 및 기능의 상태를 나타내는 추가 조건이 있습니다. * LoadBalancerManaged - 다음 조건이 충족되면 True: * 끝점 게시 전략에 서비스 로드 밸런서가 필요합니다. - 해당 조건 중 하나라도 만족스럽지 않은 경우 - False입니다. * LoadBalancerReady - 다음 조건이 충족되면 True: * 로드 밸런서가 관리됩니다. * 로드 밸런서가 준비되었습니다. - 해당 조건 중 하나라도 만족스럽지 않은 경우 False입니다. * DNSManaged - 다음 조건이 충족되면 True: * 끝점 게시 전략 및 플랫폼이 DNS를 지원합니다. * Ingress 컨트롤러 도메인이 설정됩니다. * DNS.config.openshift.io/cluster는 DNS 영역을 구성합니다. - 해당 조건 중 하나라도 만족스럽지 않은 경우 False입니다. * DNSReady - 다음 조건이 충족되면 True: * DNS가 관리됩니다. * DNS 레코드가 성공적으로 생성되었습니다. - 해당 조건 중 하나라도 만족스럽지 않으면 False입니다. |
|
|
| OperatorCondition은 표준 조건 필드입니다. |
|
|
| domain은 사용 중인 실제 도메인입니다. |
|
|
| endpointPublishingStrategy는 사용 중인 실제 전략입니다. |
|
|
| namespaceSelector는 사용 중인 실제 namespaceSelector입니다. |
|
|
| observedGeneration은 가장 최근 관찰된 세대입니다. |
|
|
| routeSelector는 사용 중인 실제 routeSelector입니다. |
|
|
| selector는 IngressController에 해당하는 수신 컨트롤러 Pod의 경우 문자열 형식의 라벨 선택기입니다. 일치하는 Pod 수는 availableReplicas 값과 같아야 합니다. |
|
|
| TLSProfile은 적용되는 TLS 연결 구성입니다. |
15.1.54. .status.conditions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
conditions는 조건 및 상태 목록입니다.
사용 가능한 것은 수신 컨트롤러 배포를 사용할 수 있고 경로 및 수신 리소스(즉, .status.availableReplicas와 .spec.replicas)를 제공한다는 것을 의미합니다.
다른 Ingress 컨트롤러 기능 및 기능의 상태를 나타내는 추가 조건이 있습니다.
LoadBalancerManaged
- 다음 조건이 충족되면 True:
끝점 게시 전략에는 서비스 로드 밸런서가 필요합니다.
- 이러한 조건 중 하나라도 만족스럽지 않으면 false입니다.
LoadBalancerReady
- 다음 조건이 충족되면 True:
- 로드 밸런서가 관리됩니다.
로드 밸런서가 준비되었습니다.
- 이러한 조건 중 하나라도 만족스럽지 않으면 false입니다.
DNSManaged
- 다음 조건이 충족되면 True:
- 끝점 게시 전략 및 플랫폼은 DNS를 지원합니다.
- Ingress 컨트롤러 도메인이 설정됩니다.
DNS.config.openshift.io/cluster는 DNS 영역을 구성합니다.
- 이러한 조건 중 하나라도 만족스럽지 않으면 false입니다.
DNSReady
- 다음 조건이 충족되면 True:
- DNS가 관리되고 있습니다.
DNS 레코드가 성공적으로 생성되었습니다.
- 이러한 조건 중 하나라도 만족스럽지 않으면 false입니다.
- 유형
-
array
15.1.55. .status.conditions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- OperatorCondition은 표준 조건 필드입니다.
- 유형
-
object - 필수 항목
-
lastTransitionTime -
status -
type
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| lastTransitionTime은 마지막으로 한 상태에서 다른 상태로 전환된 시간입니다. 기본 조건이 변경된 경우여야 합니다. 이를 알 수 없는 경우 API 필드가 변경된 시간을 사용합니다. |
|
|
| |
|
|
| |
|
|
| 조건의 상태, True, False, 알 수 없음. |
|
|
| CamelCase 또는 foo.example.com/CamelCase의 조건 유형입니다. |
15.1.56. .status.endpointPublishingStrategy 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- endpointPublishingStrategy는 사용 중인 실제 전략입니다.
- 유형
-
object - 필수 항목
-
type
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| HostNetwork에는 HostNetwork 끝점 게시 전략에 대한 매개 변수가 있습니다. type은 HostNetwork인 경우에만 존재합니다. |
|
|
| LoadBalancer에는 로드 밸런서에 대한 매개변수가 있습니다. type이 LoadBalancerService인 경우에만 표시됩니다. |
|
|
| NodePort에는 NodePortService 끝점 게시 전략에 대한 매개변수가 있습니다. type이 NodePortService인 경우에만 표시됩니다. |
|
|
| private에는 Private 엔드포인트 게시 전략에 대한 매개변수가 있습니다. type이 private인 경우에만 존재합니다. |
|
|
| type은 사용할 게시 전략입니다. 유효한 값은 다음과 같습니다. * LoadBalancerService Kubernetes LoadBalancer 서비스를 사용하여 수신 컨트롤러를 게시합니다. 이 구성에서 Ingress 컨트롤러 배포는 컨테이너 네트워킹을 사용합니다. 배포를 게시하기 위해 LoadBalancer 서비스가 생성됩니다. https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer을 참조하십시오. domain이 설정되면 LoadBalancer 서비스의 외부 이름을 가리키도록 와일드카드 DNS 레코드가 관리됩니다. DNS 레코드는 dns.config.openshift.io/cluster .spec.publicZone 및 .spec.privateZone에서 정의한 DNS 영역에서만 관리됩니다. 와일드카드 DNS 관리는 현재 AWS, Azure 및 GCP 플랫폼에서만 지원됩니다. * HostNetwork Ingress 컨트롤러가 배포된 노드 포트에 Ingress 컨트롤러를 게시합니다. 이 구성에서 Ingress 컨트롤러 배포는 노드 포트 80 및 443에 바인딩된 호스트 네트워킹을 사용합니다. 사용자는 노드 포트를 통해 Ingress 컨트롤러를 게시하도록 외부 로드 밸런서를 구성해야 합니다. * 개인 정보 수신 컨트롤러를 게시하지 않습니다. 이 구성에서 Ingress 컨트롤러 배포는 컨테이너 네트워킹을 사용하며 명시적으로 게시되지 않습니다. 사용자가 Ingress 컨트롤러를 수동으로 게시해야 합니다. * NodePortService Kubernetes NodePort 서비스를 사용하여 수신 컨트롤러를 게시합니다. 이 구성에서 Ingress 컨트롤러 배포는 컨테이너 네트워킹을 사용합니다. 배포를 게시하기 위해 NodePort 서비스가 생성됩니다. 특정 노드 포트는 OpenShift에서 동적으로 할당하지만 정적 포트 할당을 지원하려면 관리형 NodePort 서비스의 노드 포트 필드에 대한 사용자 변경 사항이 유지됩니다. |
15.1.57. .status.endpointPublishingStrategy.hostNetwork 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- HostNetwork에는 HostNetwork 끝점 게시 전략에 대한 매개 변수가 있습니다. type은 HostNetwork인 경우에만 존재합니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| httpPort는 HTTP 요청을 수신 대기하는 데 사용해야 하는 호스트의 포트입니다. 포트 80을 이미 사용 중인 경우 이 필드를 설정해야 합니다. 이 값은 클러스터의 NodePort 범위와 일치해서는 안 됩니다. 값이 0이거나 지정하지 않으면 기본값은 80입니다. |
|
|
| httpsPort는 HTTPS 요청을 수신 대기하는 데 사용해야 하는 호스트의 포트입니다. 443 포트를 이미 사용 중인 경우 이 필드를 설정해야 합니다. 이 값은 클러스터의 NodePort 범위와 일치해서는 안 됩니다. 값이 0이거나 지정하지 않으면 기본값은 443입니다. |
|
|
| protocol은 IngressController에서 들어오는 연결이 일반 TCP를 사용하도록 예상하는지 또는 IngressController에서 PROXY 프로토콜을 사용할지 여부를 지정합니다. PROXY 프로토콜은 IngressController로 해당 연결을 전달할 때 클라이언트 연결의 소스 주소를 전달하는 데 지원하는 로드 밸런서와 함께 사용할 수 있습니다. PROXY 프로토콜을 사용하면 IngressController에서 HTTP 헤더 및 로그에서 로드 밸런서의 주소를 보고하는 대신 해당 소스 주소를 보고할 수 있습니다. IngressController에서 PROXY 프로토콜을 활성화하면 IngressController에 연결을 전달하는 데 PROXY 프로토콜을 사용하는 로드 밸런서를 사용하지 않는 경우 연결이 실패합니다. PROXY 프로토콜에 대한 자세한 내용은 http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt 을 참조하십시오. 다음 값은 이 필드에 유효합니다. 빈 문자열을 가져옵니다.Gets the empty string. * "TCP". * "PROXY". 빈 문자열은 PROXY 프로토콜이 없는 TCP인 기본값을 지정합니다. 기본값은 변경될 수 있습니다. |
|
|
| statsPort는 라우터의 통계가 게시되는 호스트의 포트입니다. 이 값은 클러스터의 NodePort 범위와 일치해서는 안 됩니다. 외부 로드 밸런서가 이 IngressController에 대한 연결을 전달하도록 구성된 경우 로드 밸런서에서 상태 점검에 이 포트를 사용해야 합니다. 로드 밸런서는 지정된 노드의 이 포트에 HTTP 프로브를 보낼 수 있으며 경로 /healthz/ready로 Ingress 컨트롤러가 노드에서 트래픽을 수신할 준비가 되었는지 확인할 수 있습니다. 적절한 작동의 경우 상태 점검이 준비되었다고 보고할 때까지 로드 밸런서에서 노드로 트래픽을 전달하지 않아야 합니다. 또한 로드 밸런서는 /healthz/ready 보고가 준비되지 않음을 시작한 후 최대 45초 이내에 요청 전달을 중지해야 합니다. 5초의 시간 초과로 5초에서 10초마다 프로빙하는 것은 각각 정상 또는 비정상 상태가 되는 두 개의 성공 또는 실패한 요청의 임계값을 각각 테스트한 값입니다. 값이 0이거나 지정하지 않으면 기본값은 1936입니다. |
15.1.58. .status.endpointPublishingStrategy.loadBalancer 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- LoadBalancer에는 로드 밸런서에 대한 매개변수가 있습니다. type이 LoadBalancerService인 경우에만 표시됩니다.
- 유형
-
object - 필수 항목
-
dnsManagementPolicy -
scope
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
| `` | allowedSourceRanges는 로드 밸런서에 대한 액세스를 제한해야 하는 IP 주소 범위의 허용 목록을 지정합니다. 각 범위는 CIDR 표기법을 사용하여 지정해야 합니다(예:). "10.0.0.0/8" 또는 "fd00::/8"). 범위가 지정되지 않은 경우 IPv4의 경우 "0.0.0.0/0" 및 IPv6의 경우 "::/0"이 기본적으로 사용되어 모든 소스 주소를 허용합니다. allowedSourceRanges 필드가 없는 이전 버전의 OpenShift에서 원활하게 마이그레이션하기 위해 "openshift-ingress" 네임스페이스에서 "router-<ingresscontroller name>" 서비스에 service.beta.kubernetes.io/load-balancer-source-ranges 주석을 설정할 수 있으며, allowedSourceRanges가 OpenShift 4.12에 비어 있는 경우 이 주석이 적용됩니다. |
|
|
| dnsManagementPolicy는 로드 밸런서 서비스와 연결된 와일드카드 DNS 레코드의 라이프사이클이 Ingress Operator에 의해 관리되는지를 나타냅니다. 기본값은 Managed입니다. 유효한 값은 Managed 및 Unmanaged입니다. |
|
|
| providerParameters에는 기본 인프라 공급자와 관련된 원하는 로드 밸런서 정보가 있습니다. 비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 providerParameters 필드를 참조하십시오. |
|
|
| scope는 로드 밸런서가 노출되는 범위를 나타냅니다. 가능한 값은 "외부" 및 "내부"입니다. |
15.1.59. .status.endpointPublishingStrategy.loadBalancer.providerParameters 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
providerParameters에는 기본 인프라 공급자와 관련된 원하는 로드 밸런서 정보가 있습니다.
비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 providerParameters 필드를 참조하십시오.
- 유형
-
object - 필수 항목
-
type
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| AWS는 AWS 로드 밸런서와 관련된 구성 설정을 제공합니다. 비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 aws 필드를 참조하십시오. |
|
|
| GCP는 GCP 로드 밸런서와 관련된 구성 설정을 제공합니다. 비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 gcp 필드를 참조하십시오. |
|
|
| IBM은 IBM Cloud 로드 밸런서와 관련된 구성 설정을 제공합니다. 비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 IBM 필드를 참조하십시오. |
|
|
| OpenStack은 OpenStack 로드 밸런서와 관련된 구성 설정을 제공합니다. 비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 openstack 필드를 참조하십시오. |
|
|
| type은 로드 밸런서의 기본 인프라 공급자입니다. 허용되는 값은 "AWS", "Azure", "BareMetal", "GCP", "IBM", "Nutanix", "OpenStack", "VSphere"입니다. |
15.1.60. .status.endpointPublishingStrategy.loadBalancer.providerParameters.aws 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
AWS는 AWS 로드 밸런서와 관련된 구성 설정을 제공합니다.
비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 aws 필드를 참조하십시오.
- 유형
-
object - 필수 항목
-
type
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| ClassicLoadBalancerParameters에는 AWS 클래식 로드 밸런서에 대한 구성 매개변수가 있습니다. type이 Classic인 경우에만 표시됩니다. |
|
|
| NetworkLoadBalancerParameters에는 AWS 네트워크 로드 밸런서에 대한 구성 매개변수가 있습니다. type은 NLB인 경우에만 존재합니다. |
|
|
| type은 ingresscontroller를 인스턴스화할 AWS 로드 밸런서의 유형입니다. 유효한 값은 다음과 같습니다. * "classic": 전송 계층(TCP/SSL) 또는 애플리케이션 계층(HTTP/HTTPS)에서 라우팅을 결정하는 Classic Load Balancer입니다. 자세한 내용은 다음을 참조하십시오. https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#clb * "NLB": 전송 계층(TCP/SSL)에서 라우팅 결정을 하는 네트워크 로드 밸런서입니다. 자세한 내용은 다음을 참조하십시오. https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#nlb |
- 설명
- ClassicLoadBalancerParameters에는 AWS 클래식 로드 밸런서에 대한 구성 매개변수가 있습니다. type이 Classic인 경우에만 표시됩니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| connectionIdleTimeout은 로드 밸런서가 연결을 닫기 전에 연결이 유휴 상태일 수 있는 최대 기간을 지정합니다. 값은 시간 기간 값으로 구문 분석할 수 있어야 합니다. https://pkg.go.dev/time#ParseDuration 을 참조하십시오. nil 또는 0 값은 의견이 없으며, 이 경우 기본값이 사용됩니다. 이 필드의 기본값은 60s입니다. 이 기본값은 변경될 수 있습니다. |
|
|
| 서브넷은 로드 밸런서를 연결할 서브넷을 지정합니다. 서브넷은 ID 또는 이름으로 지정할 수 있습니다. 총 서브넷 수는 10개로 제한됩니다. 서브넷을 사용하여 로드 밸런서를 프로비저닝하려면 각 서브넷이 있어야 하며 각 서브넷이 다른 가용성 영역에 있어야 하며 새 값을 선택하려면 로드 밸런서 서비스를 다시 생성해야 합니다. 사양에서 생략되면 서브넷이 각 가용성 영역에 대해 자동으로 검색됩니다. 자동 검색 서브넷은 IngressController 오브젝트의 상태에 보고되지 않습니다. |
- 설명
서브넷은 로드 밸런서를 연결할 서브넷을 지정합니다. 서브넷은 ID 또는 이름으로 지정할 수 있습니다. 총 서브넷 수는 10개로 제한됩니다.
서브넷을 사용하여 로드 밸런서를 프로비저닝하려면 각 서브넷이 있어야 하며 각 서브넷이 다른 가용성 영역에 있어야 하며 새 값을 선택하려면 로드 밸런서 서비스를 다시 생성해야 합니다.
사양에서 생략되면 서브넷이 각 가용성 영역에 대해 자동으로 검색됩니다. 자동 검색 서브넷은 IngressController 오브젝트의 상태에 보고되지 않습니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| ID는 서브넷 ID별로 AWS 서브넷 목록을 지정합니다. 서브넷 ID는 영숫자만 구성하며 정확히 24자여야 하며 ids 및 이름에 의해 지정된 총 서브넷 수는 10을 초과해서는 안 됩니다. |
|
|
| names는 서브넷 이름별로 AWS 서브넷 목록을 지정합니다. 서브넷 이름은 "subnet-"로 시작하지 않아야 하며, 쉼표를 포함하지 않아야 하며 길이 256자 미만이어야 하며 ids 및 이름에 의해 지정된 총 서브넷 수는 10을 초과해서는 안 됩니다. |
- 설명
- NetworkLoadBalancerParameters에는 AWS 네트워크 로드 밸런서에 대한 구성 매개변수가 있습니다. type은 NLB인 경우에만 존재합니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| eipAllocations는 네트워크 로드 밸런서에 할당된 EIP(Elastic IP) 주소의 ID 목록입니다. 다음과 같은 제한 사항이 적용됩니다. eipAllocations는 내부가 아닌 외부 범위에서만 사용할 수 있습니다. EIP는 단일 IngressController에만 할당할 수 있습니다. EIP 할당 수는 로드 밸런서에 사용되는 서브넷 수와 일치해야 합니다. 각 EIP 할당은 고유해야 합니다. 최대 10개의 EIP 할당이 허용됩니다. Elastic IP 주소의 구성, 특성 및 제한 사항에 대한 일반 정보는 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html 에서 참조하십시오. |
|
|
| 서브넷은 로드 밸런서를 연결할 서브넷을 지정합니다. 서브넷은 ID 또는 이름으로 지정할 수 있습니다. 총 서브넷 수는 10개로 제한됩니다. 서브넷을 사용하여 로드 밸런서를 프로비저닝하려면 각 서브넷이 있어야 하며 각 서브넷이 다른 가용성 영역에 있어야 하며 새 값을 선택하려면 로드 밸런서 서비스를 다시 생성해야 합니다. 사양에서 생략되면 서브넷이 각 가용성 영역에 대해 자동으로 검색됩니다. 자동 검색 서브넷은 IngressController 오브젝트의 상태에 보고되지 않습니다. |
- 설명
서브넷은 로드 밸런서를 연결할 서브넷을 지정합니다. 서브넷은 ID 또는 이름으로 지정할 수 있습니다. 총 서브넷 수는 10개로 제한됩니다.
서브넷을 사용하여 로드 밸런서를 프로비저닝하려면 각 서브넷이 있어야 하며 각 서브넷이 다른 가용성 영역에 있어야 하며 새 값을 선택하려면 로드 밸런서 서비스를 다시 생성해야 합니다.
사양에서 생략되면 서브넷이 각 가용성 영역에 대해 자동으로 검색됩니다. 자동 검색 서브넷은 IngressController 오브젝트의 상태에 보고되지 않습니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| ID는 서브넷 ID별로 AWS 서브넷 목록을 지정합니다. 서브넷 ID는 영숫자만 구성하며 정확히 24자여야 하며 ids 및 이름에 의해 지정된 총 서브넷 수는 10을 초과해서는 안 됩니다. |
|
|
| names는 서브넷 이름별로 AWS 서브넷 목록을 지정합니다. 서브넷 이름은 "subnet-"로 시작하지 않아야 하며, 쉼표를 포함하지 않아야 하며 길이 256자 미만이어야 하며 ids 및 이름에 의해 지정된 총 서브넷 수는 10을 초과해서는 안 됩니다. |
15.1.65. .status.endpointPublishingStrategy.loadBalancer.providerParameters.gcp 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
GCP는 GCP 로드 밸런서와 관련된 구성 설정을 제공합니다.
비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 gcp 필드를 참조하십시오.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| clientAccess는 내부 로드 밸런서에 대해 클라이언트 액세스가 제한되는 방법을 설명합니다. 유효한 값은 * "Global": 글로벌 클라이언트 액세스를 사용하여 내부 로드 밸런서를 지정하면 VPC 내의 모든 리전의 클라이언트가 로드 밸런서와 통신할 수 있습니다. https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing#global_access * "local": 로컬 클라이언트 액세스를 사용하여 내부 로드 밸런서를 지정하면 GCP 로드 밸런서가 로드 밸런서와 통신할 수 있으므로 동일한 리전(및 VPC) 내의 클라이언트만 의미합니다. 이는 기본 동작입니다. https://cloud.google.com/load-balancing/docs/internal#client_access |
15.1.66. .status.endpointPublishingStrategy.loadBalancer.providerParameters.ibm 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
IBM은 IBM Cloud 로드 밸런서와 관련된 구성 설정을 제공합니다.
비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 IBM 필드를 참조하십시오.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| protocol은 로드 밸런서에서 PROXY 프로토콜을 사용하여 IngressController로 연결을 전달하는지 여부를 지정합니다. https://cloud.ibm.com/docs/containers?topic=containers-vpc-lbaas에서 "service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "proxy-protocol"을 참조하십시오. PROXY 프로토콜은 IngressController로 해당 연결을 전달할 때 클라이언트 연결의 소스 주소를 전달하는 데 지원하는 로드 밸런서와 함께 사용할 수 있습니다. PROXY 프로토콜을 사용하면 IngressController에서 HTTP 헤더 및 로그에서 로드 밸런서의 주소를 보고하는 대신 해당 소스 주소를 보고할 수 있습니다. IngressController에서 PROXY 프로토콜을 활성화하면 IngressController에 연결을 전달하는 데 PROXY 프로토콜을 사용하는 로드 밸런서를 사용하지 않는 경우 연결이 실패합니다. PROXY 프로토콜에 대한 자세한 내용은 http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt 을 참조하십시오. protocol에 유효한 값은 TCP, PROXY 및 omitted입니다. 생략하면 이는 의견이 없으며 플랫폼은 시간이 지남에 따라 변경될 수 있는 적절한 기본값을 선택할 수 있음을 의미합니다. 현재 기본값은 프록시 프로토콜이 활성화되지 않은 TCP입니다. |
15.1.67. .status.endpointPublishingStrategy.loadBalancer.providerParameters.openstack 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
OpenStack은 OpenStack 로드 밸런서와 관련된 구성 설정을 제공합니다.
비어있는 경우 기본값이 적용됩니다. 기본값에 대한 자세한 내용은 특정 openstack 필드를 참조하십시오.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| floatingip은 로드 밸런서에서 사용할 IP 주소를 지정합니다. 지정하지 않으면 OpenStack 클라우드 공급자에 의해 IP 주소가 임의로 할당됩니다. 지정하면 유동 IP를 미리 생성해야 합니다. 지정된 값이 유동 IP가 아니거나 이미 클레임된 경우 OpenStack 클라우드 공급자는 로드 밸런서를 프로비저닝할 수 없습니다. 이 필드는 IngressController에 외부 범위가 있는 경우에만 사용할 수 있습니다. 이 값은 유효한 IPv4 또는 IPv6 주소여야 합니다. |
15.1.68. .status.endpointPublishingStrategy.nodePort 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- NodePort에는 NodePortService 끝점 게시 전략에 대한 매개변수가 있습니다. type이 NodePortService인 경우에만 표시됩니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| protocol은 IngressController에서 들어오는 연결이 일반 TCP를 사용하도록 예상하는지 또는 IngressController에서 PROXY 프로토콜을 사용할지 여부를 지정합니다. PROXY 프로토콜은 IngressController로 해당 연결을 전달할 때 클라이언트 연결의 소스 주소를 전달하는 데 지원하는 로드 밸런서와 함께 사용할 수 있습니다. PROXY 프로토콜을 사용하면 IngressController에서 HTTP 헤더 및 로그에서 로드 밸런서의 주소를 보고하는 대신 해당 소스 주소를 보고할 수 있습니다. IngressController에서 PROXY 프로토콜을 활성화하면 IngressController에 연결을 전달하는 데 PROXY 프로토콜을 사용하는 로드 밸런서를 사용하지 않는 경우 연결이 실패합니다. PROXY 프로토콜에 대한 자세한 내용은 http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt 을 참조하십시오. 다음 값은 이 필드에 유효합니다. 빈 문자열을 가져옵니다.Gets the empty string. * "TCP". * "PROXY". 빈 문자열은 PROXY 프로토콜이 없는 TCP인 기본값을 지정합니다. 기본값은 변경될 수 있습니다. |
15.1.69. .status.endpointPublishingStrategy.private 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- private에는 Private 엔드포인트 게시 전략에 대한 매개변수가 있습니다. type이 private인 경우에만 존재합니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| protocol은 IngressController에서 들어오는 연결이 일반 TCP를 사용하도록 예상하는지 또는 IngressController에서 PROXY 프로토콜을 사용할지 여부를 지정합니다. PROXY 프로토콜은 IngressController로 해당 연결을 전달할 때 클라이언트 연결의 소스 주소를 전달하는 데 지원하는 로드 밸런서와 함께 사용할 수 있습니다. PROXY 프로토콜을 사용하면 IngressController에서 HTTP 헤더 및 로그에서 로드 밸런서의 주소를 보고하는 대신 해당 소스 주소를 보고할 수 있습니다. IngressController에서 PROXY 프로토콜을 활성화하면 IngressController에 연결을 전달하는 데 PROXY 프로토콜을 사용하는 로드 밸런서를 사용하지 않는 경우 연결이 실패합니다. PROXY 프로토콜에 대한 자세한 내용은 http://www.haproxy.org/download/2.2/doc/proxy-protocol.txt 을 참조하십시오. 다음 값은 이 필드에 유효합니다. 빈 문자열을 가져옵니다.Gets the empty string. * "TCP". * "PROXY". 빈 문자열은 PROXY 프로토콜이 없는 TCP인 기본값을 지정합니다. 기본값은 변경될 수 있습니다. |
15.1.70. .status.namespaceSelector 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- namespaceSelector는 사용 중인 실제 namespaceSelector입니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다. |
|
|
| 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다. |
|
|
| matchLabels는 {key,value} 쌍으로 구성된 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 "key"이고, 연산자는 "In"이고, values 배열에는 "value"만 포함된 matchExpressions 요소와 동일합니다. 요구 사항은 AND로 설정됩니다. |
15.1.71. .status.namespaceSelector.matchExpressions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다.
- 유형
-
array
15.1.72. .status.namespaceSelector.matchExpressions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다.
- 유형
-
object - 필수 항목
-
key -
operator
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| key는 선택기가 적용되는 라벨 키입니다. |
|
|
| Operator는 일련의 값과의 키 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists 및 DoesNotExist입니다. |
|
|
| 값은 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 교체됩니다. |
15.1.73. .status.routeSelector 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- routeSelector는 사용 중인 실제 routeSelector입니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다. |
|
|
| 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다. |
|
|
| matchLabels는 {key,value} 쌍으로 구성된 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 "key"이고, 연산자는 "In"이고, values 배열에는 "value"만 포함된 matchExpressions 요소와 동일합니다. 요구 사항은 AND로 설정됩니다. |
15.1.74. .status.routeSelector.matchExpressions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다.
- 유형
-
array
15.1.75. .status.routeSelector.matchExpressions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- 레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다.
- 유형
-
object - 필수 항목
-
key -
operator
-
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| key는 선택기가 적용되는 라벨 키입니다. |
|
|
| Operator는 일련의 값과의 키 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists 및 DoesNotExist입니다. |
|
|
| 값은 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 교체됩니다. |
15.1.76. .status.tlsProfile 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- TLSProfile은 적용되는 TLS 연결 구성입니다.
- 유형
-
object
| 속성 | 유형 | 설명 |
|---|---|---|
|
|
| 암호는 TLS 핸드셰이크 중에 협상되는 암호화 알고리즘을 지정하는 데 사용됩니다. Operator는 피연산자가 지원하지 않는 항목을 제거할 수 있습니다. 예를 들어 DES-CBC3-SHA(yaml)를 사용하려면 다음을 수행합니다. 암호: - DES-CBC3-SHA |
|
|
| minTLSVersion은 TLS 핸드셰이크 중에 협상되는 최소 버전의 TLS 프로토콜을 지정하는 데 사용됩니다. 예를 들어 TLS 버전 1.1, 1.2 및 1.3(yaml)을 사용하려면 다음을 수행합니다. minTLSVersion: VersionTLS11 참고: 현재 허용되는 가장 높은 minTLSVersion은 VersionTLS12입니다. |