2.7. Istio 고가용성 정보


HA(고가용성) 모드에서 Istio 컨트롤 플레인을 실행하면 단일 장애 지점을 방지하고 istiod Pod가 실패하더라도 연속 메시 작업을 수행할 수 있습니다. HA를 사용하면 하나의 istiod Pod를 사용할 수 없게 되면 다른 Pod가 Istio 데이터 플레인을 계속 관리하고 구성하여 서비스 중단 또는 중단을 방지합니다. HA는 컨트롤 플레인 워크로드를 분배하고 정상 업그레이드를 활성화하고, 재해 복구 작업을 지원하며, 영역 전체 메시 중단을 방지하여 확장성을 제공합니다.

시스템 관리자가 Istio 배포에 대해 HA를 구성하는 방법은 다음 두 가지가 있습니다.

  • 정적 복제본 수 정의: 이 접근 방식에서는 고정된 개수의 istiod pod를 설정하여 일관된 수준의 중복성을 제공해야 합니다.
  • 자동 스케일링 사용: 이 방법은 리소스 사용률 또는 사용자 정의 메트릭을 기반으로 istiod Pod 수를 동적으로 조정하여 워크로드 변동을 위한 리소스 소비를 보다 효율적으로 제공합니다.

2.7.1. 자동 스케일링을 사용하여 Istio HA 구성

단일 장애 지점을 방지하기 위해 HA(고가용성) 모드에서 Istio 컨트롤 플레인을 구성하고 istiod Pod 중 하나가 실패하더라도 연속 메시 작업을 확인합니다. 자동 스케일링은 작동할 수 있는 최소 및 최대 Istio 컨트롤 플레인 Pod 수를 정의합니다. OpenShift Container Platform에서는 이러한 값을 사용하여 CPU 또는 메모리와 같은 리소스 사용률을 기반으로 작동하는 컨트롤 플레인 수를 확장하여 메시 내의 다양한 워크로드 및 전체 트래픽 패턴에 효율적으로 응답합니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인되어 있습니다.
  • Red Hat OpenShift Service Mesh Operator가 설치되어 있습니다.
  • Istio 리소스를 배포했습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에서 설치된 Operator를 클릭합니다.
  2. Red Hat OpenShift Service Mesh 3 Operator를 클릭합니다.
  3. Istio 를 클릭합니다.
  4. Istio 설치 이름을 클릭합니다. 예를 들면 기본값입니다.
  5. YAML 을 클릭합니다.
  6. 다음 예와 유사한 Istio CR(사용자 정의 리소스)을 수정합니다.

    설정 예

    apiVersion: sailoperator.io/v1
    kind: Istio
    metadata:
      name: default
    spec:
      namespace: istio-system
      values:
        pilot:
          autoscaleMin: 2 
    1
    
          autoscaleMax: 5 
    2
    
          cpu:
            targetAverageUtilization: 80 
    3
    
          memory:
            targetAverageUtilization: 80 
    4
    Copy to Clipboard Toggle word wrap

    1
    항상 실행되는 최소 Istio 컨트롤 플레인 복제본 수를 지정합니다.
    2
    최대 Istio 컨트롤 플레인 복제본 수를 지정하여 부하를 기반으로 스케일링할 수 있습니다. HA를 지원하려면 복제본이 두 개 이상 있어야 합니다.
    3
    자동 스케일링의 대상 CPU 사용률을 80%로 지정합니다. 평균 CPU 사용량이 이 임계값을 초과하면 HPA(horizontal Pod Autoscaler)가 복제본 수를 자동으로 늘립니다.
    4
    자동 스케일링의 대상 메모리 사용률을 80%로 지정합니다. 평균 메모리 사용량이 이 임계값을 초과하면 HPA에서 복제본 수를 자동으로 늘립니다.

검증

  • 다음 명령을 실행하여 Istio 제어 Pod의 상태를 확인합니다.

    $ oc get pods -n istio-system -l app=istiod
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                      READY   STATUS    RESTARTS   AGE
    istiod-7c7b6564c9-nwhsg   1/1     Running   0          70s
    istiod-7c7b6564c9-xkmsl   1/1     Running   0          85s
    Copy to Clipboard Toggle word wrap

    두 개의 istiod pod가 실행 중입니다. HA Istio 컨트롤 플레인의 최소 요구 사항인 두 Pod는 기본 HA 설정이 설정되었음을 나타냅니다.

2.7.1.1. Service Mesh HA 자동 스케일링 모드의 API 설정

자동 스케일링을 사용하여 HA(고가용성) 서비스 메시를 구성할 때 다음 istio CRD(사용자 정의 리소스 정의) 매개변수를 사용합니다.

