6.4.5. Kourier가 활성화된 경우 OpenShift Serverless와 Service Mesh 통합
Kourier가 이미 활성화된 경우에도 OpenShift Serverless에서 Service Mesh를 사용할 수 있습니다. 이 절차는 Kourier를 사용하여 Knative Serving을 이미 설치했지만 나중에 서비스 메시 통합을 추가하려는 경우 유용할 수 있습니다.
사전 요구 사항
- 클러스터 관리자 액세스 권한이 있는 OpenShift Container Platform 계정에 액세스할 수 있습니다.
- 프로젝트를 생성했거나 OpenShift Container Platform에서 애플리케이션 및 기타 워크로드를 생성하는 데 적절한 역할 및 권한이 있는 프로젝트에 액세스할 수 있습니다.
-
OpenShift CLI(
oc
)를 설치합니다. - 클러스터에 OpenShift Serverless Operator 및 Knative Serving을 설치합니다.
- Red Hat OpenShift Service Mesh를 설치합니다. OpenShift Serverless with Service Mesh and Kourier는 Red Hat OpenShift Service Mesh 버전 1.x 및 2.x에서 모두 사용이 지원되고 있습니다.
프로세스
Service Mesh와 통합할 네임스페이스를
ServiceMeshMemberRoll
오브젝트에 멤버로 추가합니다.apiVersion: maistra.io/v1 kind: ServiceMeshMemberRoll metadata: name: default namespace: istio-system spec: members: - <namespace> 1 ...
- 1
- Service Mesh와 통합할 네임스페이스 목록입니다.
ServiceMeshMemberRoll
리소스를 적용합니다.$ oc apply -f <filename>
Knative 시스템 Pod에서 Knative 서비스로의 트래픽 흐름을 허용하는 네트워크 정책을 생성합니다.
Service Mesh와 통합할 각 네임스페이스에
NetworkPolicy
리소스를 생성합니다.apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-from-serving-system-namespace namespace: <namespace> 1 spec: ingress: - from: - namespaceSelector: matchLabels: knative.openshift.io/part-of: "openshift-serverless" podSelector: {} policyTypes: - Ingress ...
- 1
- Service Mesh와 통합할 네임스페이스를 추가합니다.
참고knative.openshift.io/part-of: "openshift-serverless"
레이블이 OpenShift Serverless 1.22.0에 추가되었습니다. OpenShift Serverless 1.21.1 이하를 사용하는 경우knative.openshift.io/part-of
레이블을knative-serving
및knative-serving-ingress
네임스페이스에 추가합니다.knative-serving
네임스페이스에 라벨을 추가합니다.$ oc label namespace knative-serving knative.openshift.io/part-of=openshift-serverless
knative-serving-ingress
네임스페이스에 레이블을 추가합니다.$ oc label namespace knative-serving-ingress knative.openshift.io/part-of=openshift-serverless
NetworkPolicy
리소스를 적용합니다.$ oc apply -f <filename>