shikanon / kubeflow-manifests

kubeflow国内一键安装文件
GNU General Public License v3.0
338 stars 117 forks source link

安装完成后根据文档上的用户名和密码登录不进去 #26

Open zhangle-dev opened 3 years ago

zhangle-dev commented 3 years ago

我按照步骤安装完成之后,访问30000端口到登录页面,用admin@example.com/password 登录一直提示Invalid Email Address and password.,不知道为什么。 还有个问题,我之前通过官网的步骤安装过,好像没有登录页面,这个认证功能是哪个组件实现的,在哪里可以关掉。 希望能够解答,谢谢

shikanon commented 3 years ago

认证通过 patch 下的 auth.yaml 文件实现的:

apiVersion: v1
data:
  config.yaml: |
    issuer: http://dex.auth.svc.cluster.local:5556/dex
    storage:
      type: kubernetes
      config:
        inCluster: true
    web:
      http: 0.0.0.0:5556
    logger:
      level: "debug"
      format: text
    oauth2:
      skipApprovalScreen: true
    enablePasswordDB: true
    staticPasswords:
    - email: "admin@example.com"
      # hash string is "password"
      hash: "$2y$12$X.oNHMsIfRSq35eRfiTYV.dPIYlWyPDRRc1.JVp0f3c.YqqJNW4uK"
      # https://github.com/dexidp/dex/pull/1601/commits
      # FIXME: Use hashFromEnv instead
      username: "admin"
      userID: "08a8684b-db88-4b73-90a9-3cd1661f5466"
    staticClients:
    # https://github.com/dexidp/dex/pull/1664
    - idEnv: OIDC_CLIENT_ID
      redirectURIs: ["/login/oidc"]
      name: 'Dex Login Application'
      secretEnv: OIDC_CLIENT_SECRET
kind: ConfigMap
metadata:
  name: dex
  namespace: auth
---
apiVersion: v1
data:
  profile-name: kubeflow-user-example-com
  user: admin@example.com
kind: ConfigMap
metadata:
  name: default-install-config-9h2h2b6hbk
---
apiVersion: kubeflow.org/v1beta1
kind: Profile
metadata:
  name: kubeflow-user-example-com
spec:
  owner:
    kind: User
    name: admin@example.com

@zhangle-dev 你可以delete 掉 auth 命名空间下的 dex 名字的pod,让他重启看看,有可能是配置没重载

zhangle-dev commented 3 years ago

重启了这个pod没有成功,我把服务器重启了又可以了,谢谢哈

HarborZeng commented 3 years ago

这个问题我也遇到了,额外执行一下

kubectl apply -f patch/auth.yaml
Planck0591 commented 3 years ago

@shikanon 这个密码是用什么hash的,我用官方文档的方法hash出来的字符串跟您的这个不一样

shikanon commented 3 years ago

@Planck0591 你用的是不是patch下的,patch 下的密码就是 passwdhttps://github.com/shikanon/kubeflow-manifests/blob/b86bb177087f11a78ee95e86bf91e4a2f83c62d0/patch/auth.yaml#L19

Planck0591 commented 3 years ago

@shikanon 官方的方法:python3 -c 'from passlib.hash import bcrypt; import getpass; print(bcrypt.using(rounds=12, ident="2y").hash(getpass.getpass()))',生成的hash是:$2y$12$XF6J2VNShmy07hHO6AtAo.QDLfXjSbNpgVF.x0MSeOzvOI0EiBUV2,patch里面的hash串是:$2y$12$X.oNHMsIfRSq35eRfiTYV.dPIYlWyPDRRc1.JVp0f3c.YqqJNW4uK,对不上。当然我用官方的密码1234生成的hash跟官方也对不上,所以想请教您一下,你是怎么生成hash字符串的

Planck0591 commented 3 years ago

官方的方法是对的,看来生成字符串不一致并没有什么,现在已经可以了,非常感谢