# Ref:- /kra-data/setup/downloads/services # cd /kra-data/ndml-kra.devops/setup/services/dev/keycloak # container image download url - bitnami/keycloak:22.0.4 - https://hub.docker.com/layers/bitnami/keycloak/22.0.4/images/sha256-49acd4ef67bdfda635a56c4c21ab6b4fddc9929679ce579b684f3d0359902107?context=explore - postgres:16 - https://hub.docker.com/layers/library/postgres/16/images/sha256-06176e3fc141cc2fa178a0c9038453300738cce657c3844f1bd9478d282e28e4?context=explore # push docker image to container image docker pull bitnami/keycloak:22.0.4 private-repo:5000/bitnami/keycloak:22.0.4 docker pull postgres:16 private-repo:5000/postgres:16 docker tag bitnami/keycloak:22.0.4 docker tag postgres:16 docker push private-repo:5000/bitnami/keycloak:22.0.4 docker push private-repo:5000/postgres:16 # confirmed required docker images pushed on private registries. private-repo:5000/bitnami/keycloak:22.0.4 private-repo:5000/postgres:16 # check namespaces kubectl get ns # create namespace keycloak kubectl create ns keycloak # open the keycloak.yaml file and check the mount path inside container, replicas, nodeSelector, container images, container ports, service ports for both keycloak and postgres. # open the keycloak-pv.yaml and keycloak-pvc.yaml files and update storage section and host path to mount persistent volume. Do similarly for postgres-kc-pv.yaml and postgres-kc-pvc.yaml. # deploy the file by below command kubectl apply -f '*.yaml' # output persistentvolume/keycloak-pv-volume configured persistentvolumeclaim/keycloak-pv-claim configured service/postgres-svc-kc configured deployment.apps/postgres-db-kc configured service/keycloak configured deployment.apps/keycloak configured persistentvolume/postgres-kc-pv-volume configured persistentvolumeclaim/postgres-kc-pv-claim configured # confirmed deployment by running below command kubectl get all -n keycloak --------------------- (will give pods, deployment and service data) # check whether pods are in running state or not pod/keycloak-5645ddb6b8-67ctv 1/1 Running 0 22h pod/postgres-db-kc-5f7575f98b-shb6p 1/1 Running 0 22h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/keycloak LoadBalancer X.X.X.X X.X.X.X 8085:30018/TCP 10d service/postgres-svc-kc ClusterIP X.X.X.X 5433/TCP 10d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/keycloak 1/1 1 1 10d deployment.apps/postgres-db-kc 1/1 1 1 10d NAME DESIRED CURRENT READY AGE replicaset.apps/keycloak-5645ddb6b8 1 1 1 10d replicaset.apps/postgres-db-kc-5f7575f98b 1 1 1 10d # check logs using below command kubectl logs -n keycloak # check description of pod using below command kubectl describe pod -n keycloak # exec into pod kubectl exec -it -n keycloak -- /bin/bash # By default error events are enabled in keycloak logs configurations and hence only error logs will generate. # Command to see logs- $ kubectl logs -n keycloak | grep -i login