> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SambaStack のアップグレード

本ガイドでは、以下の 2 種類のデプロイメントタイプについて、SambaStack を安全にアップグレードする手順を解説します。

* **Hosted (ホステッド)**: `kubectl` / ConfigMap 駆動のインストール。インストーラーが `sambastack` ConfigMap を監視し、指定されたバージョンへ自動的に調整 (reconcile) します。
* **On-Prem (オンプレミス)**: Helm 駆動のインストール。独自の values ファイルを使用して、SambaNova の OCI レジストリに対して `helm upgrade` を直接実行します。

デプロイメントタイプごとに、前提条件、アップグレード手順、検証手順が異なります。お使いの環境に対応するタブのみに従ってください。

> [!WARNING]
>
> アップグレードの前に: バージョンによっては、アップグレードに伴い推論エンドポイントの再起動やダウンタイムが必要になる場合があります。作業を進める前に、SambaNova の担当者にお問い合わせください。

> [tab] SambaStack オンプレミス
>
> オンプレミスのインストールでは、チャートバージョンと既存の values ファイルを指定して `helm upgrade` を使用します。
>
> ## 前提条件
>
> > [card] GCP サービスアカウント
> >
> > SambaNova OCI レジストリへのアクセス権を持つ有効なキーファイル。
>
> > [card] gcloud CLI
> >
> > ローカルマシンに `gcloud` がインストールおよび設定済みであること。
>
> > [card] Helm CLI
> >
> > ローカルマシンに `helm` がインストールおよび設定済みであること。
>
> > [card] values ファイル
> >
> > ターゲットバージョンに合わせて更新した `sambastack.yaml`。
>
> > [!NOTE]
> >
> > OCI レジストリのパスと認証情報については、[support.sambanova.ai](https://support.sambanova.ai) の KB 記事 **SambaStack OCI Registry Access Guide** を参照するか、[help@sambanova.ai](mailto:help@sambanova.ai) までメールでお問い合わせください。
>
> ***
>
> ## アップグレード手順
>
> **1. 現在のバージョンとクラスターの状態の確認**
>
> 作業を進める前に、現在インストールされているチャートバージョンを確認し、すべての Pod が正常であることを確認します。
>
> ```bash theme={}
> helm list -n sambastack
> ```
>
> 期待される出力:
>
> ```bash theme={}
> NAME             NAMESPACE    REVISION  STATUS    CHART                 APP VERSION
> sambastack       sambastack   1         deployed  sambastack-1.4.0      1.4.0
> sambastack-base  sambastack   1         deployed  sambastack-base-1.4.0 1.4.0
> ```
>
> 次に、すべての Pod が実行中であることを確認します。
>
> ```bash theme={}
> kubectl get pods -n sambastack
> ```
>
> > [!WARNING]
> >
> > `Running` 以外の状態の Pod がある場合は、先に進まないでください。劣化した状態のクラスターをアップグレードすると、復旧が難しくなる可能性があります。まず既存の問題を解決してください。
>
> > [!NOTE]
> >
> > 現在のバージョンを記録しておいてください。ロールバックが必要になった場合に使用します。
>
> **2. GCP での認証**
>
> キーファイルを使用してサービスアカウントを有効化します。
>
> ```bash theme={}
> gcloud auth activate-service-account --key-file=<SERVICE_ACCOUNT_PATH>
> ```
>
> > [!NOTE]
> >
> > `<SERVICE_ACCOUNT_PATH>` は、JSON キーファイルのフルパスに置き換えてください (例: `/home/user/sa-key.json`)。
>
> **3. 利用可能なバージョンの一覧表示 (任意)**
>
> SambaNova OCI レジストリで利用可能なバージョンを確認します。
>
> ```bash theme={}
> gcloud artifacts docker tags list <REGISTRY_PATH>
> ```
>
> > [!NOTE]
> >
> > `<REGISTRY_PATH>` は、お使いの OCI レジストリパスに置き換えてください (例: `us-docker.pkg.dev/sambanova-registry/sambastack`)。
>
> > [!TIP]
> >
> > SambaNova からターゲットバージョンが正確に伝えられている場合は、このステップをスキップしてください。
>
> **4. ターゲットバージョンの設定**
>
> ターゲットバージョンを環境変数としてエクスポートします。
>
> ```bash theme={}
> NEW_VERSION="<NEW_VERSION>"
> ```
>
> > [!NOTE]
> >
> > `<NEW_VERSION>` は、実際のバージョン文字列に置き換えてください (例: `1.5.2`)。
>
> **5. OCI レジストリでの Helm の認証**
>
> GCP のアクセストークンを使用してログインします。
>
> ```bash theme={}
> gcloud auth print-access-token | helm registry login \
>   -u oauth2accesstoken \
>   --password-stdin <REGISTRY_HOST>
> ```
>
> > [!NOTE]
> >
> > `<REGISTRY_HOST>` は、お使いのレジストリドメインに置き換えてください (例: `us-docker.pkg.dev`)。
>
> **6. sambastack-base のアップグレード**
>
> base の Helm チャートをターゲットバージョンにアップグレードします。
>
> ```bash theme={}
> helm upgrade \
>   --install \
>   --create-namespace \
>   --version $NEW_VERSION \
>   --namespace sambastack \
>   sambastack-base \
>   oci://<REGISTRY_PATH>/sambastack-base
> ```
>
> > [!NOTE]
> >
> > `<REGISTRY_PATH>` は、お使いの OCI レジストリパスに置き換えてください (例: `us-docker.pkg.dev/sambanova-registry/sambastack`)。
>
> **7. 新バージョンに合わせた sambastack.yaml の更新**
>
> `<NEW_VERSION>` の [SambaStack リリースノート](https://docs.sambanova.ai/docs/ja/release-notes/sambastack.md) を確認し、アップグレードを実行する前に、必要な設定変更を `sambastack.yaml` に適用してください。新しいバージョンでは、フィールドの追加・名称変更・削除が行われる場合があります。
>
> > [!TIP]
> >
> > 現在の `sambastack.yaml` をリリースノートのサンプル設定と比較 (diff) して、新たに必要になったフィールドがないか確認してください。
>
> **8. sambastack のアップグレード**
>
> 更新した values ファイルを使用して、メインのチャートをアップグレードします。
>
> ```bash theme={}
> helm upgrade \
>   --install \
>   --create-namespace \
>   --values sambastack.yaml \
>   --version $NEW_VERSION \
>   --namespace sambastack \
>   sambastack \
>   oci://<REGISTRY_PATH>/sambastack
> ```
>
> > [!NOTE]
> >
> > `<REGISTRY_PATH>` は、お使いの OCI レジストリパスに置き換えてください (例: `us-docker.pkg.dev/sambanova-registry/sambastack`)。
>
> **9. アップグレードの検証**
>
> リリースのステータスを確認し、すべての Pod が実行中であることを確認します。
>
> ```bash theme={}
> helm status sambastack -n sambastack
> ```
>
> ```bash theme={}
> kubectl get pods -n sambastack
> ```
>
> 数分以内に、すべての Pod が `Running` 状態になるはずです。

> [tab] SambaStack Hosted
>
> Hosted のインストールでは、`sambastack.yaml` 設定を含む ConfigMap (通常は `sambastack` という名前) を監視するインストーラーを使用します。
>
> ## 前提条件
>
> > [card] クラスターアクセス
> >
> > 適切な権限を持つ Kubernetes クラスターへのアクセス。
>
> > [card] ターゲットバージョン
> >
> > SambaNova の担当者に確認済みの `<NEW_VERSION>`。
>
> > [card] 設定のバックアップ
> >
> > 現在の `sambastack.yaml` のバックアップ (推奨)。
>
> ***
>
> ## アップグレード手順
>
> **1. 現在のバージョンの確認**
>
> 変更を加える前に、現在実行中のバージョンを確認します。
>
> ```bash theme={}
> kubectl describe configmap sambastack -n sambastack | grep version
> ```
>
> > [!NOTE]
> >
> > 現在のバージョンを記録しておいてください。ロールバックが必要になった場合に使用します。
>
> **2. ConfigMap のバージョンの更新**
>
> 最初は新しいバージョン**のみ**を設定し、アップグレードが完了するまで他のセクションは変更しないでください。
>
> ```yaml sambastack-configmap.yaml theme={}
> apiVersion: v1
> kind: ConfigMap
> metadata:
>   name: sambastack
>   labels:
>     sambastack-installer: "true"
> data:
>   sambastack.yaml: |
>     version: <NEW_VERSION>
> ```
>
> 更新した ConfigMap を適用します。
>
> ```bash theme={}
> kubectl apply -f sambastack-configmap.yaml
> ```
>
> > [!TIP]
> >
> > インストーラーログをリアルタイムで監視します。
> >
> > ```bash theme={}
> > kubectl logs -n sambastack-installer -l sambanova.ai/app=sambastack-installer -f
> > ```
>
> **3. アップグレードの検証**
>
> 対象の名前空間で、すべての Pod が実行中であることを確認します。
>
> ```bash theme={}
> kubectl get pods -n sambastack
> ```
>
> 数分以内に、すべての Pod が `Running` 状態になるはずです。

***

## ロールバック

以前のバージョンに戻す必要がある場合は、ステップ 1 で記録したバージョンを使用して、以下のコマンドを実行します。

> [tab] SambaStack オンプレミス
>
> 以前のバージョンを指定して、両方の `helm upgrade` コマンドを再実行します。
>
> ```bash theme={}
> helm upgrade \
>   --install \
>   --create-namespace \
>   --version <PREVIOUS_VERSION> \
>   --namespace sambastack \
>   sambastack-base \
>   oci://<REGISTRY_PATH>/sambastack-base
> ```
>
> ```bash theme={}
> helm upgrade \
>   --install \
>   --create-namespace \
>   --values sambastack.yaml \
>   --version <PREVIOUS_VERSION> \
>   --namespace sambastack \
>   sambastack \
>   oci://<REGISTRY_PATH>/sambastack
> ```
>
> > [!NOTE]
> >
> > 実行前に、`sambastack.yaml` が `<PREVIOUS_VERSION>` の想定する設定と一致していることを確認してください。

> [tab] SambaStack Hosted
>
> ConfigMap を編集して以前のバージョンを設定し、再適用します。
>
> ```yaml theme={}
> data:
>   sambastack.yaml: |
>     version: <PREVIOUS_VERSION>
> ```
>
> ```bash theme={}
> kubectl apply -f sambastack-configmap.yaml
> ```

> [!WARNING]
>
> ロールバックしても期待どおりの動作に戻らない場合は、それ以上の変更を行わず、SambaNova のサポート窓口にお問い合わせください。下記の [サポート](#サポート) をご覧ください。

***

## サポート

> [card] [サポートポータル](https://support.sambanova.ai)
>
> support.sambanova.ai で、KB 記事の閲覧やサポートチケットの発行ができます。

> [card] [メールサポート](mailto:help@sambanova.ai)
>
> レジストリアクセスやアップグレードに関する問題は、[help@sambanova.ai](mailto:help@sambanova.ai) までお問い合わせください。
