kubeflow add user / 쿠베플로우 유저 추가

쿠베플로우 유저 추가하기

#git에서 다운받고 설치한 manifests 폴더의 경로로 간다.

vi manifests/common/dex/base/config-map.yaml

    staticPasswords:
    - email: user@example.com
      hash: $2y$12$4K/VkmDd1q1Orb3xAt82zu8gk7Ad6ReFR4LCP9UeYE90NLiN9Df72
      # https://github.com/dexidp/dex/pull/1601/commits
      # FIXME: Use hashFromEnv instead
      username: user
      userID: "15841185641784"

    - email:test@test.com
      hash: $2y$12$pDc5xf3xUmjARZRPK/7iUedj/tXqcFZlMov7I8eh3MD/1CcU61P9a
      # https://github.com/dexidp/dex/pull/1601/commits
      # FIXME: Use hashFromEnv instead
      username: test
      userID: "test"
      

위와같이 test@test.com의 유저를 만들었다.

hash관련해서 만드는방법은

https://github.com/kubeflow/manifests/blob/master/README.md

여기에 설명된 대로 파이썬에 들어가서 실행하면 간단하게 사용할 수 있다.

파이썬이 없다면 구글 코랩을 활용하면 될것같다.

python3 -c 'from passlib.hash import bcrypt; import getpass; print(bcrypt.using(rounds=12, ident="2y").hash(getpass.getpass()))'

config-map.yaml이 다 작성됐다면 dex를 재시작 하자.

$ kubectl rollout restart deployment dex -n auth

namespace 추가 및 수정

  1. namespace생성을 위한 yaml파일 생성
$ vi test_profile.yaml

apiVersion: kubeflow.org/v1beta1
kind: Profile
metadata:
  name: test
spec:
  owner:
    kind: User
    name: test@test.com
  resourceQuotaSpec:
    hard:
      cpu: "8"
      memory: 20Gi
      persistentvolumeclaims: "1"
      requests.storage: "100Gi"

$ kubectl create -f test_profile.yaml
$ kubectl get profile -A
# -> 생성한 프로필 확인

manifasts params.env수정

vi /manifests/common/user-namespace/base/params.env

user=test@test.com
profile-name=test


$ kustomize build common/user-namespace/base | kubectl apply -f -


#여러유저를 한번에 작성하고 관리하는건  확인중. 
# 확인후 수정할 예정

dex화면에 들어가서 namespace가 추가된것을 확인한다.

ps

쿠베플로우 설치시 CD_REGISTRATION_FLOW 변수를 true로 설정하면 자동으로 프로필 생성을 활성화 할 수 있다.

경로 ->  <manifests-path>/apps/centraldashboard/upstream/base/params.env

CD_CLUSTER_DOMAIN=cluster.local
CD_USERID_HEADER=kubeflow-userid
CD_USERID_PREFIX=
CD_REGISTRATION_FLOW=true

그리고 난 뒤

#git에서 다운받고 설치한 manifests 폴더의 경로로 간다.

vi manifests/common/dex/base/config-map.yaml

    staticPasswords:
    - email: user@example.com
      hash: $2y$12$4K/VkmDd1q1Orb3xAt82zu8gk7Ad6ReFR4LCP9UeYE90NLiN9Df72
      # https://github.com/dexidp/dex/pull/1601/commits
      # FIXME: Use hashFromEnv instead
      username: user
      userID: "15841185641784"

    - email:test@test.com
      hash: $2y$12$pDc5xf3xUmjARZRPK/7iUedj/tXqcFZlMov7I8eh3MD/1CcU61P9a
      # https://github.com/dexidp/dex/pull/1601/commits
      # FIXME: Use hashFromEnv instead
      username: test
      userID: "test"

config에 계정을 하나 추가 해 주고.

파드 제거 후 다시 빌드 해주면 계정이 활성화 된다

$kubectl get po -n auth # 파드 네임 확인
$kubectl delete pod dex-665496dbcf-fwkqc -n auth # dex~뒤에 값은  다름
$ kustomize build common/dex/overlays/istio | kubectl apply -f -

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다