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 のビルド時設定と拡張機能を指定することもできます。
最適化されたカスタムイメージを使用する場合、health-enabled および metrics-enabled オプションは Containerfile で明示的に設定する必要があります。 |
そのようなイメージの構築方法については、コンテナでの 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 の認識を必要とする構成、つまりサービスとプローブを構成する際に反映される TLS および HTTP(S) 設定には、Keycloak CR を使用してください。 |
プレ拡張イメージを使用することがベストプラクティスとされていますが、非最適化カスタムイメージまたは拡張イメージでビルド時プロパティを使用したい場合も可能です。この例に示すように、startOptimized
フィールドを 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
これにより、起動のたびに再拡張のコストが発生することに注意してください。