第16章 サービス提供設定の調整
16.1. Knative Serving システムのデプロイメント設定のオーバーライド
KnativeServing
カスタムリソース (CR) の workloads
仕様を変更することで、一部の特定デプロイメントのデフォルト設定をオーバーライドできます。
16.1.1. システムのデプロイメント設定の上書き
現在、resources
、replicas
、labels
、annotations
、nodeSelector
フィールド、およびプローブの readiness
と liveness
フィールドで、デフォルトの構成設定のオーバーライドがサポートされています。
以下の例では、KnativeServing
CR は webhook
デプロイメントをオーバーライドし、以下を確認します。
-
net-kourier-controller
のreadiness
プローブのタイムアウトは 10 秒に設定されています。 - デプロイメントには、CPU およびメモリーのリソース制限が指定されています。
- デプロイメントには 3 つのレプリカがあります。
-
example-label: label
ラベルが追加されました。 -
example-annotation: annotation
が追加されます。 -
nodeSelector
フィールドは、disktype: hdd
ラベルを持つノードを選択するように設定されます。
注記
KnativeServing
CR ラベルおよびアノテーション設定は、デプロイメント自体と結果として生成される Pod の両方のデプロイメントのラベルおよびアノテーションを上書きします。
KnativeServing CR の例
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
metadata:
name: ks
namespace: knative-serving
spec:
high-availability:
replicas: 2
workloads:
- name: net-kourier-controller
readinessProbes: 1
- container: controller
timeoutSeconds: 10
- name: webhook
resources:
- container: webhook
requests:
cpu: 300m
memory: 60Mi
limits:
cpu: 1000m
memory: 1000Mi
replicas: 3
labels:
example-label: label
annotations:
example-annotation: annotation
nodeSelector:
disktype: hdd
- 1
readiness
およびliveness
プローブオーバーライドを使用して、プローブハンドラーに関連するフィールド (exec
、grpc
、httpGet
、およびtcpSocket
) を除き、Kubernetes API で指定されているデプロイメントのコンテナー内のプローブのすべてのフィールドをオーバーライドできます。