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 |
要提供的網域名稱。可包含下列其中一個替換值:
|
gatewayName |
(選填)
覆寫 Istio 閘道路徑的繫結位置。預設為 |
範例:
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 |
開發人員可在應用程式資訊清單中使用簡稱來參照 Buildpack。 |
url |
用來擷取 Buildpack 的網址。 |
disabled |
用於防止這個 Buildpack 執行。 |
堆疊 V2 清單
spaceBuildpacksV2
屬性是字串編碼的 YAML 陣列,可保留可與 Cloud Foundry 相容的建構項目的排序清單。
欄位 | |
---|---|
name |
開發人員可在應用程式資訊清單中使用簡稱來參照此堆疊。 |
image |
要用於堆疊的容器映像檔網址。詳情請參閱 https://kubernetes.io/docs/concepts/containers/images。 |
堆疊 V3 清單
spaceStacksV3
屬性是字串編碼的 YAML 陣列,可保留可與 Cloud Native Buildpack 建構作業搭配使用的堆疊排序清單。
欄位 | |
---|---|
name |
開發人員可在應用程式資訊清單中使用簡稱來參照此堆疊。 |
description |
執行 |
buildImage |
要用於建構工具的容器映像檔網址。詳情請參閱 https://kubernetes.io/docs/concepts/containers/images。 |
runImage |
容器映像檔的網址,用於做為使用 建構的所有應用程式的基本映像檔。詳情請參閱 https://kubernetes.io/docs/concepts/containers/images。 |
nodeSelector |
(選填) 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
屬性包含引號值 true
或 false
,指出在使用者未指定時,空間應使用 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