1:转到https://www.base64encode.org/并将您的原始证书粘贴到那里进行编码。完整格式的原件如下:
-----BEGIN CERTIFICATE-----
MIIDdDDDD
XXXXXX
VVVVVVV
-----END CERTIFICATE-----
端到端复制编码的结果字符串,注意不要有多余的字符。
2:编辑您的配置映射并确保 yaml 格式正确:
#kubectl -n argocd 编辑 cm argocd-cm
这是一个有效的示例配置:
---
#in argocd-cm
data:
url: https://argocd.int.domain.com
dex.config: |
logger:
level: debug
format: json
connectors:
- type: saml
id: saml
name: saml
config:
ssoURL: https://accounts.google.com/o/saml2/idp?idpid=XXXXXXXX
entityIssuer: https://argocd.int.domain.com/api/dex/callback
redirectURI: https://argocd.int.domain.com/api/dex/callback
ssoIssuer: https://accounts.google.com/o/saml2/idp?idpid=XXXXXXXXX
caData: |
LS0tLS1CRUdJTiBXXXXXXXXXXThe long BASE64EncodedString
usernameAttr: name
emailAttr: email
#etcetc
---
我希望这可以解决您的问题。
注意:在 configmap 中格式化字符可能会通过引入 yaml 解析错误来破坏事情,因此请确保在保存编辑后打开 config map 时看不到 /n 等。
您应该考虑重新启动 argocd-dex-server 和 argocd-server 部署,并确认新 pod 中的日志是干净的。
[taproot@ip-10-10-15-500 ~]# kubectl -n argocd rollout restart deployment argocd-dex-server
deployment.apps/argocd-dex-server restarted
[taproot@ip-10-10-15-500 ~]# kubectl -n argocd rollout restart deployment argocd-server
deployment.apps/argocd-server restarted
我必须执行上述重新启动以消除 UI 上的显着错误,这些错误如下所示:
“无法加载数据:grpc:客户端连接正在关闭”
参考:https ://argoproj.github.io/argo-cd/operator-manual/user-management/google/