Skip to content

Commit

Permalink
docs: make links not have <> wrapping them
Browse files Browse the repository at this point in the history
  • Loading branch information
consideRatio committed Jan 4, 2021
1 parent eee4d76 commit 2fbc8c3
Show file tree
Hide file tree
Showing 20 changed files with 146 additions and 146 deletions.
8 changes: 4 additions & 4 deletions doc/source/administrator/cost.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ on providers selected and your use cases.

Below are several links to cost estimators for cloud providers:

* [Google Cloud Platform cost calculator](<https://cloud.google.com/products/calculator/>)
* [Amazon AWS cost calculator](<https://calculator.s3.amazonaws.com/index.html>)
* [Microsoft Azure cost claculator](<https://azure.microsoft.com/en-us/pricing/calculator/>)
* [Google Cloud Platform cost calculator](https://cloud.google.com/products/calculator/)
* [Amazon AWS cost calculator](https://calculator.s3.amazonaws.com/index.html)
* [Microsoft Azure cost claculator](https://azure.microsoft.com/en-us/pricing/calculator/)

## Factors influencing costs

Expand All @@ -43,7 +43,7 @@ This requires significantly fewer storage resources, and also results in faster
load times.

For an indicator of how costs scale with computational resources, see the
[Google Cloud pricing page](<https://cloud.google.com/compute/all-pricing>).
[Google Cloud pricing page](https://cloud.google.com/compute/all-pricing).

### Users

Expand Down
2 changes: 1 addition & 1 deletion doc/source/administrator/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ managing cost with JupyterHub, see {ref}`cost`.
## What version of JupyterHub is installed in the Helm Chart?

Each Helm Chart is packaged with a specific version of JupyterHub (and
other software as well). See see the [Helm Chart repository](<https://github.com/jupyterhub/helm-chart#release-notes>)
other software as well). See see the [Helm Chart repository](https://github.com/jupyterhub/helm-chart#release-notes)
for information about the versions of relevant software packages.


28 changes: 14 additions & 14 deletions doc/source/jupyterhub/customizing/user-environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ To get started customizing the user environment, see the topics below.

## Choose and use an existing Docker image

Project Jupyter maintains the [jupyter/docker-stacks repository](<https://github.com/jupyter/docker-stacks/>), which contains ready to use
Project Jupyter maintains the [jupyter/docker-stacks repository](https://github.com/jupyter/docker-stacks/), which contains ready to use
Docker images. Each image includes a set of commonly used science and data
science libraries and tools. They also provide excellent documentation on [how
to choose a suitable image](<https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html>).
to choose a suitable image](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html).

If you wish to use another image from jupyter/docker-stacks than the
[base-notebook](<https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-base-notebook>)
used by default, such as the [datascience-notebook](<https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-datascience-notebook>)
[base-notebook](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-base-notebook)
used by default, such as the [datascience-notebook](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-datascience-notebook)
image containing useful tools and libraries for datascience, complete these steps:

1. Modify your `config.yaml` file to specify the image. For example:
Expand Down Expand Up @@ -73,7 +73,7 @@ see {ref}`multiple-profiles`.

## Use JupyterLab by default

[JupyterLab](<https://jupyterlab.readthedocs.io/en/stable/index.html>) is a new
[JupyterLab](https://jupyterlab.readthedocs.io/en/stable/index.html) is a new
user interface for Jupyter about to replace the classic user interface (UI).
While users already can interchange `/tree` and `/lab` in the URL to switch between
the classic UI and JupyterLab, they will default to use the classic UI.
Expand All @@ -88,7 +88,7 @@ singleuser:
```{note}
You need the `jupyterlab` package (installable via `pip` or `conda`)
for this to work. All images in the [jupyter/docker-stacks repository](<https://github.com/jupyter/docker-stacks/>) come pre-installed with it.
for this to work. All images in the [jupyter/docker-stacks repository](https://github.com/jupyter/docker-stacks/) come pre-installed with it.
```

(custom-docker-image)=
Expand Down Expand Up @@ -220,15 +220,15 @@ your user folders with a git repository.

### Using `nbgitpuller` to synchronize a folder

We recommend using the tool [nbgitpuller](<https://github.com/jupyterhub/nbgitpuller>) to synchronize a folder
We recommend using the tool [nbgitpuller](https://github.com/jupyterhub/nbgitpuller) to synchronize a folder
in your user's filesystem with a `git` repository whenever a user
starts their server. This synchronization can also be triggered by
letting a user visit a link like
`https://your-domain.com/hub/user-redirect/git-pull?repo=https://github.com/data-8/materials-fa18`
(e.g., as alternative start url).

To use `nbgitpuller`, first make sure that you [install it in your Docker
image](<https://github.com/jupyterhub/nbgitpuller#installation>). Once this is done,
image](https://github.com/jupyterhub/nbgitpuller#installation). Once this is done,
you'll have access to the `nbgitpuller` CLI from within JupyterHub. You can
run it with a `postStart` hook with the following configuration

Expand All @@ -242,13 +242,13 @@ singleuser:

This will synchronize the master branch of the repository to a folder called
`$HOME/materials-fa` each time a user logs in. See [the nbgitpuller
documentation](<https://github.com/jupyterhub/nbgitpuller>) for more information on
documentation](https://github.com/jupyterhub/nbgitpuller) for more information on
using this tool.

```{warning}
`nbgitpuller` will attempt to automatically resolve merge conflicts if your
user's repository has changed since the last sync. You should familiarize
yourself with the [nbgitpuller merging behavior](<https://github.com/jupyterhub/nbgitpuller#merging-behavior>) prior to using the
yourself with the [nbgitpuller merging behavior](https://github.com/jupyterhub/nbgitpuller#merging-behavior) prior to using the
tool in production.
```

Expand Down Expand Up @@ -292,7 +292,7 @@ of configuration options that override your JupyterHub's default configuration
Docker images, to select the hardware on which they want their jobs to run,
or to configure default interfaces such as Jupyter Lab vs. RStudio.

Each configuration is a set of options for [Kubespawner](<https://github.com/jupyterhub/kubespawner>),
Each configuration is a set of options for [Kubespawner](https://github.com/jupyterhub/kubespawner),
which defines how Kubernetes should launch a new user server pod. Any
configuration options passed to the `profileList` configuration will
overwrite the defaults in Kubespawner (or any configuration you've
Expand Down Expand Up @@ -355,15 +355,15 @@ This allows users to select from three profiles, each with their own
environment (defined by each Docker image in the configuration above).

The "Learning Data Science" environment in the above example overrides the postStart lifecycle hook. Note that when
using `kubespawner_override` the values must be in the format that comply with the [KubeSpawner configuration](<https://jupyterhub-kubespawner.readthedocs.io/en/latest/spawner.html>).
using `kubespawner_override` the values must be in the format that comply with the [KubeSpawner configuration](https://jupyterhub-kubespawner.readthedocs.io/en/latest/spawner.html).
For instance, when overriding the lifecycle
hooks in `kubespawner_override`, the configuration is for `lifecycle_hooks` (snake_case) rather than `lifecycleHooks` (camelCase) which is
how it is used directly under the `singleuser` configuration section.
[A further explanation for this can be found in this github issue.](<https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/1242#issuecomment-484895216>)
[A further explanation for this can be found in this github issue.](https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/1242#issuecomment-484895216)

```{note}
You can also **control the HTML used for the profile selection page** by
using the Kubespawner `profile_form_template` configuration. See the
[Kubespawner configuration reference](<https://jupyterhub-kubespawner.readthedocs.io/en/latest/spawner.html>)
[Kubespawner configuration reference](https://jupyterhub-kubespawner.readthedocs.io/en/latest/spawner.html)
for more information.
```
8 changes: 4 additions & 4 deletions doc/source/jupyterhub/customizing/user-resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,11 @@ This assumes that at least one of your Kubernetes nodes has compatible GPUs
attached. The method for doing this differs according to your infrastructure
provider. Here are a few links to help you get started:
- [Google Kubernetes Engine (GKE)](<https://cloud.google.com/kubernetes-engine/docs/how-to/gpus>)
- [Amazon Elastic Kubernetes Service (EKS)](<https://aws.amazon.com/blogs/compute/running-gpu-accelerated-kubernetes-workloads-on-p3-and-p2-ec2-instances-with-amazon-eks/>)
- [Azure Kubernetes Service (AKS)](<https://cloud.google.com/kubernetes-engine/docs/how-to/gpus>)
- [Google Kubernetes Engine (GKE)](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus)
- [Amazon Elastic Kubernetes Service (EKS)](https://aws.amazon.com/blogs/compute/running-gpu-accelerated-kubernetes-workloads-on-p3-and-p2-ec2-instances-with-amazon-eks/)
- [Azure Kubernetes Service (AKS)](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus)
You will also need to deploy the k8s-device-plugin following the instructions [here](<https://github.com/NVIDIA/k8s-device-plugin#quick-start>).
You will also need to deploy the k8s-device-plugin following the instructions [here](https://github.com/NVIDIA/k8s-device-plugin#quick-start).
To check that your GPUs are schedulable by Kubernetes, you can run the following command:
Expand Down
16 changes: 8 additions & 8 deletions doc/source/jupyterhub/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ and related {term}`Kubernetes resources <Kubernetes resource>` using a

## Prepare configuration file

In this step we will prepare a [YAML](<https://en.wikipedia.org/wiki/YAML>)
In this step we will prepare a [YAML](https://en.wikipedia.org/wiki/YAML)
configuration file that we will refer to as `config.yaml`. It will contain the multiple
{term}`Helm values` to be provided to a JupyterHub {term}`Helm chart` developed
specifically together with this guide.
Expand All @@ -28,7 +28,7 @@ config file will provide the values to be used by our Helm chart.
```
2. Create and start editing a file called `config.yaml`. In the code snippet
below we start the widely available [nano editor](<https://en.wikipedia.org/wiki/GNU_nano>), but any editor will do.
below we start the widely available [nano editor](https://en.wikipedia.org/wiki/GNU_nano), but any editor will do.

```
nano config.yaml
Expand All @@ -53,7 +53,7 @@ security issue.

## Install JupyterHub

1. Make Helm aware of the [JupyterHub Helm chart repository](<https://jupyterhub.github.io/helm-chart/>) so you can install the
1. Make Helm aware of the [JupyterHub Helm chart repository](https://jupyterhub.github.io/helm-chart/) so you can install the
JupyterHub chart from it without having to use a long URL name.

```
Expand Down Expand Up @@ -89,12 +89,12 @@ security issue.

where:

- `RELEASE` refers to a [Helm release name](<https://helm.sh/docs/glossary/#release>), an identifier used to
- `RELEASE` refers to a [Helm release name](https://helm.sh/docs/glossary/#release), an identifier used to
differentiate chart installations. You need it when you are changing or
deleting the configuration of this chart installation. If your Kubernetes
cluster will contain multiple JupyterHubs make sure to differentiate them.
You can list your Helm releases with `helm list`.
- `NAMESPACE` refers to a [Kubernetes namespace](<https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/>),
- `NAMESPACE` refers to a [Kubernetes namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/),
an identifier used to group Kubernetes resources, in this case all
Kubernetes resources associated with the JupyterHub chart. You'll need the
namespace identifier for performing any commands with `kubectl`.
Expand All @@ -118,15 +118,15 @@ security issue.
Helm chart is paired with a specific version of JupyterHub. E.g.,
`0.7.0` of the Helm chart runs JupyterHub `0.9.2`.
For a list of which JupyterHub version is installed in each version
of the Z2JH Helm Chart, see the [Helm Chart repository](<https://github.com/jupyterhub/helm-chart#release-notes>).
of the Z2JH Helm Chart, see the [Helm Chart repository](https://github.com/jupyterhub/helm-chart#release-notes).
3. While Step 2 is running, you can see the pods being created by entering in
a different terminal:

```
kubectl get pod --namespace jhub
```

To remain sane we recommend that you [enable autocompletion for kubectl](<https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion>)
To remain sane we recommend that you [enable autocompletion for kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion)
and set a default value for the `--namespace` flag:

```
Expand All @@ -140,7 +140,7 @@ security issue.
proxy-7cb9bc4cc-9bdlp 1/1 Running 0 37s
```
5. Find the IP we can use to access the JupyterHub. Run the following command
until the `EXTERNAL-IP` of the `proxy-public` [service](<https://kubernetes.io/docs/concepts/services-networking/service/>) is
until the `EXTERNAL-IP` of the `proxy-public` [service](https://kubernetes.io/docs/concepts/services-networking/service/) is
available like in the example output.

```
Expand Down
4 changes: 2 additions & 2 deletions doc/source/jupyterhub/uninstall.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ before doing the cloud provider specific setup.
gcloud container clusters delete <CLUSTER-NAME> --zone=<CLUSTER-ZONE>
```
3. Double check to make sure all the resources are now deleted, since anything you
have not deleted will cost you money! You can check the [web console](<https://console.cloud.google.com>)
have not deleted will cost you money! You can check the [web console](https://console.cloud.google.com)
(make sure you are in the right project and account) to verify that everything
has been deleted.
Expand Down Expand Up @@ -95,7 +95,7 @@ before doing the cloud provider specific setup.
Be careful to delete the correct Resource Group, as doing so will irreversibly
delete all resources within the group!
3. Double check to make sure all the resources are now deleted, since anything you
have not deleted will cost you money! You can check the [web portal](<https://portal.azure.com>)
have not deleted will cost you money! You can check the [web portal](https://portal.azure.com)
(check the "Resource Groups" page) to verify that everything has been deleted.

These might take several minutes to clear up, but they shouldn't have anything
Expand Down
6 changes: 3 additions & 3 deletions doc/source/kubernetes/amazon/step-zero-aws.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ template you will use to setup and shape your cluster.
If you are using a public topology make sure your ssh keys are strong and you keep sshd up to date on your cluster's nodes.
```

Consider [setting a cloud budget](<https://aws.amazon.com/aws-cost-management/aws-budgets/>)
Consider [setting a cloud budget](https://aws.amazon.com/aws-cost-management/aws-budgets/)
for your AWS account in order to make sure you don't accidentally
spend more than you wish to.
12. Wait for the cluster to start-up
Expand Down Expand Up @@ -152,7 +152,7 @@ template you will use to setup and shape your cluster.

You should see a list of two nodes, each beginning with `ip`.

If you want to use kubectl and helm locally (necessary for step #3 in [Setting up Helm](<setup-helm#initialization>)):
If you want to use kubectl and helm locally (necessary for step #3 in [Setting up Helm](setup-helm#initialization)):

* run the following on CI host: `kops export kubecfg`
* copy the contents of `~/.kube/config` to the same place on your local system
Expand Down Expand Up @@ -195,7 +195,7 @@ template you will use to setup and shape your cluster.
kubectl apply -f storageclass.yml
```

This enables [dynamic provisioning](<https://kubernetes.io/docs/concepts/storage/persistent-volumes/#dynamic>) of
This enables [dynamic provisioning](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#dynamic) of
disks, allowing us to automatically assign a disk per user when they log
in to JupyterHub.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

# Kubernetes on Digital Ocean

You can create a Kubernetes cluster [either through the Digital Ocean website, or using the Digital Ocean command line tools](<https://www.digitalocean.com/>).
You can create a Kubernetes cluster [either through the Digital Ocean website, or using the Digital Ocean command line tools](https://www.digitalocean.com/).

This page describes the commands required to setup a Kubernetes cluster using the command line.
If you prefer to use the Digital Ocean portal see the [Digital Ocean Get Started](<https://www.digitalocean.com/products/kubernetes>).
If you prefer to use the Digital Ocean portal see the [Digital Ocean Get Started](https://www.digitalocean.com/products/kubernetes).

1. Prepare your Digital Ocean shell environment.

1. **Install command-line tools locally**. You'll need at least v1.13.0.

You can either follow the [installation instructions](<https://github.com/digitalocean/doctl/blob/master/README.md>) or use the commands below:
You can either follow the [installation instructions](https://github.com/digitalocean/doctl/blob/master/README.md) or use the commands below:

```
wget https://github.com/digitalocean/doctl/releases/download/v1.13.0/doctl-1.13.0-linux-amd64.tar.gz
Expand Down
Loading

0 comments on commit 2fbc8c3

Please sign in to comment.