minikube addons list
Keycloak を目的の用途で使用するために、マシンまたはコンテナプラットフォームが十分なメモリと CPU を提供できることを確認してください。本番環境のサイジングを開始する方法の詳細については、CPU およびメモリリソースのサイジングに関する概念を参照してください。
Minikube がインストールされていることを確認してください。理想的には Ingress アドオンが有効になっていることが望ましいです。
Ingress アドオンが有効になっているか確認するには、次のコマンドを入力してください。
minikube addons list
Ingress アドオンが有効になっていない場合は、次のコマンドを入力して有効にしてください。
minikube addons enable ingress
Keycloak QuickStarts リポジトリには、Keycloak を Kubernetes にデプロイするのに役立つサンプルファイルが含まれています。
最初の手順として、次のコマンドを入力して Keycloak のデプロイメントとサービスを作成します。
kubectl create -f https://raw.githubusercontent.com/keycloak/keycloak-quickstarts/refs/heads/main/kubernetes/keycloak.yaml
このコマンドは Kubernetes 上で Keycloak を起動し、ユーザー名 admin
、パスワード admin
で初期管理者ユーザーを作成します。
最終的に複数のサーバーレプリカが必要になる場合は、スケーリングガイドを参照してください。 |
次に、次のコマンドを入力して Keycloak の Ingress を作成します。
wget -q -O - https://raw.githubusercontent.com/keycloak/keycloak-quickstarts/refs/heads/main/kubernetes/keycloak-ingress.yaml | \
sed "s/KEYCLOAK_HOST/keycloak.$(minikube ip).nip.io/" | \
kubectl create -f -
wget
と sed
が利用できない場合は、ファイルをダウンロードし、KEYCLOAK_HOST
を keycloak.<minikube ip address>.nip.io
に置き換えて手動でファイルを編集してください。
Keycloak の URL を確認するには、次のコマンドを入力してください。
KEYCLOAK_URL=https://keycloak.$(minikube ip).nip.io &&
echo "" &&
echo "Keycloak: $KEYCLOAK_URL" &&
echo "Keycloak Admin Console: $KEYCLOAK_URL/admin" &&
echo "Keycloak Account Console: $KEYCLOAK_URL/realms/myrealm/account" &&
echo ""
Ingress アドオンが有効になっていない場合は、別のシェルで次のコマンドを入力してください。
minikube tunnel
これで、次の URL から Keycloak にアクセスできます。
KEYCLOAK_URL=http://$(minikube ip):$(kubectl get services/keycloak -o go-template='{{(index .spec.ports 0).nodePort}}') &&
echo "" &&
echo "Keycloak: $KEYCLOAK_URL" &&
echo "Keycloak Admin Console: $KEYCLOAK_URL/admin" &&
echo "Keycloak Account Console: $KEYCLOAK_URL/realms/myrealm/account" &&
echo ""
これらの URL を覚えておいてください。このガイドの指示に従う際に必要になります。レルムを最初に作成する必要があるため、アカウントコンソールの URL はまだ機能しません。
Keycloak のレルムはテナントに相当します。各レルムにより、管理者はアプリケーションとユーザーの独立したグループを作成できます。初期状態では、Keycloak には master
という単一のレルムが含まれています。このレルムは Keycloak の管理専用に使用し、アプリケーションの管理には使用しないでください。
最初のレルムを作成するには、次の手順に従います。
Keycloak 管理コンソールを開きます。
[現在のレルム] の横にある [レルムの作成] をクリックします。
[レルム名] フィールドに myrealm
と入力します。
[作成] をクリックします。
初期状態では、レルムにはユーザーがいません。ユーザーを作成するには、次の手順に従います。
[現在のレルム] の横にある myrealm レルムにまだいることを確認してください。
左側のメニューの [ユーザー] をクリックします。
[新しいユーザーを作成] をクリックします。
フォームに次の値を入力します。
ユーザー名: myuser
名: 任意の名前
姓: 任意の名前
[作成] をクリックします。
このユーザーがログインするにはパスワードが必要です。初期パスワードを設定するには、
ページ上部の [認証情報] をクリックします。
[パスワードを設定] フォームにパスワードを入力します。
ユーザーが最初のログイン時にこのパスワードを更新する必要がないように、[一時的] を [オフ] に切り替えます。
これでアカウントコンソールにログインして、このユーザーが正しく構成されていることを確認できます。
Keycloak アカウントコンソールを開きます。
myuser
と先ほど作成したパスワードでログインします。
アカウントコンソールのユーザーとして、プロフィールの変更、二要素認証の追加、ID プロバイダーアカウントの追加など、アカウントを管理できます。
最初のアプリケーションを保護するには、まずアプリケーションを Keycloak インスタンスに登録することから始めます。
Keycloak 管理コンソールを開きます。
[現在のレルム] の横にある myrealm をクリックします。
[クライアント] をクリックします。
[クライアントを作成] をクリックします。
フォームに次の値を入力します。
クライアントタイプ: OpenID Connect
クライアント ID: myclient
[次へ] をクリックします。
標準フローが有効になっていることを確認します。
[次へ] をクリックします。
[ログイン設定] でこれらの変更を行います。
有効なリダイレクト URI を https://keycloak.dokyumento.jp/app/*
に設定します。
Web オリジン を https://keycloak.dokyumento.jp
に設定します。
[保存] をクリックします。
クライアントが正常に作成されたことを確認するために、Keycloak ウェブサイトの SPA テストアプリケーションを使用できます。
[Keycloak URL
] を Keycloak インスタンスの URL に変更します。
[保存] をクリックします。
[サインイン] をクリックして、先ほど起動した Keycloak サーバーを使用してこのアプリケーションを認証します。
Keycloak を本番環境で実行する前に、次のアクションを検討してください。
PostgreSQL などの本番環境対応のデータベースに切り替えます。
独自の証明書で SSL を構成します。
管理者パスワードをより安全なパスワードに切り替えます。
詳細については、サーバーガイドを参照してください。