kubeflow | dex 계정 추가

전제조건

Kubeflow 환경이 쿠버네티스에 배포된 상태.

설정과정

Profile 생성

apiVersion: kubeflow.org/v1
kind: Profile
metadata:
  name: example
spec:
  owner:
    kind: User
    name: example@gmail.com
  resourceQuotaSpec: {}

hash값 생성

import bcrypt

print(bcrypt.hashpw(b'비밀번호', bcrypt.gensalt()).decode())

Profile 수정

kubectl edit -n auth cm dex

아래 내용 참고하여 계정정보 추가, staticPasswords 항목.

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: user@example.com
      hashFromEnv: DEX_USER_PASSWORD
      username: user
      userID: "15841185641784"
    - email: example@gmail.com
      hash: ${hash}
      username: example
      userID: "20240818"
    ......
    ......

Dex 재구성

kubectl rollout restart -n auth deployment dex