> ## 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.

# クイックスタート - オンプレミス

本ガイドでは、認証、名前空間の作成、Secret の設定、Helm によるデプロイなど、オンプレミス版 SambaStack をセットアップする基本的な手順を解説します。

## SambaStack オンプレミスのアーキテクチャ

![SambaStack オンプレミスデプロイメントのアーキテクチャ図](https://mintcdn.com/sambanova-systems/emEy6D0rW6i9bD6c/images/docs/admin/sambastack-on-prem.png?fit=max\&auto=format\&n=emEy6D0rW6i9bD6c\&q=85\&s=f418c22cee9b622aea0341afa548b2e3)

この図は、5 つの接続フローを示しています。

**推論リクエスト**

1. ユーザーと開発者は、ロードバランサーを経由してデータセンターネットワークにリクエストを送信します
2. データセンターネットワークは、100G/400G のフロントエンドネットワークを介して SambaRack クラスターにトラフィックをルーティングします
3. フロントエンドネットワークは、Core Services Rack と、推論を実行する SambaRack SN40L-16 ユニットにリクエストを届けます

**管理**

* 管理者は、2 つの独立したネットワークからクラスターにアクセスします。クラスター運用にはフロントエンドネットワークを、アウトオブバンド (out-of-band) のハードウェアアクセスには専用の 1Gbps 管理ネットワークを使用します
* SMS ノードと SambaRack SN40L-16 ユニットも、いずれも管理ネットワークに接続されます

**周辺インフラ**

* ストレージと、お客様が管理する 3 つのサービス – AUTH (OIDC)、DNS、NTP – がデータセンターネットワークに接続されます

**モデルとソフトウェアの配信**

* SambaNova のアーティファクトリポジトリ (GCP 上でホスト) は、チェックポイントとソフトウェア更新を CP ノードに直接配信します。これはデータセンターネットワークを完全にバイパスする、独立した直接経路です

**クラスター内部通信**

* SambaRack SN40L-16 ユニット同士は、専用の SambaRack クラスタープライベートネットワークを介して相互に通信します

## 前提条件

このセクションでは、SambaStack をデプロイするための前提条件を示し、必要な認証情報と設定の入手方法を説明します。

> [!NOTE]
>
> SambaNova は、ハードウェアの前提条件 (ロードバランサーの設定など) と OS の設定要件 (NTP サーバーなど) を、SambaNova のサイトサーベイ (site survey) を通じて収集します。詳細は SambaNova の担当者にお問い合わせください。

> [!NOTE]
>
> SambaRack SN40L-16 システムは、12TB または 4TB の DDR メモリ構成でデプロイできます。メモリ容量が混在するクラスターも、クラスター全体で低い方のメモリ上限を使用するように設定されていればサポートされます。新規出荷される SN40L-16 ハードウェアはすべて 4TB の DDR メモリ構成です。既存の 12TB システムは、同一構成のクラスターでデプロイされている場合、引き続きフル容量で運用できます。SambaNova 提供のバンドルは 4TB システムで検証されています。また、SambaStack はクラスターレベルでのメモリ上限の適用にも対応しており、バンドル構成が宣言されたノード容量に収まることを保証できます。

1. 本ガイドは、Kubernetes クラスターがすでに構築されていることを前提としています。
2. API と UI のエンドポイント用に、2 つの TLS 証明書と DNS 名を用意する必要があります:
   * `api.<your-domain>` – 証明書と秘密鍵
   * `ui.<your-domain>` – 証明書と秘密鍵
3. 証明書は、次のいずれかの形式で用意する必要があります:
   * 個別の証明書 2 枚 (ホスト名ごとに 1 枚)、または
   * 両方をカバーする単一のワイルドカード証明書 (例: `*.example.com`)
   > [!NOTE]
   >
   > 自己署名証明書は、本番環境ではサポートされません
   > [!NOTE]
   >
   > 証明書は、Let's Encrypt、DigiCert、貴組織の内部 CA など、信頼できる認証局 (CA) が発行したものである必要があります
4. 次のツールがインストールされていることを確認してください:

   * [**Helm**](https://helm.sh/docs/intro/install/)
   * [**kubectl**](https://kubernetes.io/docs/tasks/tools/)
   * [**Google Cloud CLI (gcloud)**](https://docs.cloud.google.com/sdk/docs/install-sdk)

   | 要件 | 仕様 |
   | :- | :- |
   | Kubernetes バージョン | RKE2 v1.35.5+ |
   | Helm バージョン | v3.19+ (推奨) |
   | コントロールプレーン | Core Services Rack (CSR) に SambaStack 用のコントロールプレーンが 3 つ含まれます |
   | データプレーン | SambaRack ワーカーノードがデータプレーンとして機能します |
5. SambaNova から以下を受領していることを確認してください
   1. Helm チャートの OCI レジストリ URL
      | チャート | レジストリ URL |
      | :- | :- |
      | SambaStack Base | `oci://<REGISTRY_URL>/sambastack/sambastack-base` |
      | SambaStack | `oci://<REGISTRY_URL>/sambastack/sambastack` |
      | SambaStack Models | `oci://<REGISTRY_URL>/sambastack/sambastack-models` |
      > [!NOTE]
      >
      > 完全なレジストリ URL、`service-account-key` ファイル、バージョン番号は、引き渡し時に SambaNova から提供されます。アクセス認証情報については、SambaNova の担当者にお問い合わせください。
      > [!NOTE]
      >
      > バージョン番号は、チャートの新規リリースごとに変わります。現在のインストールバージョンは、SambaNova の担当者にご確認ください。
   2. 設定ファイル
      * お使いのデプロイメント用のサンプル `sambastack.yaml` ファイル - 本ガイドでは、ゼロから作成する方法も示します。
      * `sambastack-models` のインストール用の、モデルチャートのサンプル values ファイル (例: `models-values.yaml`)。
   3. Google Cloud サービスアカウントのキーファイル。このファイルは、次の作成に使用します:
      * イメージプル用の Secret (Image Pull Secret)
      * アーティファクト読み取り用の Secret (Artifact reader secret)

## セットアップ

### 1. クラスターの認証と設定

1. sambastack 名前空間を作成します
   ```shellscript theme={}
   kubectl create namespace sambastack
   ```
2. Google Cloud サービスアカウントの JSON キーを使用して、Artifact Registry からイメージをプルするための Docker レジストリ Secret を作成します:
   ```shellscript theme={}
   kubectl create secret docker-registry regcred \
     --docker-server=us-docker.pkg.dev \
     --docker-username=_json_key \
     --docker-password="$(cat <service-account-key>.json)" \
     --namespace sambastack
   ```
3. Google Cloud Storage からモデルアーティファクトを読み取るための Secret を作成します:
   ```shellscript theme={}
   kubectl create secret generic sambanova-artifact-reader \
     --from-file=GOOGLE_APPLICATION_CREDENTIALS=<service-account-key>.json \
     --namespace sambastack
   ```
4. スケジューリングのために、各 RDU ノードにラベルを付与します。冪等性を確保するため `--overwrite` を付けます:
   ```shellscript theme={}
   kubectl label nodes <NODE_NAME> snRduArch=sn40-16 --overwrite
   ```
   クラスター内の各ノードに対して、このコマンドを繰り返します。

### 2. `sambastack.yaml` の設定

1. 最小構成の `sambastack.yaml` ファイルを作成します:
   ```yaml theme={}
   gateway:
     replicas: 3
     ingress:
       hosts:
         - host: api.<yourdomain>
           tlsSecretName: tls-cert
   cloud-ui:
     replicas: 3
     ingress:
       hosts:
         - host: ui.<yourdomain>
           tlsSecretName: tls-cert
   global:
     extraEnv:
      - name: "DDR_PER_RDU_GB"
        value: "256"
   ```
   > [!NOTE]
   >
   > SambaRack SN40L-16 システムの DDR メモリは 12TB または 4TB のいずれかですが、新規出荷されるシステムはすべて 4TB です。クラスターのメモリ上限はこれに合わせて設定し、ノードタイプが混在する場合は低い方の上限を使用してください。
   > \[!NOTE]
   >
   > 完全な例は [SambaStack.yaml リファレンス](/docs/ja/v2.0.2/sambastack/resources/sambastack-yaml.md) をご覧ください。
2. モデルチャート用の `models-values.yaml` ファイルを設定します:
   ```yaml theme={}
   modelBundleSpecs:
     - name: cd-dyt-gpt-oss-120b-8-32-64-128k
   modelDeploymentSpecs:
     - name: cd-dyt-gpt-oss-120b-8-32-64-128k
       groups:
         - name: default
           minReplicas: 1
           qosList: [web, free]
   ```
   > [!NOTE]
   >
   > このファイルは、クエリ可能なバンドルをデプロイします。`modelBundleSpecs` は、提供されているモデルバンドルのうちどれをレンダリングするかを選択し、`modelDeploymentSpecs` はそれらをデプロイします。name はバンドル名と一致している必要があります。使用できるすべてのキーについては、[モデル構成](/docs/ja/v2.0.2/sambastack/resources/sambastack-yaml.md#モデル構成) をご覧ください。

### 3. Helm へのログインとインストール

1. Google Cloud サービスアカウントを使用して、Helm レジストリに認証します:
   ```shellscript theme={}
   export GOOGLE_APPLICATION_CREDENTIALS="<path/to/sa.json>"
   gcloud auth activate-service-account --key-file="$GOOGLE_APPLICATION_CREDENTIALS"
   helm registry login -u oauth2accesstoken -p "$(gcloud auth print-access-token)" us-docker.pkg.dev
   ```
2. ベースチャート、メインの SambaStack チャート、[モデルチャート](/docs/ja/v2.0.2/sambastack/service-administration/model-deployment/models-chart.md) を、**この順序で**インストールします:
   ```shellscript theme={}
   helm upgrade \
     --install \
     --namespace sambastack \
     --version <NEW_VERSION> \
     sambastack-base \
     oci://<REGISTRY_URL>/sambastack/sambastack-base
   helm upgrade \
     --install \
     --namespace sambastack \
     --version <NEW_VERSION> \
     sambastack \
     -f sambastack.yaml \
     oci://<REGISTRY_URL>/sambastack/sambastack
   helm upgrade \
     --install \
     --namespace sambastack \
     --version <NEW_VERSION> \
     sambastack-models \
     -f models-values.yaml \
     oci://<REGISTRY_URL>/sambastack/sambastack-models
   ```

> [!NOTE]
>
> チャートは上記の順序でインストールしてください。`sambastack-base` → `sambastack` → `sambastack-models` が推奨される順序です。

> [!NOTE]
>
> 完全なレジストリ URL とバージョン番号は、引き渡し時に SambaNova から提供されます。アクセス認証情報については、SambaNova の担当者にお問い合わせください。

> [!NOTE]
>
> バージョン番号は、チャートの新規リリースごとに変わります。SambaNova の担当者から提供されたバージョン番号を使用してください。

> [!NOTE]
>
> インストール後に作成される Pod の詳細については、[**Pod リファレンス**](/docs/ja/v2.0.2/sambastack/resources/pods-reference.md) の表をご参照ください。

### 4. リリースのインストール確認

名前空間内の Helm リリースを一覧表示します。

```shellscript theme={}
helm list -n sambastack
```

3 つのリリースがすべて `deployed` ステータスで表示されるはずです。

```text theme={}
NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART
sambastack              sambastack      1               2026-08-03 23:04:02.420712843 +0000 UTC deployed        sambastack-2.0.2
sambastack-base         sambastack      1               2026-08-03 23:03:57.430800565 +0000 UTC deployed        sambastack-base-2.0.2
sambastack-models       sambastack      1               2026-08-03 23:04:26.348617238 +0000 UTC deployed        sambastack-models-2.0.2
```

### 5. Pod の稼働確認

1. 次のコマンドを実行して、クラスターで稼働しているすべての Pod を確認します:
   ```shellscript theme={}
   kubectl -n sambastack get pods
   ```
2. すべての Pod が `Running` であることを確認します。応答は次のようになります。
   ```text theme={}
   NAME                                              READY   STATUS      RESTARTS        AGE
   auth-and-billing-5f7f9cc8db-4mlnx                 2/2     Running     0               20m
   auth-and-billing-5f7f9cc8db-lmts8                 2/2     Running     0               20m
   auth-and-billing-5f7f9cc8db-rztfp                 2/2     Running     0               20m
   cloud-ui-76d458db46-2k2ws                         1/1     Running     0               20m
   cloud-ui-76d458db46-2z7jd                         1/1     Running     0               20m
   cloud-ui-76d458db46-rsx4p                         1/1     Running     0               20m
   debug-pod                                         1/1     Running     0               20m
   gateway-7464677785-7kpvf                          4/4     Running     0               20m
   gateway-7464677785-cm47v                          4/4     Running     0               20m
   gateway-7464677785-kntm8                          4/4     Running     0               20m
   inf-cd-dyt-gpt-oss-120b-8-32-64-128k-cache-0             1/1     Running     0               20m
   inf-cd-dyt-gpt-oss-120b-8-32-64-128k-q-default-n-0       2/2     Running     0               20m
   inf-operator-0                                    1/1     Running     0               20m
   inference-router-77c7cccd5b-dkxzc                 1/1     Running     0               20m
   keycloak-0                                        1/1     Running     0               20m
   keycloak-operator-574d46bf79-wh8fr                1/1     Running     0               20m
   sambastack-cloudnative-pg-cff97c7c5-fxznp         1/1     Running     0               20m
   sambastack-global-queue-redis-master-0            2/2     Running     0               20m
   sambastack-localpv-provisioner-77558bf687-dsqnr   1/1     Running     0               20m
   sambastack-postgres-1                             1/1     Running     0               20m
   sambastack-postgres-2-join-l7scz                  1/1     Running     0               20m
   sambastack-response-queue-redis-master-0          2/2     Running     0               20m
   ```
   > [!NOTE]
   >
   > すべての Pod が目的の `Running` 状態になるまで、通常 5〜10 分程度かかります。
   > \[!NOTE]
   >
   > 詳細は [**Pod リファレンス**](/docs/ja/v2.0.2/sambastack/resources/pods-reference.md) の表をご覧ください。

**6. ユーザーと API キーの作成**

> [!NOTE]
>
> このクイックスタートガイドでは、すぐに使い始められるよう、デフォルトの Keycloak 認証設定を使用します。カスタム認証を設定する場合は、[認証ページ](/docs/ja/v2.0.2/sambastack/service-administration/platform-admin/authentication.md) をご覧ください。

1. Keycloak の `temp-admin` 認証情報を取得します:
   ```shellscript wrap theme={}
   kubectl -n sambastack get secret keycloak-initial-admin -o go-template='username: {{.data.username | base64decode}} password: {{.data.password | base64decode}}'
   ```
2. Keycloak をポートフォワードします
   ```shellscript theme={}
   kubectl -n sambastack port-forward svc/keycloak-service 8080
   ```
3. 上記の `temp-admin` 認証情報を使用して、`http://localhost:8080/` から Keycloak にログインします。![Keycloak のログイン画面](https://mintcdn.com/sambanova-systems/emEy6D0rW6i9bD6c/images/docs/admin/keycloak/keycloak-login.png?fit=max\&auto=format\&n=emEy6D0rW6i9bD6c\&q=85\&s=9ef76c43c13e5579b2abee207e901dde)
4. 管理者ユーザーを作成します ![Keycloak でのユーザー作成](https://mintcdn.com/sambanova-systems/emEy6D0rW6i9bD6c/images/docs/admin/keycloak/keycloak-create-user.png?fit=max\&auto=format\&n=emEy6D0rW6i9bD6c\&q=85\&s=e5e37abf9aa061333cdf4bebb4fec115)
5. 管理者ロールを割り当てます ![Keycloak でのロールの割り当て](https://mintcdn.com/sambanova-systems/emEy6D0rW6i9bD6c/images/docs/admin/keycloak/keycloak-assign-roles.png?fit=max\&auto=format\&n=emEy6D0rW6i9bD6c\&q=85\&s=8a01d0ae2508685a89d6827f0bef5407) ![Keycloak での管理者ロールの割り当て](https://mintcdn.com/sambanova-systems/emEy6D0rW6i9bD6c/images/docs/admin/keycloak/keycloak-assign-admin-role.png?fit=max\&auto=format\&n=emEy6D0rW6i9bD6c\&q=85\&s=1603e448ed5eb576c9d49773c854155d)
6. 管理者の認証情報を設定します ![Keycloak でのパスワード設定](https://mintcdn.com/sambanova-systems/emEy6D0rW6i9bD6c/images/docs/admin/keycloak/keycloak-set-password.png?fit=max\&auto=format\&n=emEy6D0rW6i9bD6c\&q=85\&s=6a5cd1b6fe937a1b2935b800d410b711)
7. 管理者ユーザーのメールアドレスを、`sambastack.yaml` の `auth-and-billing` セクションに追加します:
   ```yaml theme={}
   auth-and-billing:
     admins:
     - temp-admin@cluster.local
     - <admin-user-email>
   ```
   > [!WARNING]
   >
   > このリストは、v2.0.2 でルートレベルの `db-admin:` ブロックから移動しました。残された `db-admin:` ブロックはエラーにならずに無視されるため、`auth-and-billing` の下に移動するまで、これらのメールアドレスには Admin UI へのアクセス権が付与されません。
   > \[!NOTE]
   >
   > 完全な例は [SambaStack.yaml リファレンス](/docs/ja/v2.0.2/sambastack/resources/sambastack-yaml.md) をご覧ください。
8. `ui.<your-domain>` にアクセスし、上記で取得したユーザー認証情報でログインします。![インストールガイド 1](https://mintcdn.com/sambanova-systems/emEy6D0rW6i9bD6c/images/docs/admin/install-guide-1.png?fit=max\&auto=format\&n=emEy6D0rW6i9bD6c\&q=85\&s=80ee76c964cde8ee7eac344c225747cf)
9. API キーを作成し、安全に保管します: ![インストールガイド 2](https://mintcdn.com/sambanova-systems/emEy6D0rW6i9bD6c/images/docs/admin/install-guide-2.png?fit=max\&auto=format\&n=emEy6D0rW6i9bD6c\&q=85\&s=e5d9545ad967d7de08f40ceb0c256309)

**7. デプロイ済みモデルバンドルへのクエリ**

1. API キーを設定します:
   ```shellscript theme={}
   export SAMBANOVA_API_KEY='<API key from step 5>'
   ```
2. cURL または Python スクリプトのいずれかで、デプロイ済みのモデルバンドルに対してテストクエリを実行します:

**cURL**

次の cURL コマンドを実行します

```shellscript theme={}
curl https://api.<your-domain>/v1/chat/completions \
  -H "Authorization: Bearer $SAMBANOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-oss-120b",
    "messages": [
      {"role": "system", "content": "You are a concise assistant."},
      {"role": "user", "content": "Say hi in one sentence and comment on the weather."}
    ],
    "temperature": 0.2,
    "max_tokens": 128,
    "stream": false
  }'
```

応答は次のようになります。

```json theme={}
{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "message": {
        "content": "Hi there, it's a sunny day today!",
		"reasoning": "The user wants a short response: \"Say hi in one sentence and comment on the weather.\" So we need to produce a single sentence that says hi and comments on the weather. Must be concise. So something like \"Hi there! It's a sunny day today.\" That's two sentences. Need one sentence. Could be \"Hi there–it's a sunny day today!\" That's one sentence with dash. Or \"Hi there, it's a sunny day today!\" That's one sentence with comma. That works. Provide that.",
        "role": "assistant"
      }
    }
  ],
  "created": 1770927918,
  "id": "c754b468-05e1-4fe4-8a28-f51ecc74f4f2",
  "model": "gpt-oss-120b",
  "object": "chat.completion",
  "system_fingerprint": "fastcoe",
  "usage": {
    "completion_tokens": 121,
	"completion_tokens_after_first_per_sec": 500.6027126944832,
    "completion_tokens_after_first_per_sec_first_ten": 502.05732024083596,
    "completion_tokens_after_first_per_sec_graph": 502.05732024083596,
    "completion_tokens_per_sec": 413.56225915094006,
    "end_time": 1770927918.2348678,
    "is_last_response": true,
    "prompt_tokens": 91,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "start_time": 1770927917.942288,
    "stop_reason": "stop",
    "time_to_first_token": 0.05286884307861328,
    "time_to_first_token_graph": 0.05082893371582031,
    "total_latency": 0.29257988929748535,
    "total_tokens": 212,
    "total_tokens_per_sec": 724.5884209917298
  }
}
```

**Python**

次のプログラムを実行する Python スクリプトを作成します。API ドメイン名は正しい値に置き換えてください。

```python theme={}
import os
from sambanova import SambaNova

api_key = os.environ.get("SAMBANOVA_API_KEY")

client = SambaNova(
    api_key=api_key,
    base_url="https://api.<your-domain>/v1",
)

try:
    response = client.chat.completions.create(
        model="gpt-oss-120b",
        messages=[
            {"role": "system", "content": "You are a concise assistant."},
            {"role": "user", "content": "Say hi in one sentence and comment on the weather."}
        ],
        temperature=0.2,
    )
    print(response.choices[0].message.content)

except Exception as e:
    print(f"An error occurred: {e}")
```

応答は次のようになります。

```text theme={}
Hi, it's a sunny day today!
```

## 次のステップ

おめでとうございます。これで SambaStack クラスターが基本的な稼働状態になりました。ここから先に何を設定するかは、目的によって異なります。次に設定できる一般的な構成は以下のとおりです。

* [新しいバンドルのデプロイ](/docs/ja/v2.0.2/sambastack/service-administration/model-deployment/deploying-model-bundles.md)
* [カスタム OIDC 認証のセットアップ](/docs/ja/v2.0.2/sambastack/service-administration/platform-admin/authentication.md)
* [サービスティアとレート制限](/docs/ja/v2.0.2/sambastack/service-administration/platform-admin/usergroup-management.md)
* [監視・モニタリングスタックのセットアップ](/docs/ja/v2.0.2/sambastack/reference-architecture/observability/overview.md)
