쿠베플로우 유저 추가하기
#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 추가 및 수정
- 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 -