업데이트 Istio

관리 추가 기능을 사용하여 설치된 Istio 버전을 업데이트하려면 istioctl을 사용하지 마십시오. 업데이트 시 관리되는 Istio 애드온에는 Istio 버전의 업데이트도 포함됩니다. Istio 의 지원 버전은 IBM Cloud 에서 테스트하고 IBM Cloud Kubernetes Service 에서 사용하도록 승인되었습니다.

시작하기 전에

  • Istio 추가 기능은 한 번에 한 버전만 수동으로 업데이트할 수 있습니다. Istio 애드온을 두 개 이상의 버전으로 업데이트하려면 수동 업데이트 프로세스를 반복하거나 애드온을 제거한 다음 최신 버전을 설치할 수 있습니다.

  • 관리 Istio 추가 기능을 이전 버전으로 되돌릴 수 없습니다. 이전 부 버전으로 되돌리려면 애드온을 제거한 다음 이전 버전을 설치해야 합니다.

  • istio-system 네임스페이스의 Istio 제어 컴포넌트를 최신 부 버전으로 업데이트하면 변경이 중단될 수 있습니다. 부 버전 업데이트 중에 발생하는 다음 변경사항을 검토하십시오.

    • 업데이트가 제어 플레인 팟(Pod)으로 롤아웃되면 팟(Pod)이 다시 작성됩니다. 업데이트가 완료될 때까지 Istio 제어 플레인을 완전히 사용할 수 없습니다.
    • Istio 데이터 플레인은 업데이트 중에 계속 작동합니다. 하지만 서비스 메시의 앱에 대한 일부 트래픽이 짧은 시간 동안 인터럽트될 수 있습니다.
    • istio-ingressgateway 로드 밸런서의 외부 IP 주소는 업데이트 중이나 후에 변경되지 않습니다.

Istio 애드온의 마이너 버전으로 업데이트하기

시작하기 전에:

모든 버전 업데이트에 적용되는 전제 조건을 검토하세요.

