🐙
HelmでインストールしたArgoCDをアップグレードする
概要
Helmを使ってKubernetes(K8s)クラスタにArgoCDを導入することがあると思います。
本記事では、定期的に発生するアップグレードのやり方を示します。
前提
K8sクラスタにHelmを使ってArgoCDが導入済であること
> helm repo add argo https://argoproj.github.io/argo-helm
> helm install -n argocd argocd argo/argo-cd
アップグレード前に破壊的変更がないことを確認済であること
-
公式ドキュメント
https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/2.9-2.10/ -
artifacthubのCHANGELOG
作業対象のクラスタの認証情報を取得済であること
- minikubeの場合
> kubectx minikube
Switched to context "minikube".
アップグレード作業
1. 現在のバージョン確認
今回は、2.9系から2.11系(2024/07現在最新)にアップグレードしたいと思います。
> helm ls -n argocd
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
argocd argocd 1 2023-12-08 12:05:07.607549 +0900 JST deployed argo-cd-5.51.6 v2.9.3
2. アップグレード
Helmのコマンドは以下のようになっています。
helm upgrade [リソース名] -n [ArgoCDを導入したNamespace名] [Chart名] -- version [Chartのバージョン]
ここで注意しなければならない点は、-- version
で指定するのがArgoCDのバージョンではなく、ArgoCDのChartのバージョンである点です。
Chartのバージョンは、前述しているartifacthubのCHANGELOGから確認することが可能です。
コマンドを実行し、以下のように表示されれば成功です。
> helm upgrade argocd -n argocd argo/argo-cd --version 7.3.4
Release "argocd" has been upgraded. Happy Helming!
NAME: argocd
LAST DEPLOYED: Thu Jul 11 00:58:39 2024
NAMESPACE: argocd
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
In order to access the server UI you have the following options:
1. kubectl port-forward service/argocd-server -n argocd 8080:443
and then open the browser on http://localhost:8080 and accept the certificate
2. enable ingress in the values file `server.ingress.enabled` and either
- Add the annotation for ssl passthrough: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#option-1-ssl-passthrough
- Set the `configs.params."server.insecure"` in the values file and terminate SSL at your ingress: https://argo-cd.readthedocs.io/en/stable/operator-manual/ingress/#option-2-multiple-ingress-objects-and-hosts
After reaching the UI the first time you can login with username: admin and the random password generated during the installation. You can find the password by running:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
(You should delete the initial secret afterwards as suggested by the Getting Started Guide: https://argo-cd.readthedocs.io/en/stable/getting_started/#4-login-using-the-cli)
>
3. アップグレード後
念の為、アップグレードしたバージョンになっているか確認します。
ChartとArgoCD共にアップグレードされていることが確認できました。
> helm ls -n argocd
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
argocd argocd 2 2024-07-11 00:58:39.711598 +0900 JST deployed argo-cd-7.3.4 v2.11.4
まとめ
- HelmでインストールしたArgoCDのアップグレード方法を示しました。
- 破壊的変更がなければ簡単にアップグレード可能なことを確認しました。
Discussion