Istio 관리형 애드온 설정

Istio on IBM Cloud® Kubernetes Service는 Istio의 완벽한 설치, Istio 제어 플레인 컴포넌트의 자동 업데이트 및 라이프사이클 관리, 플랫폼 로깅 및 모니터링 도구와의 통합을 제공합니다.

클러스터에서 다른 Istio 설치 제거하기

이전에 IBM Helm 차트를 사용하거나 다른 방법을 통해 클러스터에 Istio 를 설치한 경우, 관리형 Istio 애드온을 활성화하기 전에 해당 Istio 설치를 정리해야 합니다.

시작하기 전에: Istio 이 클러스터에 이미 설치되어 있는지 확인합니다. kubectl get namespaces 을 실행하고 출력에서 istio-system 네임스페이스를 찾습니다.

다른 Istio 설치를 제거하려면:

  • IBM Cloud Istio Helm 차트를 사용하여 Istio를 설치한 경우

    1. Istio Helm 배치를 설치 제거하십시오.
        helm del istio --purge
        ```
    2. Helm 2.9 이하를 사용한 경우, 추가 작업 리소스를 삭제하십시오.
    ```sh {: pre}
        kubectl -n istio-system delete job --all
        ```
    3. 설치 제거 프로세스는 최대 10분 정도 소요됩니다. 클러스터에 Istio 관리 추가 기능을 설치하기 전에 우선 `kubectl get namespaces`를 실행하고 `istio-system` 네임스페이스가 제거되었는지 확인하십시오.
    
    
  • Istio 를 수동으로 설치했거나 Istio 커뮤니티의 Helm 차트를 사용한 경우, Istio 의 제거 안내 문서를 참조하십시오.

  • 이전에 클러스터에 BookInfo를 설치한 경우 해당 리소스를 정리하십시오.

    1. 디렉토리를 Istio 파일 위치로 변경하십시오.
        cd <filepath>/istio-1.29.5
        ```
    2. 클러스터에서 모든 BookInfo 서비스, 팟(Pod) 및 배치를 삭제하십시오.
    ```sh {: pre}
        samples/bookinfo/platform/kube/cleanup.sh
        ```
    3. 설치 제거 프로세스는 최대 10분 정도 소요됩니다. 클러스터에 Istio 관리 추가 기능을 설치하기 전에 우선 `kubectl get namespaces`를 실행하고 `istio-system` 네임스페이스가 제거되었는지 확인하십시오.
    
    
    
    

Istio 추가 기능 설치

커뮤니티 Istio 대신 관리형 Istio 애드온을 설치할 수 있습니다.

시작하기 전에

콘솔에서 Istio 추가 기능 설치

  1. 클러스터 대시보드에서 ‘ Istio ’ 애드온을 설치할 클러스터의 이름을 클릭합니다.

  2. 추가 기능 섹션으로 이동하십시오.

  3. 관리 Istio 카드에서 설치를 클릭하십시오.

  4. 설치를 다시 클릭하십시오.

  5. 관리 Istio 카드에서 추가 기능이 나열되었는지 확인하십시오.

CLI를 사용하여 Istio 추가 기능 설치

계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.

  1. container-service 플러그인을 최신 버전으로 업데이트하십시오.

    ibmcloud update && ibmcloud plugin update container-service
    
  2. 지원되는 Istio 버전을 검토하십시오.

    ibmcloud ks addon-versions --addon istio
    
  3. istio 추가 기능을 사용으로 설정하십시오. 일반적으로 제공되는 ‘ Istio ’ 관리형 애드온( 1.29.5 )의 기본 버전이 설치되었습니다.

    ibmcloud ks cluster addon enable istio --cluster CLUSTER_NAME_OR_ID
    
  4. 관리 Istio 추가 기능에 Addon Ready 상태가 있는지 확인하십시오.

    ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
    

    출력 예

    NAME            Version     Health State   Health Status
    istio           1.29.5       normal         Addon Ready
    
  5. 추가 기능의 개별 컴포넌트를 체크아웃하여 Istio 서비스와 해당 팟(Pod)이 배치되었는지 확인할 수도 있습니다.

    kubectl get svc -n istio-system
    
    kubectl get pods -n istio-system
    
  6. 그 다음, Istio 서비스 메시에 앱을 포함할 수 있습니다.

