```bash helm repo add codecentric https://codecentric.github.io/helm-charts helm repo update ``` ```bash kubectl create namespace keycloak ``` ```bash 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 ```