自訂 Kf 功能

提升留存率

您可以控制 Kf 建構項目在垃圾收集前保留的數量。

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

啟用或停用 Istio 補充程式

如果您不需要為建構 Pod 啟用 Istio 附屬程式,可以將值設為 true 來停用附屬程式。將值設為 false 即可啟用。

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

建構 Pod 資源限制

您可以將預設的 Pod 資源大小從預設值增加,以便容納非常大的建構項目。值的單位為 MiGi

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

如要進一步瞭解容器資源管理,請參閱 Kubernetes 容器資源說明文件

服務代理程式的自行簽署憑證

如果您想為服務仲介器網址使用 TLS 的自行簽署憑證 (https 而非 http),則 Kf 控制器需要 CA 憑證。如要針對此情況設定 Kf,請在 kf 命名空間中建立不可變動的 Kubernetes 密鑰,並更新 kfsystem.spec.kf.config.secrets.controllerCACerts.name 物件,讓其指向該密鑰。

  1. 建立密鑰來儲存自行簽署的憑證。

    kubectl create secret generic cacerts -nkf --from-file /path/to/cert/certs.pem
    
  2. 讓密鑰不可變更。

    kubectl patch -nkf secret cacerts \
      --type='json' \
      -p="[{'op':'add','path':'/immutable','value':true}]"
    
  3. 更新 kfsystem 以指向密鑰。

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