istioctl CLI 설치

컴퓨터에 istioctl CLI 클라이언트를 설치하십시오. 자세한 내용은 [istioctl 명령어 참조](https://istio.io/latest/docs/reference/commands/istioctl/){: external} 문서를 참조하십시오.

  1. 클러스터에 설치한 Istio 버전을 확인합니다.
    istioctl version
    
  2. 클러스터의 Istio 버전과 일치하는 istioctl 버전을 컴퓨터에 다운로드하십시오.
    curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.29.5 sh -
    
  3. Istio 패키지 디렉토리로 이동하십시오.
    cd istio-1.29.5
    
  4. Linux 및 macOS 사용자: istioctl 클라이언트를 PATH 시스템 변수에 추가하십시오.
    export PATH=$PWD/bin:$PATH
    

Istio 설치 사용자 정의

managed-istio-custom configmap 리소스를 편집하여 Istio 구성 옵션 세트를 사용자 정의할 수 있습니다. 이러한 설정에는 제어 플레인 및 서비스 메시의 모니터링, 로깅 및 네트워킹에 대한 추가 제어가 포함됩니다.

  1. managed-istio-custom ( ConfigMap ) 리소스에 대해 설명하여 해당 내용과 인라인 문서를 살펴보십시오.
    kubectl describe cm managed-istio-custom -n ibm-operators
    
  2. managed-istio-custom configmap 리소스를 편집하십시오.
    kubectl edit cm managed-istio-custom -n ibm-operators
    
  3. data 섹션에서 다음 구성 옵션 중 하나 이상의 <key>: "<value>" 쌍을 추가하십시오.
istio-components-pilot-requests-cpu
기본값: "500m"
milli 의 CPU에서 ‘ ’ 컴포넌트 포드에 대한 CPU 요청을 구성하십시오. istiod 이 값을 변경하는 경우 주의하십시오. 이 값을 너무 낮게 설정하면 제어 플레인이 올바르게 작동하지 않을 수 있으며, 너무 높게 설정하면 istiod 팟(Pod)이 스케줄되지 않을 수 있습니다.
istio-global-logging-level
기본값: "default:info" : 제어 플레인 컴포넌트의 로그 메시지 레벨 및 로그 범위를 정의하십시오. 범위는 제어 플레인 컴포넌트 내 기능 영역을 나타내며 각 범위는 특정 로그 정보 레벨을 지원합니다. 카테고리화되지 않은 로그 메시지를 위한 default 로깅 범위는 기본 info 레벨에서 제어 플레인의 모든 구성요소에 적용됩니다.
개별 컴포넌트 범위의 로그 레벨을 지정하려면 쉼표로 구분된 범위 및 레벨 목록을 입력하십시오(예: "<scope>:<level>,<scope>:<level>"). 각 제어 플레인 구성 요소의 적용 범위 및 로그 메시지의 정보 수준에 대한 목록은 ‘ Istio ’ 구성 요소 로깅 문서를 참조하십시오. 데이터 플레인의 로그 수준을 변경하려면 istioctl proxy-config log --level 명령을 사용하십시오.
istio-global-outboundTrafficPolicy-mode

기본값: "ALLOW_ANY" : 기본적으로 서비스 메시의 모든 아웃바운드 트래픽이 허용됩니다. 서비스 메시에서 서비스 레지스트리에 정의되지 않았거나 서비스 메시 내에 ServiceEntry가 없는 호스트로 향하는 아웃바운드 트래픽을 차단하려는 경우 REGISTRY_ONLY로 설정합니다.

istio-global-proxy-accessLogFile

기본값: "" : Envoy 프록시가 액세스 정보를 표준 출력으로 인쇄합니다. 이러한 로그는 수신 또는 송신 문제를 디버그할 때 유용합니다. Envoy 컨테이너에 대해 kubectl logs 명령을 실행할 때 이 액세스 정보를 보려는 경우 "/dev/stdout"으로 설정합니다.

istio-monitoring-telemetry

기본값: "true" : 기본적으로 텔레메트리 메트릭 및 Prometheus 지원이 사용으로 설정됩니다. 텔레메트리 메트릭과 연관된 성능 문제를 제거하고 모니터링을 모두 사용 안함으로 설정하려면 "false"로 설정하십시오.

istio-meshConfig-enableTracing

기본값: "true" : 기본적으로 Istio는 100개의 요청 중 하나에 대해 추적 범위를 생성합니다. 추적 범위를 사용하지 않으려면 "false"로 설정하십시오.

istio-pilot-traceSampling
기본값: "1.0"
기본적으로 Istio 은 요청 100건 중 1건에 대해 트레이스 스팬을 생성하며, 이는 1%의 표본 추출률에 해당합니다. 추가 추적 범위를 생성하려면 백분율 값을 늘리십시오.
istio-components-pilot-hpa-maxReplicas
기본값: "5"
기본적으로 Istio istiod 의 기본 수평 포드 자동 확장기(HPA) 최대 포드 수를 5로 설정합니다. istiod 가 구성을 업데이트하기 위해 더 많은 리소스가 필요한 대규모 서비스 메시 환경이 아닌 이상, 이 값을 늘리지 마십시오.

예를 들어, Configmap은 다음 예제와 같습니다.

apiVersion: v1
data:
  istio-ingressgateway-zone-1: dal10
  <key: value> # such as istio-egressgateway-public-1-enabled: "false"
kind: ConfigMap
metadata:
  name: managed-istio-custom
  namespace: ibm-operators

configmap에 이 테이블의 옵션이 표시되지 않습니까? ConfigMap에 사용자 정의 값이 포함되어 있어 ConfigMap이 시간이 지나면서 릴리스된 옵션으로 업데이트되지 않은 것입니다. 대신 configmap의 사본을 백업한 후 클러스터에서 해당 configmap을 삭제할 수 있습니다. 약 5분 후 클러스터에 새 옵션이 포함된 기본 configmap이 작성됩니다. 이제 이전에 구성된 설정을 백업에서 이 기본 configmap으로 복사하고 새 설정을 구성한 후 변경사항을 적용할 수 있습니다.

  1. 구성 파일을 저장하고 닫으십시오.

  2. istio-global-logging-level 또는 istio-global-proxy-accessLogFile 설정을 변경한 경우, 데이터 플레인 팟(Pod)에 변경사항을 적용하려면 해당 팟을 다시 시작해야 합니다.

    1. istio-system 네임스페이스에 없는 모든 데이터 플레인 팟(Pod)의 목록을 가져오십시오.
        istioctl version --short=false | grep "data plane version" | grep -v istio-system
        ```
        출력 예
    
        ```sh {: screen}
        data plane version: version.ProxyInfo{ID:"test-6f86fc4677-vsbsf.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"rerun-xfs-f8958bb94-j6n89.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"test2-5cbc75859c-jh6bx.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"minio-test-78b5d4597d-hkpvt.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"sb-887f89d7d-7s8ts.default", IstioVersion:"1.29.5"}
        data plane version: version.ProxyInfo{ID:"gid-deployment-5dc86db4c4-kdshs.default", IstioVersion:"1.29.5"}
        ```
    2. 각 팟(Pod)을 삭제하여 다시 시작하십시오. 이전 단계의 출력에서는 팟 이름과 네임스페이스가 각 항목에 `data plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.29.5"}`(으)로 나열됩니다.
    ```sh {: pre}
        kubectl delete pod <pod_name> -n <namespace>
        ```
    
ConfigMap 설정을 변경하고 싶으신가요?
Configmap에 추가한 설정을 변경하려면 패치 스크립트를 사용할 수 있습니다. 예를 들어, istio-global-proxy-accessLogFile: "/dev/stdout" 설정을 추가했고 나중에 다시 ""로 변경하려는 경우 kubectl patch cm managed-istio-custom -n ibm-operators --type='json' -p='[{"op": "add", "path": "/data/istio-global-proxy-accessLogFile", "value":""}]'를 실행할 수 있습니다.
1.24 이상에서 사용자 지정 설정을 디버깅해야 하나요?
헬름 value.yaml 및 헬름 결과 로그는 ibm-operators 네임스페이스의 managed-istio-istiod-control-plane-values 구성 맵에서 확인할 수 있습니다. value.yaml 에서 변경 사항이 추가되었는지 확인할 수 있습니다. 헬름 결과에 구문 오류가 있는지 표시됩니다.
kubectl get cm -n ibm-operators managed-istio-istiod-control-plane-values -o json | jq -r .data.\"values.yaml\"
kubectl get cm -n ibm-operators managed-istio-istiod-control-plane-values -o json | jq -r .data.\"values.yaml.helm.result\"
Thu, 23 Oct 2025 19:58:48 GMT HELM_SUCCESS: Release "istiod" has been upgraded. Happy Helming!
NAME: istiod
LAST DEPLOYED: Thu Oct 23 19:58:42 2025
NAMESPACE: istio-system
STATUS: deployed
REVISION: 275
TEST SUITE: None
NOTES:
"istiod" successfully installed!
1.23 에서 사용자 지정 설정을 디버깅해야 하나요?
kubectl logs -n ibm-operators -l name=managed-istio-operator 을 실행하여 addon-istio-operator ( Istio 버전 1.10 ~ 1.23 ) 포드에 대한 로그를 확인합니다. Istio 오퍼레이터는 사용자에 의해 변경된 모든 사용자 정의 Istio 변경사항을 유효성 검증하고 조정합니다.

Istio 추가 기능을 사용 안함으로 설정하면 managed-istio-custom configmap이 설치 제거 중에 제거되지 않습니다. Istio 추가 기능을 다시 사용으로 설정하는 경우 사용자 정의된 configmap이 설치 중에 적용됩니다. 이후의 Istio 설치에서 사용자 정의 설정을 다시 사용하지 않으려면 kubectl delete cm -n ibm-operators managed-istio-custom을(를) 실행하여 Istio 추가 기능을 사용 안함으로 설정한 후에는 configmap을 삭제해야 합니다. Istio 추가 기능을 다시 사용으로 설정하면 기본 configmap이 설치 중에 적용됩니다.

Istio 애드온에서 커뮤니티로 마이그레이션하기 Istio

관리형 Istio 애드온 버전 1.21 ~ 1.23 을 사용하는 경우, 대신 최신 버전의 커뮤니티 Istio 로 마이그레이션할 수 있습니다.

시작하기 전에: Istio 이 더 이상 필요하지 않은 경우 이 단계를 완료하는 대신 커뮤니티를 설치하지 않고 애드온을 제거합니다. Istio 으로 이동할 수 있습니다.

1단계: 콘솔에서 Istio 애드온 비활성화하기

콘솔이나 CLI에서 해당 애드온을 비활성화하십시오.

  1. 클러스터 대시보드에서 ‘ Istio ’ 애드온을 제거하려는 클러스터의 이름을 클릭합니다.

  2. 추가 기능 섹션으로 이동하십시오.

  3. 관리 Istio 카드에서 조치 메뉴 아이콘을 클릭하십시오.

  4. 설치 제거를 클릭하십시오. 이 클러스터에서는 관리되는 Istio 애드온이 비활성화되어 있습니다.

  5. 관리 Istio 카드에서 설치 제거한 추가 기능이 더 이상 나열되지 않는지 확인하십시오.

1단계: CLI에서 Istio 애드온 비활성화하기

추가 기능을 비활성화하고 추가 Istio 추가 기능이 남아 있지 않은지 확인합니다.

  1. istio 추가 기능을 사용 안함으로 설정하십시오.
    ibmcloud ks cluster addon disable istio --cluster CLUSTER_NAME_OR_ID -f
    
  2. 이 클러스터에서 모든 관리 Istio 추가 기능이 사용 안함으로 설정되어 있는지 확인하십시오. 출력에 Istio 추가 기능이 리턴되지 않습니다.
    ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
    
  3. 다음 단계를 계속하기 전에 10분 동안 기다리십시오. 이렇게 하면 Istio 운영자의 관리를 해제할 시간이 생깁니다.

2단계: Istio 연산자 축소

Istio 오퍼레이터 배포 규모를 축소하십시오. Istio 애드온의 클러스터 내 Istio 운영자 사용에서 커뮤니티 Istio 의 istioctl 사용으로 마이그레이션할 때 두 설치 방법이 Istio 의 제어권을 놓고 싸우는 것을 피해야 합니다. 오퍼레이터를 축소하고 IOP를 삭제한 다음 오퍼레이터를 삭제하는 단계는 Istio 을 제거하지 않고 클러스터 내 오퍼레이터를 제거합니다.

다음 명령을 실행하십시오.

kubectl scale deployment -n ibm-operators addon-istio-operator --replicas=0

3단계: 리소스 절약

istio-system 네임스페이스에서 생성하거나 수정한 모든 리소스와 사용자 정의 리소스 정의(CRD)에 의해 자동으로 생성된 모든 Kubernetes 리소스를 저장하십시오.

  1. managed-istio-custom ConfigMap 을 저장하여 문제점을 해결하거나 나중에 추가 기능을 다시 설치하십시오.

    kubectl get cm -n ibm-operators managed-istio-custom -o yaml > Customizations.yaml
    
  2. 모든 IstioOperator CR (IOP) 을 저장하십시오. 클러스터 내 Istio 운영자는 클러스터 내 운영자가 IOP에 정의된 리소스를 삭제할 때까지 IOP에 파이널라이저를 사용하여 삭제를 방지합니다. Istio 을 삭제하지 않고 Istio 연산자를 제거하려면 파이널라이저를 제거해야 합니다.

    • IOP 자원을 나열하십시오.
        kubectl get iop -A
        ```
    - 나열된 각 IOP 리소스에 대해 파이널라이저를 제거합니다.
    
        `managed-istio` IOP 사용 예시:
        ```sh {: pre}
        kubectl patch -n ibm-operators istiooperator/managed-istio --type json --patch='[ { "op": "remove", "path": "/metadata/finalizers" } ]'
        ```
    - 나열된 각 IOP 자원에 대해 각 자원을 파일에 저장하십시오.
    ```sh {: pre}
        kubectl get iop -n <IOP_namespace> <IOP_name> -o yaml > <IOP_name>.yaml
        ```
    
  3. 다음 단계를 계속하기 전에 10분 동안 기다리십시오.

4단계: IOP 설치 관리자 변경하기

사용자 지정 인그레스 게이트웨이와 같은 모든 Istio 운영자(IOP) 리소스를 삭제합니다.

  1. istioctl cli 도구가 필요한 패치 버전에 있는지 확인합니다.

    istioctl version
    
  2. 이전 단계에서 저장한 각 IOP 파일에 대해 istioctl upgrade 명령을 실행하여 Istio 을 istioctl 버전과 일치하는 버전으로 업그레이드합니다. 이 명령은 또한 설치 및 업그레이드 메커니즘을 클러스터 내 연산자 사용에서 istioctl 로 변경합니다.

    istioctl upgrade -f <filename>.yaml
    

5단계: Istio 연산자 및 IOP 제거하기

Istio 운영자 배포, 서비스 계정, 클러스터 역할 바인딩, 클러스터 역할 및 모든 IOP를 삭제합니다. Istio 가 클러스터 내 Istio 운영자에서 istioctl 기반 설치로 이전되었습니다. 이제 클러스터 내 Istio 운영자 설치가 축소되는 동안 남은 부분을 정리할 수 있습니다.

  1. 다음 명령을 실행하여 Istio 운영자 배포를 삭제합니다:

    kubectl delete deployment -n ibm-operators addon-istio-operator --ignore-not-found=true
    kubectl delete serviceaccount -n ibm-operators addon-istio-operator --ignore-not-found=true
    kubectl delete clusterrolebinding addon-istio-operator --ignore-not-found=true
    kubectl delete clusterrole addon-istio-operator --ignore-not-found=true
    
  2. IOP를 삭제합니다.

    • IOP 자원을 나열하십시오.
        kubectl get iop -A
        ```
    - 나열된 각 IOP 리소스에 대해 삭제합니다:
    ```sh {: pre}
        kubectl delete IstioOperator <resource_name> -n <namespace>
        ```
    

6단계: 제거 ConfigMap

ConfigMap 은 이전에 저장되었으므로 제거할 수 있습니다.

managed-istio-custom ConfigMap 을 제거합니다.

kubectl delete cm -n ibm-operators managed-istio-custom

추가 기능 제거가 완료되었으며 필요에 따라 커뮤니티( Istio )를 계속 사용하고 업그레이드할 수 있습니다.

Istio 애드온 제거하기

Istio 작업을 모두 마쳤다면, 클러스터 내의 Istio 리소스를 정리하고 Istio 애드온을 제거할 수 있습니다.

1단계: 제거 전 리소스 저장하기

istio-system 네임스페이스에서 작성하거나 수정한 모든 리소스가 제거됩니다. 이 리소스를 보존하려면 ‘ Istio ’ 애드온을 제거하기 전에 미리 저장해 두십시오.

  1. managed-istio-custom ConfigMap 을 저장하여 문제점을 해결하거나 나중에 추가 기능을 다시 설치하십시오.

    kubectl get cm -n ibm-operators managed-istio-custom -o yaml > Customizations.yaml
    
  2. 1.23 이전 버전의 경우 모든 IstioOperator CR(IOP)을 저장하세요.

    a. IOP 자원을 나열하십시오.

    kubectl get iop -A
    

    b. 나열된 각 IOP 자원에 대해 각 자원을 파일에 저장하십시오.

    kubectl get iop -n <IOP_namespace> <IOP_name> -o yaml > <IOP_name>.yaml
    

2단계: Istio 추가 기능 설치 제거

콘솔 또는 CLI에서 추가 기능을 설치 제거하십시오. Istio 1.20 이전 버전의 경우 모든 사용자 지정 Istio 운영자(IOP) 리소스가 자동으로 삭제됩니다.

콘솔에서 Istio 추가 기능 설치 제거

  1. 클러스터 대시보드에서 ‘ Istio ’ 애드온을 제거하려는 클러스터의 이름을 클릭합니다.

  2. 추가 기능 섹션으로 이동하십시오.

  3. 관리 Istio 카드에서 조치 메뉴 아이콘을 클릭하십시오.

  4. 설치 제거를 클릭하십시오. 이 클러스터에서 관리 Istio 추가 기능이 사용 안함으로 설정되며 이 클러스터의 모든 Istio 리소스가 제거됩니다.

  5. 관리 Istio 카드에서 설치 제거한 추가 기능이 더 이상 나열되지 않는지 확인하십시오.

CLI에서 ‘ Istio ’ 애드온 제거하기

더 이상 사용되지 않는 istio-sample-bookinfoistio-extras 추가 기능을 설치하지 않은 경우에는 1단계 및 2단계를 건너뛰십시오.

  1. istio-sample-bookinfo 추가 기능을 사용 안함으로 설정하십시오.
    ibmcloud ks cluster addon disable istio-sample-bookinfo --cluster CLUSTER_NAME_OR_ID
    
  2. istio-extras 추가 기능을 사용 안함으로 설정하십시오.
    ibmcloud ks cluster addon disable istio-extras --cluster CLUSTER_NAME_OR_ID
    
  3. istio 추가 기능을 사용 안함으로 설정하십시오.
    ibmcloud ks cluster addon disable istio --cluster CLUSTER_NAME_OR_ID -f
    
  4. 이 클러스터에서 모든 관리 Istio 추가 기능이 사용 안함으로 설정되어 있는지 확인하십시오. 출력에 Istio 추가 기능이 리턴되지 않습니다.
    ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
    

3단계: 자원 제거

자원이 저장되고 추가 기능이 사용 안함으로 설정되면 자원을 제거할 수 있습니다.

  1. managed-istio-custom configmap은 설치 제거 중에 제거되지 않습니다. 나중에 Istio 추가 기능을 다시 사용으로 설정하면 configmap에 대한 사용자 정의된 설정이 설치 중에 적용됩니다. 이후 Istio 설치에서 사용자 정의 설정을 다시 사용하지 않으려면 configmap을 삭제해야 합니다.

    kubectl delete cm -n ibm-operators managed-istio-custom
    
  2. 버전 1.23 이하에서는 사용자 지정 Istio 연산자(IOP) 리소스와 IOP를 삭제합니다.

    a. 작성한 모든 사용자 정의 Istio 오퍼레이터(IOP) 리소스(예: 사용자 정의 수신 게이트웨이)를 삭제하십시오. 이 명령을 실행하면 Istio 오퍼레이터가 배치 또는 서비스와 같은, IOP 리소스가 작성한 모든 리소스를 자동으로 제거합니다.

    kubectl delete IstioOperator <resource_name> -n <namespace>
    

    b. managed-istio IOP를 삭제합니다.

    kubectl delete iop -n ibm-operators managed-istio
    
  3. 버전 1.24 이상의 경우 저장 후 addon-istio 게이트웨이 ConfigMaps, 사용자 지정 게이트웨이를 삭제하고 Istio 제어 플레인을 삭제합니다.

    a. addon-istio 게이트웨이 저장 ConfigMaps.

    kubectl get cm -n ibm-operators managed-istio-ingressgateway-values -o json | jq -r .data.\"values.yaml\" > ingress-gateway.values
    kubectl get cm -n ibm-operators managed-istio-egressgateway-values -o json | jq -r .data.\"values.yaml\" > egress-gateway.values
    

    b. addon-istio 게이트웨이 ConfigMaps 를 삭제합니다.

    kubectl delete cm -n ibm-operators managed-istio-egressgateway-values
    kubectl delete cm -n ibm-operators managed-istio-ingressgateway-values
    

    c. 사용자 지정 게이트웨이를 제거합니다.

    d. Istio 제어 평면을 삭제합니다.

    istioctl uninstall -y --purge
    

    출력:

    All Istio resources will be pruned from the cluster
    Removed apps/v1, Kind=Deployment/istiod.istio-system.
    Removed /v1, Kind=Service/istiod.istio-system.
    Removed /v1, Kind=ConfigMap/istio.istio-system.
    Removed /v1, Kind=ConfigMap/istio-sidecar-injector.istio-system.
    Removed /v1, Kind=Pod/istiod-7f59b54bfd-p5f4d.istio-system.
    Removed /v1, Kind=Pod/istiod-7f59b54bfd-zckw6.istio-system.
    Removed policy/v1, Kind=PodDisruptionBudget/istiod.istio-system.
    Removed autoscaling/v2, Kind=HorizontalPodAutoscaler/istiod.istio-system.
    Removed admissionregistration.k8s.io/v1, Kind=MutatingWebhookConfiguration/istio-sidecar-injector..
    ✔ Uninstall complete
    
  4. 다음 단계를 계속하기 전에 10분 동안 기다리십시오.

4단계: ‘ Istio ’ 연산자 제거

1.23 이전 버전의 경우 애드온을 완전히 제거한 후 Istio 연산자를 제거할 수 있습니다.

Istio 오퍼레이터 배치, 서비스 계정, 클러스터 역할 바인딩, 클러스터 역할을 삭제하십시오.

kubectl delete deployment -n ibm-operators addon-istio-operator --ignore-not-found=true
kubectl delete serviceaccount -n ibm-operators addon-istio-operator --ignore-not-found=true
kubectl delete clusterrolebinding addon-istio-operator --ignore-not-found=true
kubectl delete clusterrole addon-istio-operator --ignore-not-found=true