3.2. Keycloak での新規クライアントの設定
Dex は、Operator によって作成されるすべての Argo CD インスタンスにデフォルトでインストールされます。ただし、Dex 設定を削除し、代わりに Keycloak を追加して OpenShift 認証情報を使用して Argo CD にログインすることができます。Keycloak は Argo CD と OpenShift 間のアイデンティティーブローカーとして機能します。
手順
Keycloak を設定するには、以下の手順に従います。
Argo CD カスタムリソース (CR) から
.spec.sso.dexパラメーターを削除して Dex 設定を削除し、CR を保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Argo CD CR で
providerパラメーターの値をkeycloakに設定します。 次のいずれかの手順を実行して、Keycloak を設定します。
安全な接続のために、次の例に示すように
rootCAパラメーターの値を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Keycloak の TLS 証明書を検証するために使用されるカスタム証明書。
Operator は
.spec.keycloak.rootCAパラメーターの変更を調整し、argocd-cm設定マップの PEM エンコードされたルート証明書でoidc.configパラメーターを更新します。安全でない接続の場合は、
rootCAパラメーターの値を空のままにして、以下に示すようにoidc.tls.insecure.skip.verifyパラメーターを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
spec.sso.keycloakフィールドをカスタマイズして、ArgoCDCR にkeycloakプロバイダーのルート名を追加します。この機能を使用すると、複数の Ingress Controller シャード 間で着信トラフィックの負荷を分散するなど、高度なルーティングのユースケースをサポートできます。次の YAML の例を使用して、
ArgoCDCR にhostパラメーターを追加します。ArgoCDCR の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow ArgoCD CRを作成するには、次のコマンドを実行します。oc create -f <argocd_filename>.yaml -n <your-namespace>
$ oc create -f <argocd_filename>.yaml -n <your-namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ArgoCD CRを編集するには、次のコマンドを実行します。oc edit -f <argocd_filename>.yaml -n <your_namespace>
$ oc edit -f <argocd_filename>.yaml -n <your_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するためにファイルを保存します。
ArgoCDCR を適用するには、次のコマンドを実行します。oc apply -f <argocd_filename>.yaml -n <your_namespace>
$ oc apply -f <argocd_filename>.yaml -n <your_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
host属性が追加されたことを確認します。oc get route keycloak -n <your_namespace> -o yaml
$ oc get route keycloak -n <your_namespace> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Keycloak インスタンスのインストールおよび実行には、2 - 3 分かかります。