集群配置

Kf 在 kf 命名空间中使用名为 config-defaults 的 Kubernetes configMap 来存储集群范围的配置设置。本文档介绍了其结构和字段。

config-defaults configmap 的结构

configmap 的 .data 字段中包含三种类型的键值对:

  • _ 为前缀的注释键包含示例、备注和警告。
  • 字符串键包含纯文本值。
  • 对象键包含已编码为字符串的 JSON 或 YAML 值。

示例:

_note: "This is some note"
stringKey: "This is a string key that's not encoded as JSON or YAML."
objectKey: |
  - "These keys contain nested YAML or JSON."
  - true
  - 123.45

示例部分

_example 键下的示例部分介绍了其他字段和示例。对此部分所做的更改无效。

Space container registry

spaceContainerRegistry 属性是一个纯文本值,用于指定每个空间用于存储构建映像的默认容器注册表。

示例:

spaceContainerRegistry: gcr.io/my-project

空间集群网域

spaceClusterDomains 属性是一个经过编码的字符串数组,其中包含网域对象。

集群中的每个空间都会将数组中的所有项添加至开发者可将其应用绑定到的网域列表中。

字段
domain

string

可供使用的域名。可能包含以下替代变量之一:

  • $(SPACE_NAME) - 在每个空间中替换为空间的名称。
  • $(CLUSTER_INGRESS_IP) - 集群 Ingress 网关的 IP 地址。
gatewayName

string

(可选)

Istio 网关路由将绑定的替换项。默认为 kf/external-gateway,但可以使用 kf 命名空间中的任何其他网关。

示例:

spaceClusterDomains: |
  # Support canonical and vanity domains
  - domain: $(SPACE_NAME).prod.example.com
  - domain: $(SPACE_NAME).kf.us-east1.prod.example.com

  # Using a dynamic DNS resolver
  - domain: $(SPACE_NAME).$(CLUSTER_INGRESS_IP).nip.io

  # Creating an internal domain only visible within the cluster
  - domain: $(SPACE_NAME)-apps.internal
    gatewayName: kf/internal-gateway

Buildpack 第 2 版生命周期构建器

buildpacksV2LifecycleBuilder 属性包含使用执行 buildpack 第 2 版构建的 Cloud Foundry builder 二进制文件版本。

该值是一个 Git 参考。如需使用特定版本,请在末尾附加 @ 符号,后跟 Git SHA。

示例:

buildpacksV2LifecycleBuilder: "code.cloudfoundry.org/buildpackapplifecycle/builder@GIT_SHA"

Buildpack 第 2 版生命周期启动器

buildpacksV2LifecycleLauncher 属性包含在每个 buildpack 第 2 版应用中构建的 Cloud Foundry launcher 二进制文件版本。

该值是一个 Git 参考。如需使用特定版本,请在末尾附加 @ 符号,后跟 Git SHA。

示例:

buildpacksV2LifecycleLauncher: "code.cloudfoundry.org/buildpackapplifecycle/launcher@GIT_SHA"

Buildpack 第 2 版列表

spaceBuildpacksV2 属性是一个字符串编码 YAML 数组,其中包含用于构建与第 2 版 buildpack 进程兼容的默认 buildpack 有序列表。

字段
name

string

开发者可以在应用清单中用来参考 buildpack 的短名称。

url

string

用于获取 buildpack 的网址。

disabled

boolean

用于阻止此 buildpack 执行。

堆栈第 2 版列表

spaceBuildpacksV2 属性是一个字符串编码的 YAML 数组,其中包含可用于 Cloud Foundry 兼容构建的堆栈有序列表。

字段
name

string

开发者可以在应用清单中用来参考堆栈的短名称。

image

string

要用作堆栈的容器映像的网址。如需了解详情,请参阅 https://kubernetes.io/docs/concepts/containers/images

堆栈第 3 版列表

spaceStacksV3 属性是一个字符串编码的 YAML 数组,其中包含可与 Cloud Native Buildpack 构建一起使用的堆栈有序列表。

字段
name

string

开发者可以在应用清单中用来参考堆栈的短名称。

description

string

运行 kf stacks 时显示的堆栈的简短说明。

buildImage

string

用作构建器的容器映像的网址。如需了解详情,请参阅 https://kubernetes.io/docs/concepts/containers/images

runImage

string

该容器映像的网址,用作所有应用的构建基础。如需了解详情,请参阅 https://kubernetes.io/docs/concepts/containers/images

nodeSelector

map (key: string, value: string)

(可选)

NodeSelector 用于指示使用此堆栈构建的应用可在其中运行的节点。

示例:

spaceStacksV3: |
  - name: heroku-18
    description: The official Heroku stack based on Ubuntu 18.04
    buildImage: heroku/pack:18-build
    runImage: heroku/pack:18
    nodeSelector:
       kubernetes.io/os: windows

默认为第 3 版堆栈

spaceDefaultToV3Stack 属性包含带英文引号的值 truefalse,表示用户未指定第 3 版堆栈时空间是否应使用第 3 版堆栈。

功能标志

featureFlags 属性包含可启用和停用 Kf 功能的功能标志的字符串编码 YAML 映射。

Kf 不支持的标志名称将予以忽略。

标志名称 默认 用途
disable_custom_builds false 禁止开发者访问任意 Tekton 构建流水线。
enable_dockerfile_builds true 允许开发者从 Dockerfile 构建源代码。
enable_custom_buildpacks true 允许开发者在其应用中指定外部 Buildpack。
enable_custom_stacks true 允许开发者在其应用中指定自定义堆栈。

示例:

featureFlags: |
  disable_custom_builds: false
  enable_dockerfile_builds: true
  enable_some_feature: true