Kubernetes上にhelmでKeycloakをデプロイする
シングルサインオンのKeycloakをデプロイしてみます。
helmはv2.14.3を使用します。
https://github.com/codecentric/helm-charts/tree/master/charts/keycloak
※minikube上で検証した内容になります。minikube.devドメインを用いてアクセスできるようにするため
superbrothers様の記事を参考に事前設定をしています。必要に応じて作業をしてください。
https://qiita.com/superbrothers/items/13d8ce012ef23e22cb74
1. values.yamlファイルを作成する
管理者ユーザとingressの有効化の設定をします。
keycloak:
username: admin
password: Passw0rd
ingress:
enabled: true
path: /
hosts:
- keycloak.minikube.dev
2. デプロイする
helm repo add codecentric https://codecentric.github.io/helm-charts
helm upgrade --install keycloak codecentric/keycloak --namespace keycloak --values ./values.yaml
3. Keycloakが動作していることを確認
http://keycloak.minikube.dev にアクセスすることでKeyclaokのトップページが表示されることを確認します。
Administration Consoleから先ほど指定した管理者ユーザの情報でログインし、Keyclaokの管理などを行うことができます。
その他
DBの設定について
デフォルトではH2というデータベースが使われるようになっていますが、Keycloakをシャットダウンした際にデータが消えてしまいます。
データを永続化するために外部データベースに保存することが可能です。
https://github.com/codecentric/helm-charts/tree/master/charts/keycloak#database-setup
外部データベースにPostgreSQLを指定した場合の設定例
keycloak:
username: admin
password: Passw0rd
ingress:
enabled: true
path: /
hosts:
- keycloak.minikube.dev
persistence:
dbVendor: postgres
dbName: keycloak
dbHost: mykeycloak
dbPort: 5432
dbUser: keycloak
dbPassword: keycloakPassword
ingressの前段にL7LBが存在する場合の設定について
今回の環境ではminikubeを利用していますが、自分がkeycloakを使っている環境ではL7LBがKubernetesクラスタの前段にいます。
その場合、Keycloakのログイン画面に遷移すると Invalid parameter: redirect_uri
と表示されログインができません。
このような構成の場合、 PROXY_ADDRESS_FORWARDING=true
という値を別途設定する必要があります。
ハマりどころです。
https://github.com/keycloak/keycloak-containers/blob/master/server/README.md#enabling-proxy-address-forwarding
ingress(k8sクラスタ)の前段にL7LBが存在する場合の設定例
keycloak:
username: admin
password: Passw0rd
ingress:
enabled: true
path: /
hosts:
- keycloak.minikube.dev
extraEnv: |
- name: PROXY_ADDRESS_FORWARDING
value: "true"
Author And Source
この問題について(Kubernetes上にhelmでKeycloakをデプロイする), 我々は、より多くの情報をここで見つけました https://qiita.com/tar_xzvf/items/acbb3f548c404682355f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .