2.4 KiB
2.4 KiB
helm repo add codecentric https://codecentric.github.io/helm-charts
helm repo update
kubectl create namespace keycloak
vim values-keycloak.yaml
# Какой именно Keycloak ставим
image:
repository: quay.io/keycloak/keycloak
# Подставь нужную версию, например ту, которую ты хочешь зафиксировать
# (пример — 26.0.7, но лучше глянуть актуальные теги на quay.io/keycloak/keycloak)
tag: "26.0.7"
pullPolicy: IfNotPresent
replicas: 1
# HTTP-путь, по которому будет доступен Keycloak
http:
# "/" или "/auth" — на твой вкус, я делаю "/" для простоты
relativePath: "/"
# Подключение к внешней БД PostgreSQL
database:
vendor: postgres
hostname: postgres-postgresql.postgres.svc.cluster.local
port: 5432
database: keycloak
username: keycloak_user
password: "password"
# Команда запуска Keycloak (рекомендуемый стиль с kc.sh)
command:
- "/opt/keycloak/bin/kc.sh"
- "start"
- "--http-enabled=true"
- "--http-port=8080"
- "--hostname-strict=false"
- "--hostname-strict-https=false"
- "--proxy=edge"
# Ingress NGINX на keycloak.local
ingress:
enabled: true
ingressClassName: "nginx"
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
rules:
- host: "keycloak.local"
paths:
- path: '{{ tpl .Values.http.relativePath $ | trimSuffix "/" }}/'
pathType: Prefix
tls: [] # позже можно включить TLS через cert-manager
# Переменные окружения Keycloak
extraEnv: |
# Админ и пароль
- name: KEYCLOAK_ADMIN
value: admin
- name: KEYCLOAK_ADMIN_PASSWORD
value: password
# Настройки прокси / hostname
- name: KC_PROXY
value: edge
- name: KC_HOSTNAME
value: "keycloak.local"
# JGroups discovery через headless-сервис чарта
- name: JAVA_OPTS_APPEND
value: >-
-XX:+UseContainerSupport
-XX:MaxRAMPercentage=50.0
-Djava.awt.headless=true
-Djgroups.dns.query={{ include "keycloak.fullname" . }}-headless
helm install keycloak codecentric/keycloakx \
--namespace keycloak \
--values values-keycloak.yaml