叢集設定

Kf 會使用 kf 命名空間中名為 config-defaults 的 Kubernetes ConfigMap,儲存叢集層級設定。本文將說明其結構和欄位。

設定預設值 ConfigMap 的結構

.data 欄位中,configmap 包含三種類型的鍵/值組合:

  • 前面有 _ 的註解鍵包含範例、附註和警告。
  • 字串鍵包含純文字值。
  • 物件鍵包含已編碼為字串的 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 容器登錄檔

spaceContainerRegistry 屬性是純文字值,可指定每個空間用於儲存已建構映像檔的預設容器註冊服務。

範例:

spaceContainerRegistry: gcr.io/my-project

Space 叢集網域

spaceClusterDomains 屬性是網域物件的字串編碼 YAML 陣列。

叢集中的每個空間都會將陣列中的所有項目新增至開發人員可將應用程式繫結到的網域清單。

欄位
domain

string

要提供的網域名稱。可包含下列其中一個替換值:

  • $(SPACE_NAME):在每個聊天室中,以聊天室名稱取代。
  • $(CLUSTER_INGRESS_IP):叢集入口閘道的 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

Buildpacks V2 生命週期建構工具

buildpacksV2LifecycleBuilder 屬性包含用於執行 Buildpack v2 建構作業的 Cloud Foundry builder 二進位檔版本。

這個值是 Git 參照。如要使用特定版本,請在結尾加上 @ 符號,然後接著加上 Git SHA。

範例:

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

Buildpacks V2 生命週期啟動器

buildpacksV2LifecycleLauncher 屬性包含每個 Buildpack V2 應用程式內建的 Cloud Foundry launcher 二進位檔版本。

這個值是 Git 參照。如要使用特定版本,請在結尾加上 @ 符號,然後接著加上 Git SHA。

範例:

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

Buildpacks V2 清單

spaceBuildpacksV2 屬性是字串編碼的 YAML 陣列,可保留預設 Buildpack 的排序清單,用於建構與 V2 Buildpack 程序相容的應用程式。

欄位
name

string

開發人員可在應用程式資訊清單中使用簡稱來參照 Buildpack。

url

string

用來擷取 Buildpack 的網址。

disabled

boolean

用於防止這個 Buildpack 執行。

堆疊 V2 清單

spaceBuildpacksV2 屬性是字串編碼的 YAML 陣列,可保留可與 Cloud Foundry 相容的建構項目的排序清單。

欄位
name

string

開發人員可在應用程式資訊清單中使用簡稱來參照此堆疊。

image

string

要用於堆疊的容器映像檔網址。詳情請參閱 https://kubernetes.io/docs/concepts/containers/images

堆疊 V3 清單

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

預設為 V3 堆疊

spaceDefaultToV3Stack 屬性包含引號值 truefalse,指出在使用者未指定時,空間應使用 V3 堆疊。

功能旗標

featureFlags 屬性包含字串編碼的 YAML 對應項目,可啟用及停用 Kf 的功能。

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