Dynamic Engine環境でのカスタムKubernetesリソースのマウント
Kubernetesリソースをマウントすることで、Dynamic Engine環境をカスタマイズできます。機密性のない設定にはConfigMap、認証情報にはSecret、ファイルや証明書にはボリューム、永続ストレージにはPersistentVolumeClaim、ユーザー権限の管理にはsecurityContextを使用します。
これらのカスタマイズパターンにより、Dynamic Engine環境でジョブタスクとルートタスクを実行する際に、カスタムKubernetesリソースを簡単に使用できます。
これらのパターンは相互排他的ではありません。組み合わせることで、さまざまな形式のKubernetesリソースをDynamic Engine環境に注入できます。例:
- ConfigMap: 機密性のない設定(APIエンドポイント、ログレベル、機能フラグなど)
- Secret(環境変数として): 認証情報やAPIキー
- Secret(ボリュームとして): 証明書、キーストア、ファイルベースの設定
- PersistentVolumeClaim: ポッド間で共有される永続ストレージ
- securityContext: 特定のユーザーまたはグループIDを使用した、非ルートユーザーでのコンテナ実行
前提条件および重要な考慮事項
-
デフォルトのHelmデプロイメントに記載されている要件を満たしていること。
-
Dynamic Engineのバージョンが1.2.0以降であること。
-
Dynamic Engine環境が、対象のDynamic Engineに割り当てられていること。
-
リソースの作成:Dynamic Engine設定を適用する前に、ConfigMap、Secret、PersistentVolumeClaim を作成する必要があります。Dynamic Engineサービスはこれらのリソースの存在を検証しません。
-
ネームスペース: すべてのリソースは、Dynamic Engine環境と同じネームスペース(デフォルトはqlik-processing-env-$DYNAMIC_ENGINE_ENVIRONMENT_ID)に作成する必要があります。
グローバル additionalSpecなし: 設定にはグローバルadditionalSpecがありません。jobDeployment(データ統合およびビッグデータジョブタスク)とdataServiceRouteDeployment(データサービスおよびルートタスク)の両方に同じ設定を適用する場合は、それぞれ個別に指定する必要があります。
有効化: カスタム設定を有効化するには、additionalSpecでenabled: trueを設定する必要があります。