Kubernetes에 helm으로 JupyterHub 배포

다중 사용자 Jupyter 환경을 제공하는 JupyterHub를 배포해 봅니다.
helm3을 사용합니다.
htps : // 제로와 쥬 py r 후 b. Red d. cs. 이오 / 엔 / 아 st /

※kind로 구축한 클러스터로 검증한 내용이 됩니다.
와일드카드 DNS를 이용하여 액세스할 수 있도록 이 기사를 참고로 사전 설정을 하고 있습니다.
필요에 따라 작업하십시오.
htps : // m / r_xzvf / ms / 666 네 87d8b84d2937 네 43

0. 사전 준비



※이쪽의 기사에서 소개하고 있는 클러스터를 작성하는 것으로 사전 준비를 할 수 있습니다.
htps : // m / r_xzvf / ms / 666 네 87d8b84d2937 네 43
- 작업자 노드가 하나 이상 있는 Kubernetes 클러스터 만들기
- ingress를 사용할 수 있는 상태

1. config.yaml 파일 만들기



필요 최소한의 설정을 합니다.

※ secretToken 에는 openssl rand -hex 32 를 실행하여 얻은 값을 넣습니다.

config.yaml
proxy:
  secretToken: "<secretTokenを入力>"
singleuser:
  storage:
    capacity: 2Gi
ingress:
  enabled: true
  hosts:
    - hub.<IPアドレス>.nip.io

2. 배포


helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
helm repo update
kubectl create ns jhub
helm upgrade --install jhub jupyterhub/jupyterhub --namespace jhub --version=0.8.2 --values ./config.yaml

3. JupyterHub에 로그인하고 Jupyter notebook을 시작합니다.



http:/hub.IP 주소.nip.io를 방문하여 JupyterHub 로그인 페이지가 표시되는지 확인합니다.



적절한 Username/Password를 입력합니다.
이번에는 hub를 각각 입력하고 Sing In을 클릭합니다.


로그인 후 Jupyter notebook이 시작되기 시작합니다.


시작했습니다.


기타



Zero to JupyterHub에서는 다양한 설정을 할 수 있습니다.
개인적으로 설정을 추천하는 항목에 대해 아래에서 소개합니다.

인증 정보



다양한 인증 방법을 이용할 수 있습니다.
일부는 OAuth를 지원하는 Idp를 이용할 수 있으며 Github 자격 증명으로 로그인할 수 있습니다.
사례에 따라 적절한 인증 방법을 설정하는 것이 좋습니다.
htps : // Jupy r r b. Red d. cs. 이오 / 엔 / s 타 b / 레후 렌세 / 맞는 치치카 rs. HTML
htps : // 제로와 쥬 py r 후 b. Red d. cs. 이오 / 엔 / 아 st / 아 d 미에 st 등과 r / 아테 펜치 카치온. html #기주 b

제 경우에는 Keycloak을 사용하고 있습니다.
JupyterHub와 Keycloak의 연계에 대해서는 나중에 다른 기사에서 소개할 예정입니다.

디폴트의 ​​거동에 대해서, 인증을 아무것도 설정하고 있지 않은 경우는 적당한 Username/Password를 입력하는 것만으로 이용할 수 버립니다.
※이 거동이 올바른지 모르겠습니다 ...
여담이지만 JupyterHub를 k8s가 아닌 일반 서버에서 직접 이동하면 PAM 인증이되므로 Unix 사용자의 자격 증명으로 로그인 할 수 있습니다.

DB 설정 정보



기본적으로 SQLite가 사용됩니다.
프로덕션 운용 시에는 PostgreSQL을 추천합니다.
htps : // Jupy r r b. Red d. cs. 이오/엔/s타 bぇ/레후에렌세/다타바세. HTML

helm에서의 설정은 이쪽이 됩니다.
htps : // 제로와 쥬 py r 후 b. Red d. cs. 이오 / 엔 / 아 st / 레후 렌세 / 레후 렌세. html#후 b-db
hub:
  db:
    type: postgres
    url: postgresql://<db-username>:<db-password>@<db-hostname>:<db-port>/<db-name>

JupyterLab이 시작 시 표시되도록 합니다.



기본적으로 Jupyter notebook이 시작됩니다.
JupyterLab을 시작하려면 다음을 설정합니다.
hub:
  extraConfig:
    myConfig: |
      c.KubeSpawner.default_url = '/lab'

이번 설정을 모두 넣었을 경우의 설정 파일



config.yaml
proxy:
  secretToken: "<secretTokenを入力>"
singleuser:
  storage:
    capacity: 2Gi
hub:
  db:
    type: postgres
    url: postgresql://<db-username>:<db-password>@<db-hostname>:<db-port>/<db-name>
  extraConfig:
    myConfig: |
      c.KubeSpawner.default_url = '/lab'
ingress:
  enabled: true
  hosts:
    - hub.<IPアドレス>.nip.io

JupyterHub에는 다양한 설정 항목이 있으므로 또 다른 기회에 편리한 설정과 기능을 소개하고 싶습니다.

좋은 웹페이지 즐겨찾기