1: 2021-09-12 (日) 03:11:15 iseki  |
現: 2021-09-12 (日) 04:40:25 iseki  |
| + | ** JupyterHub on Kubernetes (on-premises) [#zff0b408] |
| + | - https://zero-to-jupyterhub.readthedocs.io/en/latest/ |
| + | #br |
| + | |
| + | *** helm [#wb0768ae] |
| + | - vi [[config.yaml>./config.yaml]] |
| + | #br |
| + | **** Repository [#p33f5bb6] |
| + | helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/ |
| + | helm repo update |
| + | helm repo list |
| + | |
| + | **** Install [#da21392e] |
| + | helm upgrade --cleanup-on-fail --install jhub jupyterhub/jupyterhub --namespace k8sns --create-namespace --version=1.1.3 --values config.yaml |
| + | - jhub : release name |
| + | - k8sns : namespace |
| + | |
| + | - helm list -n k8sns |
| + | #br |
| + | |
| + | **** Upgrade [#k0ed55cd] |
| + | helm upgrade --cleanup-on-fail jhub jupyterhub/jupyterhub --namespace k8sns --version=1.1.3 --values config.yaml |
| + | |
| + | **** config.yaml [#f0df1263] |
| + | - config.yaml は実行する度に使設定されるみたい. |
| + | - 削除する設定は明確に書く! |
| + | #br |
| + | |
| + | *** Volume [#eeaa0542] |
| + | - 以下を名前を変えて2セット作る (Hub用とnotebook用) |
| + | - helm で先にPODをインストールし,その後にVolumeを作って,helm でPODをアップグレードする?(namespace が決まらないので) |
| + | #br |
| + | |
| + | **** Install [#g66bee29] |
| + | helm upgrade --cleanup-on-fail --install jhub jupyterhub/jupyterhub --namespace k8sns --create-namespace --version=1.1.3 --values config.yaml |
| + | |
| + | **** Upgrade [#p315ca56] |
| + | helm upgrade --cleanup-on-fail jhub jupyterhub/jupyterhub -n k8sns --version=1.1.3 --values config.yaml^C |
| + | |
| + | **** StorageClass [#jf2ee55b] |
| - sc-lv.yaml | | - sc-lv.yaml |
| apiVersion: storage.k8s.io/v1 | | apiVersion: storage.k8s.io/v1 |
| annotations: | | annotations: |
| storageclass.kubernetes.io/is-default-class: "true" | | storageclass.kubernetes.io/is-default-class: "true" |
- | name: local-storage | + | name: local-storage (ここの名前を変える) |
| provisioner: kubernetes.io/no-provisioner | | provisioner: kubernetes.io/no-provisioner |
| volumeBindingMode: WaitForFirstConsumer | | volumeBindingMode: WaitForFirstConsumer |
| + | |
| + | - kubectl -n (namespace) create -f sc-lv.yaml |
| + | -- kubectl get sc |
| + | #br |
| + | |
| + | **** PersistentVolume [#g3fef990] |
| + | - pv-lv.yaml |
| + | apiVersion: v1 |
| + | kind: PersistentVolume |
| + | metadata: |
| + | name: local-pv (ここを変える) |
| + | spec: |
| + | capacity: |
| + | storage: 1Gi |
| + | # volumeMode field requires BlockVolume Alpha feature gate to be enabled. |
| + | volumeMode: Filesystem |
| + | accessModes: |
| + | - ReadWriteOnce |
| + | persistentVolumeReclaimPolicy: Retain |
| + | storageClassName: local-storage (ここを変える.対応する sc の名前にする) |
| + | hostPath: |
| + | path: /data/pv0001 (ここを変える) |
| + | type: DirectoryOrCreate |
| + | #local: |
| + | # path: /data |
| + | nodeAffinity: |
| + | required: |
| + | nodeSelectorTerms: |
| + | - matchExpressions: |
| + | - key: kubernetes.io/hostname |
| + | operator: In |
| + | values: |
| + | - comet (ノードの名前) |
| + | - kubectl -n (namespace) create -f pv-lv.yaml |
| + | -- kubectl get pv |
| + | #br |
| + | |
| + | **** PersistentVolumeClaim [#w18a5036] |
| + | - pvc-lv.yamal |
| + | apiVersion: v1 |
| + | kind: PersistentVolumeClaim |
| + | metadata: |
| + | name: hub-db-dir (hub用) |
| + | #name: claim-iseki (notebook用) |
| + | spec: |
| + | storageClassName: local-storage (対応する sc の名前にする) |
| + | accessModes: |
| + | - ReadWriteOnce |
| + | resources: |
| + | requests: |
| + | storage: 1Gi |
| + | volumeMode: Filesystem |
| + | - kubectl -n (namespace) create -f pvc-lv.yaml |
| + | -- kubectl get pvc |
| + | #br |
| + | **** 削除 [#q41089d9] |
| + | - kube -n (namespace) delete [sc, pv, pvc] (name) |
| + | - kube -n (namespace) delete [sc, pv, pvc] --all |
| + | #br |