Istio 애드온의 소버전을 업데이트하려면:

  1. 사용 가능한 Istio 추가 기능 버전을 검토하십시오.

    ibmcloud ks addon-versions
    
  2. Istio 애드온 변경 내역에서 각 버전의 변경 사항을 확인해 보세요.

  3. Istio 추가 기능을 업데이트하십시오.

    ibmcloud ks cluster addon update istio --version VERSION -c CLUSTER_NAME_OR_ID
    
  4. 계속하기 전에 업데이트가 완료되었는지 확인하십시오.

    업데이트 프로세스를 완료하는 데 최대 20분이 걸릴 수 있습니다.

    1. Istio 추가 기능의 상태normal이고 상태Addon Ready인지 확인하십시오. 상태가 updating인 경우 업데이트가 아직 완료되지 않았습니다.
        ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
        ```
    2. `istio-system` 네임스페이스에 있는 제어 플레인 구성 요소 포드의 **STATUS가** ‘ `Running` ’인지 확인하십시오.
    ```sh {: pre}
        kubectl get pods -n istio-system
        ```
        ```sh {: screen}
        NAME                                                     READY   STATUS    RESTARTS   AGE
        istio-system    istio-egressgateway-6d4667f999-gjh94     1/1     Running     0          61m
        istio-system    istio-egressgateway-6d4667f999-txh56     1/1     Running     0          61m
        istio-system    istio-ingressgateway-7bbf8d885-b9xgp     1/1     Running     0          61m
        istio-system    istio-ingressgateway-7bbf8d885-xhkv6     1/1     Running     0          61m
        istio-system    istiod-5b9b5bfbb7-jvcjz                  1/1     Running     0          60m
        istio-system    istiod-5b9b5bfbb7-khcht                  1/1     Running     0          60m
        ```
    
  5. istioctl 클라이언트 및 사이드카를 업데이트하십시오.

istioctl 클라이언트 및 사이드카 업데이트

Istio 관리 추가 기능이 업데이트될 때마다 istioctl 클라이언트 및 사용자 앱의 Istio 사이드카를 업데이트하십시오.

예를 들어, IBM Cloud Kubernetes Service를 사용하여 추가 기능의 패치 버전을 자동으로 업데이트하거나 추가 기능의 부 버전을 업데이트할 수 있습니다. 두 경우 모두, 추가 기능의 Istio 버전과 일치하도록 istioctl 클라이언트 및 사용자 앱의 기존 Istio 사이드카를 업데이트하십시오.

  1. istioctl 클라이언트 및 Istio 추가 기능 제어 플레인의 버전을 가져오십시오.

    istioctl version --short=false
    

    출력 예

    client version: version.BuildInfo{Version:"1.11.2"}
    pilot version: version.BuildInfo{Version:1.29.5}
    pilot version: version.BuildInfo{Version:1.29.5}
    data plane version: version.ProxyInfo{ID:"istio-egressgateway-77bf75c5c-vp97p.istio-system", IstioVersion:1.29.5}
    data plane version: version.ProxyInfo{ID:"istio-egressgateway-77bf75c5c-qkhgm.istio-system", IstioVersion:1.29.5}
    data plane version: version.ProxyInfo{ID:"istio-ingressgateway-6dcb67b64d-dffhq.istio-system", IstioVersion:1.29.5}
    data plane version: version.ProxyInfo{ID:"httpbin-74fb669cc6-svc8x.default", IstioVersion:1.29.5}
    data plane version: version.ProxyInfo{ID:"istio-ingressgateway-6dcb67b64d-cs9r9.istio-system", IstioVersion:1.29.5}
    ...
    
  2. 출력에서 client version(istioctl)과 Istio 제어 플레인 컴포넌트의 버전(예: pilot version)을 비교하십시오. client version 및 제어 플레인 컴포넌트 버전이 일치하지 않는 경우:

    1. 제어 플레인 컴포넌트와 동일한 버전의 istioctl 클라이언트를 다운로드하십시오.
        curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.29.5 sh -
        ```
    2. Istio 패키지 디렉토리로 이동하십시오.
    
    ```sh {: pre}
        cd istio-1.29.5
        ```
    3. Linux 및 macOS 사용자: `istioctl` 클라이언트를 `PATH` 시스템 변수에 추가하십시오.
    
    ```sh {: pre}
        export PATH=$PWD/bin:$PATH
        ```
    
  3. 1단계의 출력에서 각 데이터 플레인 팟(Pod)에 대해 pilot versiondata plane version과 비교하십시오.

    • pilot versiondata plane version이 일치하면 추가 업데이트가 필요하지 않습니다.
    • pilot versiondata plane version이(가) 일치하지 않으면 이전 버전을 실행하는 데이터 플레인 팟(Pod)에 대한 배치를 다시 시작하십시오. 팟 이름과 네임스페이스는 각 항목에 data plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.8.4"}(으)로 나열됩니다.
    kubectl rollout restart deployment <deployment> -n <namespace>
    

    addon-istio 1.24 이후 버전에서 사용자 지정 게이트웨이 배포가 있는 경우 최신 istio/proxyv2 이미지를 사용하도록 업데이트할 책임도 있습니다. 사용자 정의 게이트웨이는 데이터 플레인 포드 목록에 표시되며 롤아웃을 다시 시작하면 업데이트할 수 있습니다.

지원되지 않는 Istio 애드온 버전에서 업데이트하기

Istio 구성 요소를 IBM Cloud Kubernetes Service 에서 지원하는 최신 패치 버전으로 업데이트합니다.

addon-istio 1.26.8 2026년 8월 10일부터 지원되지 않습니다. 해당 날짜 이전에, IBM Cloud Kubernetes Service 에서 지원하는 addon-istio 의 최신 패치 버전( 1.29 )으로 업데이트하십시오.

addon-istio 1.29 IBM Cloud Kubernetes Service 의, 및 버전에서 사용할 수 있으며 지원됩니다. 1.33 1.34 1.35 1.26 에서 1.29 로 업그레이드하려면, “Istio 애드온의 마이너 버전으로 업데이트하기 ” 안내에 따라 1.26 에서 1.27 로, 1.27 에서 1.28 로, 1.28 에서 1.29 로 이어지는 모든 마이너 업그레이드를 완료하십시오.