Ran:

Quick version:

```
kubectl create namespace jhub
kubectl apply -f storage.yaml
helm upgrade --cleanup-on-fail --install jhub jupyterhub/jupyterhub --namespace jhub --create-namespace --version=2.0.0 --values config.yaml
kubectl apply -f jhub-ingress.yaml
```

And the rest are old notes:


```
$ helm upgrade --cleanup-on-fail --install jhub jupyterhub/jupyterhub --namespace jhub --create-namespace --version=2.0.0 --values config.yaml
Release "jhub" does not exist. Installing it now.
W0324 14:00:31.487881 2324251 reflector.go:347] k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169: watch of *unstructured.Unstructured ended with: an error on the server ("unable to decode an event from the watch stream: http2: client connection lost") has prevented the request from succeeding
W0324 14:00:43.154150 2324251 reflector.go:424] k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: Get "https://10.42.42.201:16443/apis/batch/v1/namespaces/jhub/jobs?fieldSelector=metadata.name%3Dhook-image-awaiter&resourceVersion=135172114": net/http: TLS handshake timeout
I0324 14:00:43.154534 2324251 trace.go:205] Trace[513888607]: "Reflector ListAndWatch" name:k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169 (24-Mar-2023 14:00:32.754) (total time: 10400ms):
Trace[513888607]: ---"Objects listed" error:Get "https://10.42.42.201:16443/apis/batch/v1/namespaces/jhub/jobs?fieldSelector=metadata.name%3Dhook-image-awaiter&resourceVersion=135172114": net/http: TLS handshake timeout 10399ms (14:00:43.154)
Trace[513888607]: [10.40025853s] [10.40025853s] END
E0324 14:00:43.160675 2324251 reflector.go:140] k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: Get "https://10.42.42.201:16443/apis/batch/v1/namespaces/jhub/jobs?fieldSelector=metadata.name%3Dhook-image-awaiter&resourceVersion=135172114": net/http: TLS handshake timeout
W0324 14:00:55.488889 2324251 reflector.go:424] k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: Get "https://10.42.42.201:16443/apis/batch/v1/namespaces/jhub/jobs?fieldSelector=metadata.name%3Dhook-image-awaiter&resourceVersion=135172114": net/http: TLS handshake timeout
I0324 14:00:55.489068 2324251 trace.go:205] Trace[1860942638]: "Reflector ListAndWatch" name:k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169 (24-Mar-2023 14:00:45.476) (total time: 10012ms):
Trace[1860942638]: ---"Objects listed" error:Get "https://10.42.42.201:16443/apis/batch/v1/namespaces/jhub/jobs?fieldSelector=metadata.name%3Dhook-image-awaiter&resourceVersion=135172114": net/http: TLS handshake timeout 10011ms (14:00:55.488)
Trace[1860942638]: [10.012014173s] [10.012014173s] END
E0324 14:00:55.489139 2324251 reflector.go:140] k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: Get "https://10.42.42.201:16443/apis/batch/v1/namespaces/jhub/jobs?fieldSelector=metadata.name%3Dhook-image-awaiter&resourceVersion=135172114": net/http: TLS handshake timeout
W0324 14:01:11.607181 2324251 reflector.go:424] k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169: failed to list *unstructured.Unstructured: Get "https://10.42.42.201:16443/apis/batch/v1/namespaces/jhub/jobs?fieldSelector=metadata.name%3Dhook-image-awaiter&resourceVersion=135172114": net/http: TLS handshake timeout
I0324 14:01:11.607460 2324251 trace.go:205] Trace[1449464739]: "Reflector ListAndWatch" name:k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169 (24-Mar-2023 14:01:01.600) (total time: 10007ms):
Trace[1449464739]: ---"Objects listed" error:Get "https://10.42.42.201:16443/apis/batch/v1/namespaces/jhub/jobs?fieldSelector=metadata.name%3Dhook-image-awaiter&resourceVersion=135172114": net/http: TLS handshake timeout 10006ms (14:01:11.607)
Trace[1449464739]: [10.007141276s] [10.007141276s] END
E0324 14:01:11.607561 2324251 reflector.go:140] k8s.io/client-go@v0.25.2/tools/cache/reflector.go:169: Failed to watch *unstructured.Unstructured: failed to list *unstructured.Unstructured: Get "https://10.42.42.201:16443/apis/batch/v1/namespaces/jhub/jobs?fieldSelector=metadata.name%3Dhook-image-awaiter&resourceVersion=135172114": net/http: TLS handshake timeout
NAME: jhub
LAST DEPLOYED: Fri Mar 24 13:58:04 2023
NAMESPACE: jhub
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
.      __                          __                  __  __          __
      / / __  __  ____    __  __  / /_  ___    _____  / / / / __  __  / /_
 __  / / / / / / / __ \  / / / / / __/ / _ \  / ___/ / /_/ / / / / / / __ \
/ /_/ / / /_/ / / /_/ / / /_/ / / /_  /  __/ / /    / __  / / /_/ / / /_/ /
\____/  \__,_/ / .___/  \__, /  \__/  \___/ /_/    /_/ /_/  \__,_/ /_.___/
              /_/      /____/

       You have successfully installed the official JupyterHub Helm chart!

### Installation info

  - Kubernetes namespace: jhub
  - Helm release name:    jhub
  - Helm chart version:   2.0.0
  - JupyterHub version:   3.0.0
  - Hub pod packages:     See https://github.com/jupyterhub/zero-to-jupyterhub-k8s/blob/2.0.0/images/hub/requirements.txt

### Followup links

  - Documentation:  https://z2jh.jupyter.org
  - Help forum:     https://discourse.jupyter.org
  - Social chat:    https://gitter.im/jupyterhub/jupyterhub
  - Issue tracking: https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues

### Post-installation checklist

  - Verify that created Pods enter a Running state:

      kubectl --namespace=jhub get pod

    If a pod is stuck with a Pending or ContainerCreating status, diagnose with:

      kubectl --namespace=jhub describe pod <name of pod>

    If a pod keeps restarting, diagnose with:

      kubectl --namespace=jhub logs --previous <name of pod>

  - Verify an external IP is provided for the k8s Service proxy-public.

      kubectl --namespace=jhub get service proxy-public

    If the external ip remains <pending>, diagnose with:

      kubectl --namespace=jhub describe service proxy-public

  - Verify web based access:

    You have not configured a k8s Ingress resource so you need to access the k8s
    Service proxy-public directly.

    If your computer is outside the k8s cluster, you can port-forward traffic to
    the k8s Service proxy-public with kubectl to access it from your
    computer.

      kubectl --namespace=jhub port-forward service/proxy-public 8080:http

    Try insecure HTTP access: http://localhost:8080
```

Then I did a lot of shit with storage, and it wouldn't let me modify it, so I uninstalled, redid the storage, then reinstalled:

```
helm uninstall jhub jupyterhub/jupyterhub --namespace jhub
kubectl delete -f storage.yaml
kubectl -n jhub get pv
kubectl -n jhub delete pv pvc-1aa270e4-e14f-4425-b10d-e1b18861bb1f
kubectl apply -f storage.yaml
```

Then reran the apply:

```
$ helm upgrade --cleanup-on-fail --install jhub jupyterhub/jupyterhub --namespace jhub --create-namespace --version=2.0.0 --values config.yaml
ZZ
