2.2.37.35.8. Kubernetes 게이트웨이 API
Kubernetes Gateway API는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
Kubernetes Gateway API는 기본적으로 비활성화되어 있는 기술 프리뷰 기능입니다. Kubernetes API 배포 컨트롤러가 비활성화된 경우 수신 게이트웨이를 생성된 Gateway 오브젝트에 수동으로 배포하고 연결해야 합니다.
Kubernetes API 배포 컨트롤러가 활성화되면 수신 게이트웨이는 Gateway 오브젝트가 생성될 때 자동으로 배포됩니다.
2.2.37.35.8.1. 게이트웨이 API CRD 설치 링크 복사링크가 클립보드에 복사되었습니다!
게이트웨이 API CRD는 기본적으로 OpenShift 클러스터에 사전 설치되지 않습니다. SMCP에서 게이트웨이 API 지원을 활성화하기 전에 CRD를 설치합니다.
$ kubectl get crd gateways.gateway.networking.k8s.io || { kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.4.0" | kubectl apply -f -; }
2.2.37.35.8.2. Kubernetes 게이트웨이 API 활성화 링크 복사링크가 클립보드에 복사되었습니다!
기능을 활성화하려면 ServiceMeshControlPlane 에서 Istiod 컨테이너에 대해 다음 환경 변수를 설정합니다.
spec:
runtime:
components:
pilot:
container:
env:
PILOT_ENABLE_GATEWAY_API: "true"
PILOT_ENABLE_GATEWAY_API_STATUS: "true"
# and optionally, for the deployment controller
PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER: "true"
SameNamespace 또는 All 설정을 사용하여 게이트웨이 API 리스너에서 경로 연결을 제한할 수 있습니다. Istio는 listeners.allowedRoutes.namespaces 의 라벨 선택기 사용을 무시하고 기본 동작(SameNamespace)으로 되돌립니다.
2.2.37.35.8.3. 기존 게이트웨이를 게이트웨이 리소스에 수동으로 연결 링크 복사링크가 클립보드에 복사되었습니다!
Kubernetes API 배포 컨트롤러가 비활성화된 경우 수동으로 배포된 다음 수신 게이트웨이를 생성된 게이트웨이 리소스에 연결해야 합니다.
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: Gateway
metadata:
name: gateway
spec:
addresses:
- value: ingress.istio-gateways.svc.cluster.local
type: Hostname