ConfigMapsとSecretsで設定する
モデルの設定と認証情報を外部化します。
「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-config1つのソースを多くの 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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- モデル向けのPod、Deployment、Service
- CPU、メモリ、GPUを要求する
- ConfigMapsとSecretsで設定する
- Kubernetes Jobとして学習を実行する