MLOps Academy · レッスン

ConfigMapsとSecretsで設定する

モデルの設定と認証情報を外部化します。

レッスン 3/413 ステップ

「ConfigMapsとSecretsで設定する」はCoddyKit上の無料MLOps Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMLOps Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MLOps Academyコースには全4レッスンが含まれています。

イメージに設定を含めない

モデルのパスやしきい値をコンテナに埋め込むと、変更のたびに再ビルドが必要になります。Kubernetes では代わりに、実行時にconfigを注入できます。🔧

ConfigMap に通常の設定を保存する

ConfigMapには、モデル名、バッチサイズ、ログレベルなど、シークレットではないキーと値の組を保存します。1つの設定オブジェクトを多くの Pod から読み取れます。

apiVersion: v1
kind: ConfigMap
metadata:
  name: model-config
data:
  MODEL_NAME: "ranker-v3"
  BATCH_SIZE: "32"

環境変数として注入する

最も簡単な方法は、ConfigMapのキーを環境変数に割り当てることです。Python コードはローカル環境と同じように os.environ から読み取れます。

またはファイルとしてマウントする

ConfigMapはボリュームとしてマウントし、各キーをファイルに変換することもできます。モデルローダーがディスク上の完全な設定ファイルを必要とする場合に便利です。

機密データには Secret を使う

API トークン、データベースのパスワード、レジストリの認証情報は、ConfigMap ではなくSecretに保存します。考え方は同じですが、クラスターによって機密情報として扱われます。

Base64 は暗号化ではない

Secret の値は base64 でエンコードされますが、これは単なるencodingであり、セキュリティ対策ではありません。読み取り権限を持つ人は誰でもデコードできるため、アクセスを厳重に管理してください。

保存時に Secret を暗号化する

本当に保護するには、etcd のencryption at restを有効にするか、Vault などの外部マネージャーを使用します。Base64 だけではモデルの認証情報を安全に保てません。

Secret を安全に利用する

Secretは ConfigMap と同じように、環境変数またはファイルとしてマウントできます。環境変数はログやクラッシュダンプに漏れる可能性があるため、トークンにはファイルを推奨します。

envFrom:
  - secretRef:
      name: model-creds
  - configMapRef:
      name: model-config

1つのソースを多くの Pod で使う

ConfigMapを一度更新すると、それをマウントしているすべての Pod が変更を取得できます。ただし、環境変数として注入した値を更新するには Pod の再起動が必要です。

環境変数の変更を反映するために再起動する

環境変数として使われる値を変更しても、ホットリロードは行われません。Deployment のローリングrestartを実行し、Pod に新しい設定を読み込ませてください。

環境ごとに設定を分ける

開発環境と本番環境で、それぞれ1つのConfigMapを用意します。同じイメージに異なる設定を適用すれば、モデルの昇格時にコンテナを再ビルドする必要がありません。

クイックチェック

モデルサービスはデータベースのパスワードをどこから取得すべきでしょうか。

まとめ

通常の設定にはConfigMapを、機密性の高い設定には Secret を使い、両方を実行時に注入します。環境変数として注入した値を更新するには Pod を再起動します。✅

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「ConfigMapsとSecretsで設定する」レッスンは無料ですか?

はい。「ConfigMapsとSecretsで設定する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MLOps Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MLOps Academyコースには全4レッスンが含まれています。

「ConfigMapsとSecretsで設定する」で何を学びますか?

モデルの設定と認証情報を外部化します。 ブラウザで直接実行するハンズオンコードでMLOps Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

MLOps Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのMLOps Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「ConfigMapsとSecretsで設定する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このMLOps Academyレッスンでコードを書いて実行できますか?

はい。すべてのMLOps Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. モデル向けのPod、Deployment、Service
  2. CPU、メモリ、GPUを要求する
  3. ConfigMapsとSecretsで設定する
  4. Kubernetes Jobとして学習を実行する
← MLOps Academyに戻る