自訂 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'}}}]"
    

設定 CPU 最低值和比率

您可以在運算子中設定應用程式的預設 CPU 比率和最小值。

值會以 CPU 單位設定。單位通常以毫 CPU (m) 表示,也就是 CPU 的千分之一。

spec.kf.config.appCPUMin 屬性會指定每個應用程式的 CPU 最小量,即使開發人員指定的量較少也一樣。

kubectl patch \
    kfsystem kfsystem \
    --type='json' \
    -p="[{'op':'add','path':'/spec/kf/config/appCPUMin','value':'200m'}]"

spec.kf.config.appCPUPerGBOfRAM 屬性會指定每個應用程式可獲得的預設 CPU 量,以每 GB 或要求的 RAM 為單位。

您可以根據想要的結果選擇不同的做法:

  • 如要盡可能提高使用率,請為叢集的節點選擇 CPU 與 RAM 的比例。
  • 選擇 1 CPU 對 4 GB RAM 的比率,這通常適用於 I/0 或記憶體綁定的網路應用程式。
kubectl patch \
    kfsystem kfsystem \
    --type='json' \
    -p="[{'op':'add','path':'/spec/kf/config/appCPUPerGBOfRAM','value':'250m'}]"