apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
name: example-kc
spec:
instances: 1
image: quay.io/my-company/my-keycloak:latest
http:
tlsSecret: example-tls-secret
hostname:
hostname: test.keycloak.org
透過 Keycloak 自訂資源 (CR),您可以為 Keycloak 伺服器指定自訂容器映像檔。
為了確保 Operator 和 Operand 的完全相容性,請務必使自訂映像檔中使用的 Keycloak 發行版本與 Operator 的版本一致。 |
當使用預設 Keycloak 映像檔時,伺服器每次 Pod 啟動時都會執行耗時的重新擴增。為了避免此延遲,您可以提供一個自訂映像檔,其中已在映像檔的建置時程中內建擴增。
使用自訂映像檔,您還可以在容器建置期間指定 Keycloak 的建置時組態和擴充功能。
當使用最佳化的自訂映像檔時,需要在 Containerfile 中明確設定 health-enabled 和 metrics-enabled 選項。 |
有關如何建置此類映像檔的說明,請參閱在容器中執行 Keycloak。
若要提供自訂映像檔,請在 Keycloak CR 中定義 image
欄位,如此範例所示
apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
name: example-kc
spec:
instances: 1
image: quay.io/my-company/my-keycloak:latest
http:
tlsSecret: example-tls-secret
hostname:
hostname: test.keycloak.org
使用自訂映像檔時,透過專用欄位或 additionalOptions 傳遞的每個建置時選項都會被忽略。 |
Operator 不知道在自訂映像檔中指定的任何組態選項。對於任何需要 Operator 感知組態,請使用 Keycloak CR,也就是在組態服務和探測時反映的 TLS 和 HTTP(S) 設定。 |
雖然使用預先擴增的映像檔被認為是最佳實務,但如果您想使用非最佳化的自訂映像檔或使用仍可擴增的映像檔的建置時屬性。您只需要將 startOptimzed
欄位設定為 false
,如此範例所示
apiVersion: k8s.keycloak.org/v2alpha1
kind: Keycloak
metadata:
name: example-kc
spec:
instances: 1
image: quay.io/my-company/my-keycloak:latest
startOptimized: false
http:
tlsSecret: example-tls-secret
hostname:
hostname: test.keycloak.org
請記住,這將導致每次啟動時產生重新擴增的成本。