自定义 Kf 功能

构建保留

您可以控制在进行垃圾回收之前保留的 Kf 构建数。

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

启用或停用 Istio Sidecar

如果您不需要构建 pod 的 Istio Sidecar,则可以通过将值设置为 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 容器资源文档

Service Broker 的自签名证书

如果要对 service broker 网址的 TLS(即 https,而非 http)使用自签名证书,那么 Kf 控制器将需要具备 CA 证书。如需针对此场景配置 Kf,请在 kf 命名空间中创建一个不可变的 Kubernetes Secret,并更新 kfsystem.spec.kf.config.secrets.controllerCACerts.name 对象以指向该 Secret。

  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. 更新 kfsystem 以指向该 Secret。

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