Kf 機能のカスタマイズ

ビルドの保持

ガベージ コレクションを行う前に、保持する Kf ビルドの数を制御できます。

kubectl patch \
kfsystem kfsystem \
--type='json' \
-p="[{'op': 'replace', 'path': '/spec/kf/config/buildRetentionCount', 'value': 1}]"

Istio サイドカーを有効または無効にする

Build Pod で Istio サイドカーが不要な場合は、値を true に設定して無効にできます。有効にするには、値を false に設定します。

kubectl patch \
kfsystem kfsystem \
--type='json' \
-p="[{'op': 'replace', 'path': '/spec/kf/config/buildDisableIstioSidecar', 'value': true}]"

Build Pod リソースの上限

非常に大きなビルドの場合は、デフォルトの Pod リソースサイズを増やすことができます。値の単位は Mi または Gi です。

kubectl patch \
kfsystem kfsystem \
--type='json' \
-p="[{'op': 'replace', 'path': '/spec/kf/config/buildPodResources', 'value': {'limits': {'memory': '234Mi'}}}]"

コンテナ リソース管理の詳細については、Kubernetes コンテナ リソースのドキュメントをご覧ください。

サービス ブローカーの自己署名証明書

サービス ブローカーの URL に TLS 用の自己署名証明書(http ではなく https)を使用する場合は、Kf コントローラで CA 証明書が必要となります。このシナリオ用に Kf を構成するには、不変の Kubernetes Secret を kf Namespace に作成し、kfsystem.spec.kf.config.secrets.controllerCACerts.name オブジェクトを指すように更新します。

  1. 自己署名証明書を格納する Secret を作成します。

    kubectl create secret generic cacerts -nkf --from-file /path/to/cert/certs.pem
    
  2. Secret を不変にします。

    kubectl patch -nkf secret cacerts \
      --type='json' \
      -p="[{'op':'add','path':'/immutable','value':true}]"
    
  3. Secret を指すように kfsystem を更新します。

    kubectl patch \
      kfsystem kfsystem \
      --type='json' \
      -p="[{'op':'add','path':'/spec/kf/config/secrets','value':{'controllerCACerts':{'name':'cacerts'}}}]"