3.2. 在 Keycloak 中配置新客户端
对于 Operator 创建的所有 Argo CD 实例,默认安装 Dex。但是,您可以删除 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.sso.keycloak.rootCA参数中的更改,并使用argocd-cm配置映射中 PEM 编码的 root 证书更新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 分钟来安装和运行。