メインコンテンツへスキップ
このセクションでは、SambaStack Hosted 環境で利用可能なオプション設定について説明します。 TLS 証明書を使用したカスタムドメインの設定や、デフォルトのクラスタ内データベースの代わりに外部 Postgres データベースを利用する構成など、インストール内容を柔軟にカスタマイズできます。

カスタムドメインと TLS 証明書の設定

SambaStack デプロイメントでカスタムドメインを TLS と併用するには、以下の手順に従います。

1. TLS 証明書を取得する

信頼できる認証局 (CA) から、対象ドメインの TLS 証明書および秘密鍵を取得します。

2. Kubernetes の TLS シークレットを作成する

公式の Kubernetes documentation に従って、取得した TLS 証明書と秘密鍵を使用して TLS シークレットを作成します。 コマンド例:
kubectl create secret tls <name-for-tls> --cert=path/to/cert.crt --key=path/to/key.key

3. DNS レコードを設定する

以下のように、カスタムドメインを SambaStack サーバーにマッピングする DNS レコードを作成します。
ドメインレコードタイプ
api.example.comCNAMEapi.sambanova.ai
api.example.comTXT<From installer log>
ui.example.comCNAMEcloud.sambanova.ai
ui.example.comTXT<From installer log>
必要に応じて、SambaNova サポートに連絡し、使用すべきリージョンエンドポイントを確認してください。

4. sambastack.yaml を更新する

sambastack.yaml (data → sambastack.yaml) を編集し、ドメイン名と TLS シークレット名を以下のように追記します (インデントに注意してください)。
data:
  sambastack.yaml: |
    gateway:
      ingress:
        hosts:
          - host: api.example.com
            tlsSecretName: <name-for-tls>
    cloud-ui:
      ingress:
        hosts:
        - host: ui.example.com
          tlsSecretName: <name-for-tls>

5. 設定を反映する

次のコマンドで変更内容を適用します。
kubectl apply -f sambastack.yaml

6. 動作確認

TLS 証明書の処理とドメイン認証が正常に行われているかどうか、インストーラーログで確認します。
kubectl -n sambastack-installer logs -l sambanova.ai/app=sambastack-installer -f
これらの手順を完了すると、SambaStack デプロイメントは指定したカスタムドメインと TLS 証明書を使用するように構成されます。

外部Postgresデータベースの使用

SambaNova では、デフォルトでクラスタ内に Postgres インスタンスを自動的に作成します。 外部の Postgres データベースを使用する場合は、以下の手順に従ってください。

1. 外部データベースを用意する

外部の Postgres インスタンスを構築し、次の認証情報を取得します。
  • DB_HOST
  • DB_DATABASE
  • DB_USER
  • DB_PASSWD

2. Postgres 認証情報の Kubernetes シークレットを作成する

取得した認証情報をbase64エンコードして、以下のように pg-credentials という名前のシークレットを作成します。
  cat <<EOPGSECRET | kubectl apply -f -
  apiVersion: v1
  kind: Secret
  metadata:
    name: pg-credentials
    namespace: default
  type: Opaque
  data:
    DB_HOST: <Base64 encoded DB_HOST>
    DB_DATABASE: <Base64 encoded DB_DATABASE>
    DB_USER: <Base64 encoded DB_USER>
    DB_PASSWD: <Base64 encoded DB_PASSWD>
  EOPGSECRET
すべての認証情報の値をbase64エンコードして入力してください。

3. sambastack.yaml の更新

sambastack.yaml (data → sambastack.yaml) を以下のように編集し、外部 Postgres シークレットを参照するように設定し、クラスタ内データベースを無効化します。
data:
  sambastack.yaml: |
    # Auth and Billing Configuration
    auth-and-billing:
      pgSecretName: pg-credentials # Kubernetes secret with Postgres credentials
    # Database Configuration
    cloudnative-pg:
      enabled: false # Disable in-cluster PostgreSQL

4. 設定の反映

次のコマンドで更新を反映します。
kubectl apply -f sambastack.yaml
これらの手順を完了すると、デプロイメントは指定した外部 Postgres データベースに接続するようになります。