MLOPS/SERVING

[Kubeflow] Notebooks 메뉴에서 노트북 생성할 때 Could not find CSRF cookie XSRF-TOKEN in the request 에러

개발허재 2023. 1. 4. 16:52

Notebooks 메뉴에서 노트북 생성할 때 Could not find CSRF cookie XSRF-TOKEN in the request 에러가 발생한다면, 이것은 HTTP로 접근하게 되면 발생하는 오류이며 나는 로컬환경이 아닌 원격환경이므로 localhost 로 접속이 아닌 ip로 접속했기 때문에 XSRF-TOKEN이 생성되지 않았던 것이다. 따라서,

vi manifest/apps/jupyter/jupyter-web-app/upstream/base/deployment.yaml

# 위 명령어로 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

 

################### 사이의 블록을 추가해준 뒤

kustomize build apps/jupyter/jupyter-web-app/upstream/overlays/istio | kubectl apply -f -

위 명령어로 재빌드 한다.

추가로,

vi manifests/apps/tensorboard/tensorboards-web-app/upstream/base/deployment.yaml

#로 해당파일 연 뒤,

##############################
- name: USERID_PREFIX
  value: $(VWA_USERID_PREFIX)
##############################

#위 블록 아래에
- name: APP_SECURE_COOKIES
  value: "false"
  
#마찬가지로 위 블럭을 추가하고 닫는다.

kustomize build manifests/apps/tensorboard/tensorboards-web-app/upstream/overlays/istio | kubectl apply -f -
#위 명령어로 재빌드한다.

#추가적으로, 
vi manifests/apps/volumes-web-app/upstream/base/deployment.yaml

#로 해당파일 연 뒤,

##############################
- name: USERID_PREFIX
  value: $(VWA_USERID_PREFIX)
##############################

#위 블록 아래에
- name: APP_SECURE_COOKIES
  value: "false"
  
#마찬가지로 위 블럭을 추가하고 닫는다.

kustomize build manifests/apps/volumes-web-app/upstream/overlays/istio | kubectl apply -f -
#위 명령어로 재빌드한다.

 

출처: https://github.com/kubeflow/manifests/tree/v1.4.0#nodeport--loadbalancer--ingress