Engineering/k8s

Service mesh(istio) upgrade 하기

망고v 2024. 1. 23. 13:38

istio upgrade가 필요한 경우, 아래와 같이 진행 가능하다.

 

version 확인

➜  ~ istioctl version
client version: 1.17.1
control plane version: 1.14.1
data plane version: 1.14.1 (1 proxies)

 

 

https://istio.io/latest/docs/setup/upgrade/in-place/

upgrade 사전 확인

➜  ~ istioctl x precheck
✔ No issues found when checking the cluster. Istio is safe to install or upgrade!
  To get started, check out https://istio.io/latest/docs/setup/getting-started/

 

Docker image만 변경해보기

Control Plane

  • Deployments: istio-system/istiod
  • 변경내용: image: docker.io/istio/pilot:1.14.1 -> image: docker.io/istio/pilot:1.18.2
➜  ~ i version
client version: 1.17.1
control plane version: 1.18.2
data plane version: 1.18.2 (1 proxies)

 

Data Plane

  • Configmaps: istio-system/istio-sidecar-injector
  • 변경내용: "tag": 1.14.1 에서 1.18.2로 수정
➜  ~ i version
client version: 1.17.1
control plane version: 1.14.1
data plane version: 1.18.2 (1 proxies)

 

 

결론

Docker image만 변경해도 어느 정도의 upgrade는 달성 가능. istioctl Client를 무조건 변경(upgrade)할 필요는 없을 것으로 판단. 하지만 호환성 측면에서는 client도 업그레이드하는 것이 나을 듯.

 

 

기타.

Client upgrade가 필요한 경우

몇 가지 version에서 upgrade를 진행하려고 하니 Data Plane 같은 경우, property 호환 이슈로 client의 upgrade 선행 필요. 

 

Tool 다운로드 및 설치

https://istio.io/latest/docs/ops/diagnostic-tools/istioctl/ 

➜  ~ istioctl version
client version: 1.20.2
control plane version: 1.17.1
data plane version: 1.17.1 (1 proxies)

 

istio upgrade

k8s version에 대한 호환성 이슈가 있는 것으로 보이나, 특별히 이슈는 발견되지 않음. cluster 지원 version은 확인하고 upgrade하기.

https://istio.io/latest/docs/releases/supported-releases/#support-status-of-istio-releases

➜  ~ istioctl upgrade

The Kubernetes version v1.24.17-eks-8cb36c9 is not supported by Istio 1.20.2. The minimum supported Kubernetes version is 1.25.
Proceeding with the installation, but you might experience problems. See https://istio.io/latest/docs/setup/platform-setup/ for a list of supported versions.

WARNING: Istio is being upgraded from 1.17.1 to 1.20.2.
         Running this command will overwrite it; use revisions to upgrade alongside the existing version.
         Before upgrading, you may wish to use 'istioctl x precheck' to check for upgrade warnings.
This will install the Istio 1.20.2 "default" profile (with components: Istio core, Istiod, and Ingress gateways) into the cluster. Proceed? (y/N) y
✔ Istio core installed
✔ Istiod installed
✔ Ingress gateways installed
✔ Installation complete                                                                                                                                                                                                                 Made this installation the default for injection and validation.

 

확인

➜  ~ istioctl version
client version: 1.20.2
control plane version: 1.20.2
data plane version: 1.20.2 (1 proxies)

'Engineering > k8s' 카테고리의 다른 글

CNI(cilium) helm 재설치  (0) 2024.05.02
kubernetes CSI 설치(aws EBS)  (0) 2024.03.19
Hubble UI(cilium) 설정하기  (0) 2024.03.11
kubernetes worker node 수동 추가  (0) 2024.03.08
kubernetes cluster 수동 설치(w/aws)  (0) 2024.03.08