text: Title: `singleuser.image` is not picked up
  Body: <!-- Thank you for contributing. These HTML comments will not render in the issue, but you can delete them once you've read them if you prefer! -->
  
  ### Bug description
  
  Custom Image under `singleuser` is not working.
  
  #### Expected behaviour
  
  My `values.yaml` file is as below as I want to use `jupyter/datascience-notebook` to be the base image when use launch. The motivation is that I won't have to install extra common packages such as pandas.
  
  ```
  singleuser:
    storage:
      type: dynamic
      extraLabels: {}
      extraVolumes: []
      extraVolumeMounts: []
      static:
        pvcName:
        subPath: "{username}"
      capacity: 10Gi
      homeMountPath: /home/jovyan
      dynamic:
        storageClass:
        pvcNameTemplate: claim-{username}{servername}
        volumeNameTemplate: volume-{username}{servername}
        storageAccessModes: [ReadWriteOnce]
    image:
      name: jupyter/datascience-notebook
      tag: "set-by-chartpress"
      pullPolicy:
      pullSecrets: []
    startTimeout: 300
    cpu:
      limit:
      guarantee:
    memory:
      limit:
      guarantee: 1G
    extraResource:
      limits: {}
      guarantees: {}
    cmd: null
    defaultUrl:
    extraPodConfig: {}
  ```
  
  #### Actual behaviour
  
  When I run `kubectl describe pod jupyter-pebabion` it shows that the notebook container is still `jupyterhub/k8s-singleuser-sample:1.2.0`.
  
  
  ### Your personal set up
  
  <!--
  Tell us a little about the system you're using.
  Please include information about how you installed,
  e.g. are you using a distribution such as zero-to-jupyterhub or the-littlest-jupyterhub.
   -->
  
   - OS: I'm using Macbook M1. K8S is running on DigitalOcean. 
   <!-- [e.g. ubuntu 20.04, macOS 11.0] -->
   - Version(s):
   <!-- e.g. jupyterhub --version, python --version --->
  
  <details><summary>Full environment</summary>
  <!-- For reproduction, it's useful to have the full environment. For example, the output of `pip freeze` or `conda list` --->
  
  ```
  # paste output of `pip freeze` or `conda list` here
  ```
  </details>
  
  <details><summary>Configuration</summary>
  <!--
  For JupyterHub, especially include information such as what Spawner and Authenticator are being used.
  Be careful not to share any sensitive information.
  You can paste jupyterhub_config.py below.
  To exclude lots of comments and empty lines from auto-generated jupyterhub_config.py, you can do:
      grep -v '\(^#\|^[[:space:]]*$\)' jupyterhub_config.py
  -->
  
  ```python
  # jupyterhub_config.py
  ```
  </details>
  
  <details><summary>Logs</summary>
  <!--
  Errors are often logged by jupytehub. How you get logs depends on your deployment.
  With kubernetes it might be:
  
      kubectl get pod # hub pod name starts with hub...
      kubectl logs hub-...
      # or for a single-user server
      kubectl logs jupyter-username
  
  Or the-littlest-jupyterhub:
  
      journalctl -u jupyterhub
      # or for a single-user server
      journalctl -u jupyter-username
  -->
  
  ```
  # paste relevant logs here, if any
  ```
  </details>
  