4.7. デプロイメントリソースの設定
Knative Serving では、config-deployment
config map には、Kubernetes Deployment
リソースが Knative サービスに設定される方法を決定する設定が含まれます。OpenShift Serverless Serving では、KnativeServing
カスタムリソース (CR) の deployment
セクションでこの設定を指定できます。
deployment
セクションを使用して、以下を設定できます。
- タグの解決
- ランタイム環境
- 進捗期限
4.7.1. タグ解決のスキップ
OpenShift Serverless Serving でタグ解決をスキップすると、コンテナーレジストリーへの不要なクエリーを回避し、レイテンシーとレジストリーの可用性への依存を減らすことで、デプロイメントを高速化できます。
KnativeServing
カスタムリソース (CR) の registriesSkippingTagResolving
設定を変更して、タグ解決をスキップするように Serving を設定できます。
手順
KnativeServing
CR で、タグの解決をスキップするレジストリーのリストを使用してregistriesSkippingTagResolving
設定を変更します。タグ解決のスキップの設定例
apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving spec: config: deployment: registriesSkippingTagResolving: "registry.example.com, another.registry.com"
4.7.2. 選択可能な RuntimeClassName の設定
KnativeServing
カスタムリソース (CR) の runtime-class-name
設定を更新することで、OpenShift Serverless Serving を指定して、デプロイメントに特定の RuntimeClassName
リソースを設定できます。
この設定はサービスラベルと連携し、デフォルトの RuntimeClassName
またはサービスに関連付けられているラベルに最も合致する RuntimeClassName を適用します。
手順
KnativeServing
CR で、runtime-class-name
設定を行います。指定された
runtime-class-name
設定の例apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving spec: config: deployment: runtime-class-name: | kata: {} gvisor: selector: my-label: selector
4.7.3. 進捗期限
デフォルトでは、サービスには、サービスが最初の起動を完了するまでの時間制限を定義する進行期限があります。
デプロイメント中に次のいずれかの状況が発生した場合は、進行期限を延長することを検討してください。
- サービスイメージはサイズが大きいため、プルに時間がかかります。
-
初期キャッシュの準備のため、サービスが
READY
になるまでに長い時間がかかります。 - クラスターは、新しい Pod にリソースを割り当てるために自動スケーリングに依存します。
指定された制限時間内に初期スケールが達成されない場合、Knative Autoscaler コンポーネントはリビジョンを 0
にスケールし、サービスは最終的な Failed
状態になります。
4.7.3.1. 進捗期限の設定
進行期限設定を設定して、システムが Knative リビジョンの失敗を報告する前に、デプロイメントの進行に許容される最大時間を秒または分単位で設定します。
デフォルトでは、進行期限は 600 秒に設定されています。この値は Go time.Duration
文字列として指定され、最も近い秒に丸められる必要があります。
手順
KnativeServing
カスタムリソース (CR) を変更して、進行期限を設定します。
KnativeServing
CR で、progressDeadline
の値を設定します。進捗期限を 60 秒に設定した場合の例
apiVersion: operator.knative.dev/v1beta1 kind: KnativeServing metadata: name: knative-serving spec: config: deployment: progressDeadline: "60s"