Created
January 10, 2019 04:01
-
-
Save eak24/d7e098c522db17dcffd9148a2f64272d to your computer and use it in GitHub Desktop.
Jupyterhub upgrade log https
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| RELEASE=jhub | |
| NAMESPACE=jhub | |
| helm upgrade --install $RELEASE jupyterhub/jupyterhub \ | |
| --namespace $NAMESPACE \ | |
| --version 0.7.0 \ | |
| --values config.yaml --dry-run --debug | |
| [debug] Created tunnel using local port: '57299' | |
| [debug] SERVER: "127.0.0.1:57299" | |
| [debug] Fetched jupyterhub/jupyterhub to /Users/ethankeller/.helm/cache/archive/jupyterhub-0.7.0.tgz | |
| 2019/01/09 22:46:35 Warning: Merging destination map for chart 'jupyterhub'. Cannot overwrite table item 'extraConfig', with non table value: map[] | |
| REVISION: 15 | |
| RELEASED: Wed Jan 9 22:46:34 2019 | |
| CHART: jupyterhub-0.7.0 | |
| USER-SUPPLIED VALUES: | |
| hub: | |
| extraConfig: |- | |
| from oauthenticator.generic import GenericOAuthenticator | |
| c.JupyterHub.authenticator_class = GenericOAuthenticator | |
| import os | |
| os.environ["OAUTH_AUTHORIZE_URL"] = "https://oauth.onshape.com/oauth/authorize?response_type=code&client_id=SCRUBBED=" | |
| os.environ["OAUTH2_TOKEN_URL"] = "https://oauth.onshape.com/oauth/token" | |
| c.GitHubOAuthenticator.oauth_callback_url = 'http://192.168.99.100:31351/hub/oauth_callback' | |
| c.GitHubOAuthenticator.client_id = 'SCRUBBED' | |
| c.GitHubOAuthenticator.client_secret = 'SCRUBBED' | |
| c.GenericOAuthenticator.login_service = 'Onshape' | |
| c.GenericOAuthenticator.userdata_url = 'https://oauth.onshape.com/oauth/authorize?response_type=code&client_id=SCRUBBED' | |
| c.GenericOAuthenticator.token_url = "https://oauth.onshape.com/oauth/token" | |
| c.GenericOAuthenticator.userdata_method = 'POST' | |
| extraEnv: | |
| OAUTH2_AUTHORIZE_URL: https://oauth.onshape.com/oauth/authorize?response_type=code&client_id=SCRUBBED | |
| OAUTH2_TOKEN_URL: https://oauth.onshape.com/oauth/token | |
| proxy: | |
| https: | |
| hosts: | |
| - https://jake-onshape-application.com | |
| letsencrypt: | |
| contactEmail: [email protected] | |
| secretToken: SCRUBBED | |
| singleuser: | |
| image: | |
| name: ethan92429/jake | |
| tag: 0.0.3 | |
| COMPUTED VALUES: | |
| auth: | |
| admin: | |
| access: true | |
| users: null | |
| dummy: | |
| password: null | |
| ldap: | |
| dn: | |
| search: {} | |
| user: {} | |
| user: {} | |
| state: | |
| cryptoKey: null | |
| enabled: false | |
| type: dummy | |
| whitelist: | |
| users: null | |
| cull: | |
| concurrency: 10 | |
| enabled: true | |
| every: 600 | |
| maxAge: 0 | |
| podCuller: | |
| image: | |
| name: jupyterhub/k8s-pod-culler | |
| tag: 0.7.0 | |
| timeout: 3600 | |
| users: false | |
| debug: | |
| enabled: false | |
| hub: | |
| activeServerLimit: null | |
| allowNamedServers: false | |
| annotations: | |
| prometheus.io/path: /hub/metrics | |
| prometheus.io/scrape: "true" | |
| baseUrl: / | |
| concurrentSpawnLimit: 64 | |
| consecutiveFailureLimit: 5 | |
| cookieSecret: null | |
| db: | |
| pvc: | |
| accessModes: | |
| - ReadWriteOnce | |
| annotations: {} | |
| selector: {} | |
| storage: 1Gi | |
| storageClassName: null | |
| subPath: null | |
| type: sqlite-pvc | |
| upgrade: null | |
| url: null | |
| deploymentStrategy: | |
| rollingUpdate: null | |
| type: Recreate | |
| extraConfig: |- | |
| from oauthenticator.generic import GenericOAuthenticator | |
| c.JupyterHub.authenticator_class = GenericOAuthenticator | |
| import os | |
| os.environ["OAUTH_AUTHORIZE_URL"] = "https://oauth.onshape.com/oauth/authorize?response_type=code&client_id=SCRUBBED" | |
| os.environ["OAUTH2_TOKEN_URL"] = "https://oauth.onshape.com/oauth/token" | |
| c.GitHubOAuthenticator.oauth_callback_url = 'http://192.168.99.100:31351/hub/oauth_callback' | |
| c.GitHubOAuthenticator.client_id = 'SCRUBBED' | |
| c.GitHubOAuthenticator.client_secret = 'SCRUBBED' | |
| c.GenericOAuthenticator.login_service = 'Onshape' | |
| c.GenericOAuthenticator.userdata_url = 'https://oauth.onshape.com/oauth/authorize?response_type=code&client_id=SCRUBBED' | |
| c.GenericOAuthenticator.token_url = "https://oauth.onshape.com/oauth/token" | |
| c.GenericOAuthenticator.userdata_method = 'POST' | |
| extraConfigMap: {} | |
| extraContainers: [] | |
| extraEnv: | |
| OAUTH2_AUTHORIZE_URL: https://oauth.onshape.com/oauth/authorize?response_type=code&client_id=SCRUBBED | |
| OAUTH2_TOKEN_URL: https://oauth.onshape.com/oauth/token | |
| extraVolumeMounts: [] | |
| extraVolumes: [] | |
| fsGid: 1000 | |
| image: | |
| name: jupyterhub/k8s-hub | |
| tag: 0.7.0 | |
| imagePullPolicy: IfNotPresent | |
| labels: {} | |
| networkPolicy: | |
| egress: | |
| - to: | |
| - ipBlock: | |
| cidr: 0.0.0.0/0 | |
| enabled: false | |
| nodeSelector: {} | |
| pdb: | |
| enabled: true | |
| publicURL: null | |
| resources: | |
| requests: | |
| cpu: 200m | |
| memory: 512Mi | |
| service: | |
| ports: | |
| nodePort: null | |
| type: ClusterIP | |
| services: {} | |
| uid: 1000 | |
| ingress: | |
| annotations: {} | |
| enabled: false | |
| hosts: [] | |
| tls: null | |
| prePuller: | |
| continuous: | |
| enabled: false | |
| extraImages: [] | |
| hook: | |
| enabled: true | |
| extraEnv: {} | |
| image: | |
| name: jupyterhub/k8s-image-awaiter | |
| tag: 0.7.0 | |
| pause: | |
| image: | |
| name: gcr.io/google_containers/pause | |
| tag: "3.0" | |
| proxy: | |
| chp: | |
| image: | |
| name: jupyterhub/configurable-http-proxy | |
| pullPolicy: IfNotPresent | |
| tag: 3.0.0 | |
| resources: | |
| requests: | |
| cpu: 200m | |
| memory: 512Mi | |
| https: | |
| enabled: true | |
| hosts: | |
| - https://jake-onshape-application.com | |
| letsencrypt: | |
| contactEmail: [email protected] | |
| manual: | |
| cert: null | |
| key: null | |
| secret: | |
| crt: "" | |
| key: "" | |
| name: "" | |
| type: letsencrypt | |
| labels: {} | |
| lego: | |
| image: | |
| name: jetstack/kube-lego | |
| pullPolicy: IfNotPresent | |
| tag: 0.1.6 | |
| resources: {} | |
| networkPolicy: | |
| egress: | |
| - to: | |
| - ipBlock: | |
| cidr: 0.0.0.0/0 | |
| enabled: false | |
| nginx: | |
| image: | |
| name: quay.io/kubernetes-ingress-controller/nginx-ingress-controller | |
| pullPolicy: IfNotPresent | |
| tag: 0.15.0 | |
| proxyBodySize: 64m | |
| resources: {} | |
| nodeSelector: {} | |
| pdb: | |
| enabled: true | |
| secretToken: SCRUBBED | |
| service: | |
| annotations: {} | |
| labels: {} | |
| nodePorts: | |
| http: null | |
| https: null | |
| type: LoadBalancer | |
| rbac: | |
| enabled: true | |
| singleuser: | |
| cloudMetadata: | |
| enabled: false | |
| ip: 169.254.169.254 | |
| cmd: jupyterhub-singleuser | |
| cpu: | |
| guarantee: null | |
| limit: null | |
| defaultUrl: null | |
| events: true | |
| extraAnnotations: {} | |
| extraEnv: {} | |
| extraLabels: {} | |
| extraResource: | |
| guarantees: {} | |
| limits: {} | |
| fsGid: 100 | |
| image: | |
| name: ethan92429/jake | |
| pullPolicy: IfNotPresent | |
| tag: 0.0.3 | |
| imagePullSecret: | |
| email: null | |
| enabled: false | |
| password: null | |
| registry: null | |
| username: null | |
| initContainers: null | |
| lifecycleHooks: null | |
| memory: | |
| guarantee: 1G | |
| limit: null | |
| networkPolicy: | |
| egress: | |
| - to: | |
| - ipBlock: | |
| cidr: 0.0.0.0/0 | |
| except: | |
| - 169.254.169.254/32 | |
| enabled: false | |
| networkTools: | |
| image: | |
| name: jupyterhub/k8s-network-tools | |
| tag: 0.7.0 | |
| nodeSelector: {} | |
| schedulerStrategy: null | |
| serviceAccountName: null | |
| startTimeout: 300 | |
| storage: | |
| capacity: 10Gi | |
| dynamic: | |
| pvcNameTemplate: claim-{username}{servername} | |
| storageAccessModes: | |
| - ReadWriteOnce | |
| storageClass: null | |
| volumeNameTemplate: volume-{username}{servername} | |
| extraVolumeMounts: [] | |
| extraVolumes: [] | |
| homeMountPath: /home/jovyan | |
| static: | |
| pvcName: null | |
| subPath: '{username}' | |
| type: dynamic | |
| uid: 1000 | |
| HOOKS: | |
| --- | |
| # hook-image-awaiter | |
| apiVersion: batch/v1 | |
| kind: Job | |
| metadata: | |
| name: hook-image-awaiter | |
| labels: | |
| component: image-puller | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| hub.jupyter.org/deletable: "true" | |
| annotations: | |
| "helm.sh/hook": pre-install,pre-upgrade | |
| "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded | |
| "helm.sh/hook-weight": "10" | |
| spec: | |
| template: | |
| metadata: | |
| labels: | |
| component: image-puller | |
| app: jupyterhub | |
| release: jhub | |
| spec: | |
| restartPolicy: Never | |
| serviceAccountName: hook-image-awaiter | |
| containers: | |
| - image: jupyterhub/k8s-image-awaiter:0.7.0 | |
| name: hook-image-awaiter | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - /image-awaiter | |
| - -ca-path=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| - -auth-token-path=/var/run/secrets/kubernetes.io/serviceaccount/token | |
| - -api-server-address=https://$(KUBERNETES_SERVICE_HOST):$(KUBERNETES_SERVICE_PORT) | |
| - -namespace=jhub | |
| - -daemonset=hook-image-puller | |
| --- | |
| # hook-image-puller | |
| apiVersion: extensions/v1beta1 | |
| kind: DaemonSet | |
| metadata: | |
| name: hook-image-puller | |
| labels: | |
| component: hook-image-puller | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| hub.jupyter.org/deletable: "true" | |
| annotations: | |
| "helm.sh/hook": pre-install,pre-upgrade | |
| "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded | |
| "helm.sh/hook-weight": "-10" | |
| spec: | |
| selector: | |
| matchLabels: | |
| component: hook-image-puller | |
| app: jupyterhub | |
| release: jhub | |
| updateStrategy: | |
| type: RollingUpdate | |
| rollingUpdate: | |
| maxUnavailable: 100% | |
| template: | |
| metadata: | |
| labels: | |
| component: hook-image-puller | |
| app: jupyterhub | |
| release: jhub | |
| spec: | |
| terminationGracePeriodSeconds: 0 | |
| automountServiceAccountToken: false | |
| initContainers: | |
| - name: image-pull-singleuser | |
| image: ethan92429/jake:0.0.3 | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - /bin/sh | |
| - -c | |
| - echo "Pulling complete" | |
| - name: image-pull-metadata-block | |
| image: jupyterhub/k8s-network-tools:0.7.0 | |
| imagePullPolicy: IfNotPresent | |
| command: | |
| - /bin/sh | |
| - -c | |
| - echo "Pulling complete" | |
| nodeSelector: {} | |
| containers: | |
| - name: pause | |
| image: gcr.io/google_containers/pause:3.0 | |
| --- | |
| # hook-image-awaiter | |
| kind: Role | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| metadata: | |
| name: hook-image-awaiter | |
| labels: | |
| component: image-puller | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| hub.jupyter.org/deletable: "true" | |
| annotations: | |
| "helm.sh/hook": pre-install,pre-upgrade | |
| "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded | |
| "helm.sh/hook-weight": "0" | |
| rules: | |
| - apiGroups: ["apps"] # "" indicates the core API group | |
| resources: ["daemonsets"] | |
| verbs: ["get"] | |
| --- | |
| # hook-image-awaiter | |
| kind: RoleBinding | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| metadata: | |
| name: hook-image-awaiter | |
| labels: | |
| component: image-puller | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| hub.jupyter.org/deletable: "true" | |
| annotations: | |
| "helm.sh/hook": pre-install,pre-upgrade | |
| "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded | |
| "helm.sh/hook-weight": "0" | |
| subjects: | |
| - kind: ServiceAccount | |
| name: hook-image-awaiter | |
| namespace: jhub | |
| roleRef: | |
| kind: Role | |
| name: hook-image-awaiter | |
| apiGroup: rbac.authorization.k8s.io | |
| --- | |
| # hook-image-awaiter | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: hook-image-awaiter | |
| labels: | |
| component: image-puller | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| hub.jupyter.org/deletable: "true" | |
| annotations: | |
| "helm.sh/hook": pre-install,pre-upgrade | |
| "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded | |
| "helm.sh/hook-weight": "0" | |
| MANIFEST: | |
| --- | |
| # Source: jupyterhub/templates/hub/pdb.yaml | |
| apiVersion: policy/v1beta1 | |
| kind: PodDisruptionBudget | |
| metadata: | |
| name: hub | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| spec: | |
| minAvailable: 1 | |
| selector: | |
| matchLabels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| --- | |
| # Source: jupyterhub/templates/proxy/pdb.yaml | |
| apiVersion: policy/v1beta1 | |
| kind: PodDisruptionBudget | |
| metadata: | |
| name: proxy | |
| labels: | |
| component: proxy | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| spec: | |
| minAvailable: 1 | |
| selector: | |
| matchLabels: | |
| component: proxy | |
| app: jupyterhub | |
| release: jhub | |
| --- | |
| # Source: jupyterhub/templates/hub/secret.yaml | |
| kind: Secret | |
| apiVersion: v1 | |
| metadata: | |
| name: hub-secret | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| type: Opaque | |
| data: | |
| proxy.token: "SCRUBBED" | |
| --- | |
| # Source: jupyterhub/templates/hub/configmap.yaml | |
| kind: ConfigMap | |
| apiVersion: v1 | |
| metadata: | |
| name: hub-config | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| data: | |
| cull.enabled: "true" | |
| cull.users: "false" | |
| cull.timeout: "3600" | |
| cull.every: "600" | |
| cull.concurrency: "10" | |
| cull.max-age: "0" | |
| auth.type: "dummy" | |
| auth.state.enabled: "false" | |
| auth.admin.access: "true" | |
| singleuser.network-tools.image.name: "jupyterhub/k8s-network-tools" | |
| singleuser.network-tools.image.tag: "0.7.0" | |
| singleuser.cloud-metadata: | | |
| enabled: false | |
| ip: 169.254.169.254 | |
| singleuser.start-timeout: "300" | |
| singleuser.image-pull-policy: "IfNotPresent" | |
| singleuser.cmd: "jupyterhub-singleuser" | |
| singleuser.events: "true" | |
| singleuser.uid: "1000" | |
| singleuser.fs-gid: "100" | |
| singleuser.node-selector: "{}" | |
| singleuser.storage.type: "dynamic" | |
| singleuser.storage.home_mount_path: "/home/jovyan" | |
| singleuser.storage.extra-volumes: "[]" | |
| singleuser.storage.extra-volume-mounts: "[]" | |
| singleuser.storage.capacity: "10Gi" | |
| singleuser.storage.dynamic.pvc-name-template: "claim-{username}{servername}" | |
| singleuser.storage.dynamic.volume-name-template: "volume-{username}{servername}" | |
| singleuser.storage.dynamic.storage-access-modes: "[ReadWriteOnce]" | |
| singleuser.memory.guarantee: "1G" | |
| singleuser.extra-labels: | | |
| hub.jupyter.org/network-access-hub: "true" | |
| kubespawner.common-labels: | | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: jupyterhub | |
| hub.allow-named-servers: "false" | |
| hub.concurrent-spawn-limit: "64" | |
| hub.consecutive-failure-limit: "5" | |
| hub.extra-config.default.py: | | |
| from oauthenticator.generic import GenericOAuthenticator | |
| c.JupyterHub.authenticator_class = GenericOAuthenticator | |
| import os | |
| os.environ["OAUTH_AUTHORIZE_URL"] = "https://oauth.onshape.com/oauth/authorize?response_type=code&client_id=SCRUBBED" | |
| os.environ["OAUTH2_TOKEN_URL"] = "https://oauth.onshape.com/oauth/token" | |
| c.GitHubOAuthenticator.oauth_callback_url = 'http://192.168.99.100:31351/hub/oauth_callback' | |
| c.GitHubOAuthenticator.client_id = 'SCRUBBED' | |
| c.GitHubOAuthenticator.client_secret = 'SCRUBBED' | |
| c.GenericOAuthenticator.login_service = 'Onshape' | |
| c.GenericOAuthenticator.userdata_url = 'https://oauth.onshape.com/oauth/authorize?response_type=code&client_id=SCRUBBED' | |
| c.GenericOAuthenticator.token_url = "https://oauth.onshape.com/oauth/token" | |
| c.GenericOAuthenticator.userdata_method = 'POST' | |
| hub.base_url: "/" | |
| hub.db_url: "sqlite:///jupyterhub.sqlite" | |
| debug.enabled: "false" | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/configmap-nginx.yaml | |
| kind: ConfigMap | |
| apiVersion: v1 | |
| metadata: | |
| name: nginx-proxy-config | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| data: | |
| proxy-body-size: "64m" | |
| --- | |
| # Source: jupyterhub/templates/hub/pvc.yaml | |
| kind: PersistentVolumeClaim | |
| apiVersion: v1 | |
| metadata: | |
| name: hub-db-dir | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| spec: | |
| accessModes: | |
| - ReadWriteOnce | |
| resources: | |
| requests: | |
| storage: "1Gi" | |
| --- | |
| # Source: jupyterhub/templates/hub/rbac.yaml | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: hub | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/rbac.yaml | |
| # This is way too many permissions, but apparently the nginx-controller | |
| # is written to sortof assume it is clusterwide ingress provider. | |
| # So we keep this as is, for now. | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: autohttps | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/rbac.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRole | |
| metadata: | |
| name: nginx-jhub | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - configmaps | |
| - endpoints | |
| - nodes | |
| - pods | |
| - secrets | |
| verbs: | |
| - list | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - namespaces | |
| resourceNames: | |
| - "jhub" | |
| verbs: | |
| - get | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - nodes | |
| verbs: | |
| - get | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - services | |
| verbs: | |
| - get | |
| - list | |
| - update | |
| - watch | |
| - apiGroups: | |
| - extensions | |
| resources: | |
| - ingresses | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - events | |
| verbs: | |
| - create | |
| - patch | |
| - apiGroups: | |
| - extensions | |
| resources: | |
| - ingresses/status | |
| verbs: | |
| - update | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/rbac.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: nginx-jhub | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: nginx-jhub | |
| subjects: | |
| - kind: ServiceAccount | |
| name: autohttps | |
| namespace: jhub | |
| --- | |
| # Source: jupyterhub/templates/hub/rbac.yaml | |
| kind: Role | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| metadata: | |
| name: hub | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| rules: | |
| - apiGroups: [""] # "" indicates the core API group | |
| resources: ["pods", "persistentvolumeclaims"] | |
| verbs: ["get", "watch", "list", "create", "delete"] | |
| - apiGroups: [""] # "" indicates the core API group | |
| resources: ["events"] | |
| verbs: ["get", "watch", "list"] | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/rbac.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: Role | |
| metadata: | |
| name: kube-lego | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - services | |
| verbs: | |
| - create | |
| - get | |
| - delete | |
| - apiGroups: | |
| - extensions | |
| resources: | |
| - ingresses | |
| verbs: | |
| - get | |
| - update | |
| - create | |
| - list | |
| - patch | |
| - delete | |
| - watch | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - endpoints | |
| - secrets | |
| verbs: | |
| - get | |
| - create | |
| - update | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/rbac.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: Role | |
| metadata: | |
| name: nginx | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - configmaps | |
| - namespaces | |
| - pods | |
| - secrets | |
| verbs: | |
| - get | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - configmaps | |
| resourceNames: | |
| - ingress-controller-leader-jupyterhub-proxy-tls | |
| verbs: | |
| - get | |
| - update | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - configmaps | |
| verbs: | |
| - create | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - endpoints | |
| verbs: | |
| - create | |
| - get | |
| - update | |
| --- | |
| # Source: jupyterhub/templates/hub/rbac.yaml | |
| kind: RoleBinding | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| metadata: | |
| name: hub | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| subjects: | |
| - kind: ServiceAccount | |
| name: hub | |
| namespace: jhub | |
| roleRef: | |
| kind: Role | |
| name: hub | |
| apiGroup: rbac.authorization.k8s.io | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/rbac.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: RoleBinding | |
| metadata: | |
| name: kube-lego | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| roleRef: | |
| kind: Role | |
| name: kube-lego | |
| apiGroup: rbac.authorization.k8s.io | |
| subjects: | |
| - kind: ServiceAccount | |
| name: autohttps | |
| namespace: jhub | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/rbac.yaml | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: RoleBinding | |
| metadata: | |
| name: nginx | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| roleRef: | |
| kind: Role | |
| name: nginx | |
| apiGroup: rbac.authorization.k8s.io | |
| subjects: | |
| - kind: ServiceAccount | |
| name: autohttps | |
| namespace: jhub | |
| --- | |
| # Source: jupyterhub/templates/hub/service.yaml | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: hub | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| spec: | |
| type: ClusterIP | |
| selector: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| ports: | |
| - protocol: TCP | |
| port: 8081 | |
| targetPort: 8081 | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/service.yaml | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: proxy-http | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| annotations: {} | |
| spec: | |
| type: ClusterIP | |
| selector: | |
| component: proxy | |
| app: jupyterhub | |
| release: jhub | |
| ports: | |
| - protocol: TCP | |
| port: 8000 | |
| targetPort: 8000 | |
| --- | |
| # Source: jupyterhub/templates/proxy/service.yaml | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: proxy-public | |
| labels: | |
| component: proxy-public | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| spec: | |
| selector: | |
| # TODO: Refactor to utilize the helpers | |
| component: autohttps | |
| release: jhub | |
| ports: | |
| - name: http | |
| port: 80 | |
| protocol: TCP | |
| targetPort: 80 | |
| # allow proxy.service.nodePort for http | |
| - name: https | |
| port: 443 | |
| protocol: TCP | |
| targetPort: 443 | |
| type: LoadBalancer | |
| --- | |
| # Source: jupyterhub/templates/proxy/service.yaml | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: proxy-api | |
| labels: | |
| component: proxy-api | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| spec: | |
| selector: | |
| component: proxy | |
| app: jupyterhub | |
| release: jhub | |
| ports: | |
| - protocol: TCP | |
| port: 8001 | |
| targetPort: 8001 | |
| --- | |
| # Source: jupyterhub/templates/hub/deployment.yaml | |
| apiVersion: apps/v1beta2 | |
| kind: Deployment | |
| metadata: | |
| name: hub | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| strategy: | |
| rollingUpdate: null | |
| type: Recreate | |
| template: | |
| metadata: | |
| labels: | |
| component: hub | |
| app: jupyterhub | |
| release: jhub | |
| hub.jupyter.org/network-access-proxy-api: "true" | |
| hub.jupyter.org/network-access-proxy-http: "true" | |
| hub.jupyter.org/network-access-singleuser: "true" | |
| annotations: | |
| # This lets us autorestart when the secret changes! | |
| checksum/config-map: SCRUBBED | |
| checksum/secret: SCRUBBED | |
| prometheus.io/path: /hub/metrics | |
| prometheus.io/scrape: "true" | |
| spec: | |
| nodeSelector: {} | |
| affinity: | |
| podAffinity: | |
| preferredDuringSchedulingIgnoredDuringExecution: | |
| - weight: 1 | |
| podAffinityTerm: | |
| topologyKey: kubernetes.io/hostname | |
| labelSelector: | |
| matchExpressions: | |
| - key: component | |
| operator: In | |
| values: ['proxy'] | |
| - key: release | |
| operator: In | |
| values: ["jhub"] | |
| volumes: | |
| - name: config | |
| configMap: | |
| name: hub-config | |
| - name: secret | |
| secret: | |
| secretName: hub-secret | |
| - name: hub-db-dir | |
| persistentVolumeClaim: | |
| claimName: hub-db-dir | |
| serviceAccountName: hub | |
| securityContext: | |
| runAsUser: 1000 | |
| fsGroup: 1000 | |
| containers: | |
| - name: hub | |
| image: jupyterhub/k8s-hub:0.7.0 | |
| command: | |
| - jupyterhub | |
| - --config | |
| - /srv/jupyterhub_config.py | |
| - --upgrade-db | |
| volumeMounts: | |
| - mountPath: /etc/jupyterhub/config/ | |
| name: config | |
| - mountPath: /etc/jupyterhub/secret/ | |
| name: secret | |
| - mountPath: /srv/jupyterhub | |
| name: hub-db-dir | |
| resources: | |
| requests: | |
| cpu: 200m | |
| memory: 512Mi | |
| imagePullPolicy: IfNotPresent | |
| env: | |
| - name: SINGLEUSER_IMAGE | |
| value: "ethan92429/jake:0.0.3" | |
| - name: POD_NAMESPACE | |
| valueFrom: | |
| fieldRef: | |
| fieldPath: metadata.namespace | |
| - name: CONFIGPROXY_AUTH_TOKEN | |
| valueFrom: | |
| secretKeyRef: | |
| name: hub-secret | |
| key: proxy.token | |
| - name: "OAUTH2_AUTHORIZE_URL" | |
| value: "https://oauth.onshape.com/oauth/authorize?response_type=code&client_id=SCRUBBED" | |
| - name: "OAUTH2_TOKEN_URL" | |
| value: "https://oauth.onshape.com/oauth/token" | |
| ports: | |
| - containerPort: 8081 | |
| name: hub | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/deployment.yaml | |
| apiVersion: apps/v1beta2 | |
| kind: Deployment | |
| metadata: | |
| name: autohttps | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| component: autohttps | |
| app: kube-lego | |
| release: jhub | |
| template: | |
| metadata: | |
| labels: | |
| component: autohttps | |
| app: kube-lego | |
| release: jhub | |
| hub.jupyter.org/network-access-proxy-http: "true" | |
| spec: | |
| serviceAccountName: autohttps | |
| nodeSelector: {} | |
| terminationGracePeriodSeconds: 60 | |
| affinity: | |
| podAffinity: | |
| preferredDuringSchedulingIgnoredDuringExecution: | |
| - weight: 1 | |
| podAffinityTerm: | |
| topologyKey: kubernetes.io/hostname | |
| labelSelector: | |
| matchExpressions: | |
| - key: component | |
| operator: In | |
| values: ['hub'] | |
| - key: release | |
| operator: In | |
| values: ["jhub"] | |
| containers: | |
| - name: nginx | |
| image: "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.15.0" | |
| imagePullPolicy: IfNotPresent | |
| resources: | |
| {} | |
| args: | |
| - /nginx-ingress-controller | |
| - --default-backend-service=jhub/proxy-http | |
| - --configmap=jhub/nginx-proxy-config | |
| - --ingress-class=jupyterhub-proxy-tls | |
| - --watch-namespace=jhub | |
| env: | |
| - name: POD_NAME | |
| valueFrom: | |
| fieldRef: | |
| fieldPath: metadata.name | |
| - name: POD_NAMESPACE | |
| valueFrom: | |
| fieldRef: | |
| fieldPath: metadata.namespace | |
| livenessProbe: | |
| httpGet: | |
| path: /healthz | |
| port: 10254 | |
| scheme: HTTP | |
| initialDelaySeconds: 10 | |
| timeoutSeconds: 1 | |
| readinessProbe: | |
| httpGet: | |
| path: /healthz | |
| port: 10254 | |
| scheme: HTTP | |
| ports: | |
| - name: http | |
| containerPort: 80 | |
| protocol: TCP | |
| - name: https | |
| containerPort: 443 | |
| protocol: TCP | |
| - name: kube-lego | |
| image: "jetstack/kube-lego:0.1.6" | |
| imagePullPolicy: IfNotPresent | |
| resources: | |
| {} | |
| env: | |
| - name: LEGO_NAMESPACE | |
| valueFrom: | |
| fieldRef: | |
| fieldPath: metadata.namespace | |
| - name: LEGO_WATCH_NAMESPACE | |
| valueFrom: | |
| fieldRef: | |
| fieldPath: metadata.namespace | |
| - name: LEGO_POD_IP | |
| valueFrom: | |
| fieldRef: | |
| fieldPath: status.podIP | |
| - name: LEGO_EMAIL | |
| # [email protected] | |
| value: "[email protected]" | |
| - name: LEGO_SUPPORTED_INGRESS_PROVIDER | |
| value: "nginx" | |
| - name: LEGO_SUPPORTED_INGRESS_CLASS | |
| value: "jupyterhub-proxy-tls,dummy" | |
| - name: LEGO_DEFAULT_INGRESS_CLASS | |
| value: "jupyterhub-proxy-tls" | |
| - name: LEGO_KUBE_ANNOTATION | |
| value: "hub.jupyter.org/tls-terminator" | |
| - name: LEGO_URL | |
| value: "https://acme-v01.api.letsencrypt.org/directory" | |
| ports: | |
| - containerPort: 8080 | |
| readinessProbe: | |
| httpGet: | |
| path: /healthz | |
| port: 8080 | |
| initialDelaySeconds: 5 | |
| timeoutSeconds: 1 | |
| --- | |
| # Source: jupyterhub/templates/proxy/deployment.yaml | |
| apiVersion: apps/v1beta2 | |
| kind: Deployment | |
| metadata: | |
| name: proxy | |
| labels: | |
| component: proxy | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| component: proxy | |
| app: jupyterhub | |
| release: jhub | |
| template: | |
| metadata: | |
| labels: | |
| component: proxy | |
| app: jupyterhub | |
| release: jhub | |
| hub.jupyter.org/network-access-hub: "true" | |
| hub.jupyter.org/network-access-singleuser: "true" | |
| annotations: | |
| # This lets us autorestart when the secret changes! | |
| checksum/hub-secret: SCRUBBED | |
| checksum/proxy-secret: SCRUBBED | |
| spec: | |
| nodeSelector: {} | |
| terminationGracePeriodSeconds: 60 | |
| affinity: | |
| podAffinity: | |
| preferredDuringSchedulingIgnoredDuringExecution: | |
| - weight: 1 | |
| podAffinityTerm: | |
| topologyKey: kubernetes.io/hostname | |
| labelSelector: | |
| matchExpressions: | |
| - key: component | |
| operator: In | |
| values: ['hub'] | |
| - key: release | |
| operator: In | |
| values: ["jhub"] | |
| containers: | |
| - name: chp | |
| image: jupyterhub/configurable-http-proxy:3.0.0 | |
| command: | |
| - configurable-http-proxy | |
| - --ip=0.0.0.0 | |
| - --api-ip=0.0.0.0 | |
| - --api-port=8001 | |
| - --default-target=http://$(HUB_SERVICE_HOST):$(HUB_SERVICE_PORT) | |
| - --error-target=http://$(HUB_SERVICE_HOST):$(HUB_SERVICE_PORT)/hub/error | |
| - --port=8000 | |
| resources: | |
| requests: | |
| cpu: 200m | |
| memory: 512Mi | |
| env: | |
| - name: CONFIGPROXY_AUTH_TOKEN | |
| valueFrom: | |
| secretKeyRef: | |
| name: hub-secret | |
| key: proxy.token | |
| imagePullPolicy: IfNotPresent | |
| ports: | |
| - containerPort: 8000 | |
| name: proxy-public | |
| - containerPort: 8001 | |
| name: api | |
| --- | |
| # Source: jupyterhub/templates/proxy/autohttps/ingress-internal.yaml | |
| # This is solely used to provide auto HTTPS with our bundled kube-lego | |
| apiVersion: extensions/v1beta1 | |
| kind: Ingress | |
| metadata: | |
| name: jupyterhub-internal | |
| labels: | |
| component: autohttps | |
| app: jupyterhub | |
| release: jhub | |
| chart: jupyterhub-0.7.0 | |
| heritage: Tiller | |
| annotations: | |
| kubernetes.io/ingress.provider: nginx | |
| kubernetes.io/ingress.class: jupyterhub-proxy-tls | |
| hub.jupyter.org/tls-terminator: "true" | |
| spec: | |
| rules: | |
| - http: | |
| paths: | |
| - path: / | |
| backend: | |
| serviceName: proxy-http | |
| servicePort: 8000 | |
| host: https://jake-onshape-application.com | |
| tls: | |
| - secretName: kubelego-tls-proxy-jhub | |
| hosts: | |
| - https://jake-onshape-application.com | |
| Release "jhub" has been upgraded. Happy Helming! | |
| LAST DEPLOYED: Wed Jan 9 22:45:57 2019 | |
| NAMESPACE: jhub | |
| STATUS: FAILED | |
| NOTES: | |
| Thank you for installing JupyterHub! | |
| Your release is named jhub and installed into the namespace jhub. | |
| You can find if the hub and proxy is ready by doing: | |
| kubectl --namespace=jhub get pod | |
| and watching for both those pods to be in status 'Ready'. | |
| You can find the public IP of the JupyterHub by doing: | |
| kubectl --namespace=jhub get svc proxy-public | |
| It might take a few minutes for it to appear! | |
| Note that this is still an alpha release! If you have questions, feel free to | |
| 1. Read the guide at https://z2jh.jupyter.org | |
| 2. Chat with us at https://gitter.im/jupyterhub/jupyterhub | |
| 3. File issues at https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment