이 문서는 kubeflow on AKS (Vanila)에서 userID, 비밀번호를 추가하고, TLS 인증서를 받아 HTTPS까지 연결하는 방법입니다. Kserve는HTTPS환경이 아니면 배포되지 않아서 이 설정이 필수입니다.
Deploy Kubeflow with Password, Ingress and TLS 이 문서(AKS)를 베이스로 하지만 Securing the Kubeflow authentication with HTTPS(IKS;IBM Kubeflow Service), Authentication using OIDC in Azure kubeflow 공식 문서도 참고했습니다.
리포지토리 클론(Vanila와 동일)
git clone --recurse-submodules <https://github.com/Azure/kubeflow-aks.git>
kubeflow-aks/deployments/tls/dex-config-map.yaml을 통해 id, pw를 수정할 수 있습니다.
Bcrypt Hash Generator | CodersTool 이곳에서 사용할 비밀번호 해시 생성 후
email: [email protected]
pw: kubeflowgn1234!@
바뀐 기본 이메일은 kubeflow-aks/manifests/com/user-namespace/base/params.env에 설정해줘야 합니다.
바뀐 설정을 manifests/tls로 복사합니다.
cp -a deployments/tls manifests/tls
이후 kubeflow-aks 디렉토리에서 아래의 명령어로 설치를 진행합니다.
while ! kubectl kustomize ./tls | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done
설치가 끝난 후 dex를 재시작합니다.
kubectl rollout restart deployment dex -n auth
istio-ingressgateway
를 loadbalance 타입으로 변경합니다.
kubectl patch svc istio-ingressgateway -n istio-system \\
-p '{"spec":{"type":"LoadBalancer"}}'