Expand
표 2.1. HA API 매개변수
매개변수설명

autoScaleMin

istio 배포에 대한 최소 istiod Pod 수를 정의합니다. 각 Pod에는 Istio 컨트롤 플레인의 하나의 인스턴스가 포함되어 있습니다.

OpenShift는 Istio 배포에 Horizontal Pod Autoscaler(HPA)가 활성화된 경우에만 이 매개변수를 사용합니다. 이는 기본 동작입니다.

autoScaleMax

Istio 배포에 대한 최대 istiod Pod 수를 정의합니다. 각 Pod에는 Istio 컨트롤 플레인의 하나의 인스턴스가 포함되어 있습니다.

OpenShift에서 로드를 기반으로 istiod Pod 수를 자동으로 확장하려면 이 매개변수를 autoScaleMin 매개변수에 대해 정의한 값보다 큰 값으로 설정해야 합니다.

자동 스케일링이 제대로 작동하려면 메트릭도 구성해야 합니다. 메트릭이 구성되지 않은 경우 자동 스케일러는 확장 또는 축소되지 않습니다.

OpenShift는 Istio 배포에 Horizontal Pod Autoscaler(HPA)가 활성화된 경우에만 이 매개변수를 사용합니다. 이는 기본 동작입니다.

cpu.targetAverageUtilization

istiod pod의 대상 CPU 사용률을 정의합니다. 평균 CPU 사용량이 이 매개변수에서 정의한 임계값을 초과하면 HPA에서 복제본 Pod 수를 자동으로 늘립니다.

memory.targetAverageUtilization

istiod pod의 대상 메모리 사용률을 정의합니다. 평균 메모리 사용량이 이 매개변수에서 정의한 임계값을 초과하면 HPA에서 복제본 Pod 수를 자동으로 늘립니다.

동작

behavior 필드를 사용하여 OpenShift에서 Istio 리소스를 확장 또는 축소하는 데 사용하는 추가 정책을 정의할 수 있습니다.

자세한 내용은 구성 가능한 확장 동작 구성 을 참조하십시오.

2.7.2. 복제본 수를 사용하여 Istio HA 구성

단일 장애 지점을 방지하기 위해 HA(고가용성) 모드에서 Istio 컨트롤 플레인을 구성하고 istiod Pod 중 하나가 실패하더라도 연속 메시 작업을 확인합니다. 복제본 수는 작동할 수 있는 고정된 수의 Istio 컨트롤 플레인 Pod를 정의합니다. 컨트롤 플레인 워크로드가 비교적 안정적이거나 예측 가능한 메시 환경에 또는 istiod Pod를 수동으로 스케일링하려는 경우 복제본 수를 사용합니다.

사전 요구 사항

  • cluster-admin 역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인되어 있습니다.
  • Red Hat OpenShift Service Mesh Operator가 설치되어 있습니다.
  • Istio 리소스를 배포했습니다.

프로세스

  1. 다음 명령을 실행하여 Istio 리소스의 이름을 가져옵니다.

    $ oc get istio -n istio-sytem
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME      REVISIONS   READY   IN USE   ACTIVE REVISION   STATUS    VERSION   AGE
    default   1           1       0        default           Healthy   v1.24.6   24m
    Copy to Clipboard Toggle word wrap

    Istio 리소스의 이름은 기본값 입니다.

  2. 다음 명령을 실행하여 autoscaleEnabledreplicaCount 매개변수를 추가하여 Istio CR(사용자 정의 리소스)을 업데이트합니다.

    $ oc patch istio default -n istio-system --type merge -p '
    spec:
      values:
        pilot:
          autoscaleEnabled: false 
    1
    
          replicaCount: 2 
    2
    
    '
    Copy to Clipboard Toggle word wrap
    1
    자동 스케일링을 비활성화하고 복제본 수가 수정되도록 하는 설정을 지정합니다.
    2
    Istio 컨트롤 플레인 복제본 수를 지정합니다. HA를 지원하려면 복제본이 두 개 이상 있어야 합니다.

검증

  1. 다음 명령을 실행하여 Istio 제어 Pod의 상태를 확인합니다.

    $ oc get pods -n istio-system -l app=istiod
    Copy to Clipboard Toggle word wrap

    출력 예

    NAME                      READY   STATUS    RESTARTS   AGE
    istiod-7c7b6564c9-nwhsg   1/1     Running   0          70s
    istiod-7c7b6564c9-xkmsl   1/1     Running   0          85s
    Copy to Clipboard Toggle word wrap

    HA Istio 컨트롤 플레인의 최소 요구 사항인 두 개의 istiod Pod가 실행 중이며 기본 HA 설정이 적용됨을 나타냅니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat