4.8. Knative 서비스의 고가용성 구성
4.8.1. Knative 서비스의 고가용성
고가용성(HA)은 중단이 발생하는 경우 API가 작동하도록 하는 데 도움이 되는 Kubernetes API의 표준 기능입니다. HA 배포에서 활성 컨트롤러가 충돌하거나 삭제되면 다른 컨트롤러를 쉽게 사용할 수 있습니다. 이 컨트롤러는 현재 사용할 수 없는 컨트롤러에서 서비스하고 있는 API를 대신 처리합니다.
OpenShift Serverless의 HA는 Knative Serving 또는 Eventing 컨트롤 플레인을 설치하면 기본적으로 활성화되는 리더 선택을 통해 사용할 수 있습니다. 리더 선택 HA 패턴을 사용하는 경우에는 요구하기 전에 컨트롤러의 인스턴스가 이미 예약되어 클러스터 내에서 실행됩니다. 이러한 컨트롤러 인스턴스는 리더 선택 잠금이라는 공유 리소스를 사용하기 위해 경쟁합니다. 특정 시점에 리더 선택 잠금 리소스에 액세스할 수 있는 컨트롤러의 인스턴스를 리더라고 합니다.
4.8.2. Knative 서비스의 고가용성
HA(고가용성)는 기본적으로 Knative Serving activator
, autoscaler ,
,autoscaler
-hpacontroller
,webhook
,kourier-control
, kourier-gateway
구성 요소에 기본적으로 사용할 수 있습니다. 이 구성 요소는 기본적으로 각각 두 개의 복제본을 보유하도록 구성되어 있습니다. KnativeServing
CR(사용자 정의 리소스)의 spec.high-availability.replicas
값을 수정하여 이러한 구성 요소의 복제본 수를 변경할 수 있습니다.
4.8.2.1. Knative Serving의 고가용성 복제본 구성
적격 배포 리소스에 대한 최소 3개의 복제본을 지정하려면 사용자 정의 리소스의 spec.high-availability.replicas
필드 값을 3
으로 설정합니다.
사전 요구 사항
- 클러스터 관리자 액세스 권한이 있는 OpenShift Container Platform 계정에 액세스할 수 있습니다.
- OpenShift Serverless Operator 및 Knative Serving이 클러스터에 설치되어 있습니다.
절차
-
OpenShift Container Platform 웹 콘솔의 관리자 화면에서 OperatorHub
설치된 Operator로 이동합니다. -
knative-serving
네임스페이스를 선택합니다. - OpenShift Serverless Operator의 제공되는 API 목록에서 Knative Serving을 클릭하여 Knative Serving 탭으로 이동합니다.
knative-serving을 클릭한 다음 knative-serving 페이지의 YAML 탭으로 이동합니다.
KnativeServing
CR의 복제본 수를 수정합니다.YAML의 예
apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving namespace: knative-serving spec: high-availability: replicas: 3