apiVersion: apps/v1
kind: Deployment
metadata:
name: keycloak
namespace: keycloak
labels:
app: keycloak
spec:
replicas: 1
selector:
matchLabels:
app: keycloak
template:
metadata:
labels:
app: keycloak
spec:
containers:
- name: keycloak
image: quay.io/keycloak/keycloak:26.4.0
args:
- start
- --hostname=keycloak.cicd.com
- --http-port=8080
- --hostname-strict=false
- --http-enabled=true
- --proxy-headers=xforwarded # Note: use xforwarded for ingress controllers
- --verbose
env:
- name: KC_BOOTSTRAP_ADMIN_USERNAME
value: admin
- name: KC_BOOTSTRAP_ADMIN_PASSWORD
value: admin
ports:
- containerPort: 8080
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: keycloak
namespace: keycloak
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
spec:
ingressClassName: nginx
tls:
- hosts:
- keycloak.cicd.com
secretName: keycloak-tls
rules:
- host: keycloak.cicd.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: keycloak
port:
number: 8080
apiVersion: v1
kind: Service
metadata:
name: keycloak
namespace: keycloak
spec:
selector:
app: keycloak
ports:
- name: http
port: 8080
targetPort: 8080
Helm 차트로 Keycloak 배포
helm repo add codecentric https://codecentric.github.io/helm-charts
helm repo update
kubectl create namespace keycloak
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
kubectl create namespace keycloak
# keycloak admin 비밀번호 생성
kubectl create secret generic keycloak-admin \
--from-literal=admin-password='keycloakpassword' \
-n keycloak
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install keycloak-postgresql bitnami/postgresql
–namespace keycloak
–set auth.username=keycloak
–set auth.password=keycloakpassword
–set auth.database=keycloak
–set persistence.enabled=true
This Keycloak chart is for the old Wildfly Keycloak distribution. It is no longer maintained. For current and new installations, be sure to use the Keycloak-X chart, which we maintain and keep up to date.