How to Install Keycloak on Kubernetes using Helm
On this page
Introduction
Add and Update the Helm Repository
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm repo update bitnami
Pull the Keycloak Helm Chart
$ helm pull bitnami/keycloak -d $HOME/Dev/helm/charts/bitnami
$ ls -l $HOME/Dev/helm/charts/bitnami/keycloak-24.4.13.tgz
Get default values
$ helm show values bitnami/keycloak > values.yaml
Create a secret for admin password
# create a secret named keycload-credentials for the admin password having the key admin-password in namespace keycloak
$ kubectl create secret generic keycloak-credentials \
--from-literal=admin-password=changeit \
--namespace keycloak --dry-run=client -o yaml \
| yq eval 'del(.metadata.creationTimestamp)' > keycloak-credentials-secret.yaml
$ kubectl create namespace keycloak
$ kubectl apply -f keycloak-credentials-secret.yaml
custom-values.yaml
custom-values.yaml
# 131
auth:
adminUser: admin
existingSecret: keycloak-credentials
passwordSecretKey: admin-password
# 369
resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: 1000m
memory: 1024Mi
# 476
nodeSelector:
agentpool: depnodes
service:
type: LoadBalancer
annotations:
service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
# 1327
postgresql:
auth:
postgresPassword: changeit
username: keycloak
password: changeit
database: keycloak
Install Keycloak
$ helm upgrade --install keycloak $HOME/Dev/helm/charts/bitnami/keycloak-24.4.13.tgz \
-f custom-values.yaml --namespace keycloak --create-namespace
# OR
$ helm upgrade --install keycloak bitnami/keycloak --version 24.4.13 \
-f custom-values.yaml --namespace keycloak --create-namespace