Closed RyanKor closed 2 years ago
https://github.com/kubeflow/kubeflow/issues/5803#issuecomment-848405891
사실 올바른 해법이라고 보기는 어렵지만, http 접근 해용을 해주기 위해 manifest/apps/jupyter/jupyter-web-app/upstream/base
의 deployment.yaml
파일의 내용을 다음과 같이 수정했습니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment
spec:
replicas: 1
template:
metadata:
annotations:
sidecar.istio.io/inject: "false"
spec:
containers:
- name: jupyter-web-app
image: public.ecr.aws/j1r0q0g6/notebooks/jupyter-web-app
ports:
- containerPort: 5000
volumeMounts:
- mountPath: /etc/config
name: config-volume
- mountPath: /src/apps/default/static/assets/logos
name: logos-volume
env:
- name: APP_PREFIX
value: $(JWA_PREFIX)
- name: UI
value: $(JWA_UI)
- name: USERID_HEADER
value: $(JWA_USERID_HEADER)
- name: USERID_PREFIX
value: $(JWA_USERID_PREFIX)
- name: APP_SECURE_COOKIES # 새로이 추가한 부분
value: "false" # 새로이 추가한 부분
serviceAccountName: service-account
volumes:
- configMap:
name: config
name: config-volume
- configMap:
name: jupyter-web-app-logos
name: logos-volume
위와 같이 deployment.yaml을 수정하고 manifest 폴더 경로에서 kustomize build apps/jupyter/jupyter-web-app/upstream/overlays/istio | kubectl apply -f -
를 다시 수행하니, jupyter notebook이 생성되는 것을 볼 수 있었습니다.
manifest 레포에 APP_SECURE_COOKIES
설정 값이 없어서 왜 이 내용이 레포에 빠져 있나 했더니, https 설정이 기본이라 http 접근을 권장하지 않는 상황 때문에 설정이 안되어 있다고 하네요...
Bug 상황
아직 https 인증서 작업이 안되어 있는 http 주소의 대시보드 접근 후, Jupyter / tensorboard / volume 인스턴스 생성시, XSRF-TOKEN가 헤더에 없다는 에러가 발생
이에 대한 공식 문서 설명 : HTTPS 를 사용할 수 없는 상황을 추천하지 않는다.
따라서, HTTPS 인증서 작업을 수행하거나, 아래 이미지에서 보는 것처럼
APP_SECURE_COOKIES
를 모두False
처리해줘야함.이에 대한 대처
certificate.yaml
,kubeflow-gateway
yaml 파일을 고쳤는데, 아무리 수정해도 고쳐지지 않았다.APP_SECURE_COOKIES
를 모두False
로 바꿔서 사용할까 싶다.어려운 부분