traefik/docs/content/getting-started/install-traefik.md
2020-03-11 18:28:05 +01:00

4.4 KiB

Install Traefik

You can install Traefik with the following flavors:

Use the Official Docker Image

Choose one of the official Docker images and run it with the sample configuration file:

docker run -d -p 8080:8080 -p 80:80 \
    -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik:v2.2

For more details, go to the Docker provider documentation

!!! tip

* Prefer a fixed version than the latest that could be an unexpected version.
ex: `traefik:v2.1.4`
* Docker images are based from the [Alpine Linux Official image](https://hub.docker.com/_/alpine).
* Any orchestrator using docker images can fetch the official Traefik docker image.

Use the Helm Chart

!!! warning

The Traefik Chart from 
[Helm's default charts repository](https://github.com/helm/charts/tree/master/stable/traefik) is still using [Traefik v1.7](https://docs.traefik.io/v1.7).

Traefik can be installed in Kubernetes using the Helm chart from https://github.com/containous/traefik-helm-chart.

Ensure that the following requirements are met:

  • Kubernetes 1.14+
  • Helm version 3.x is installed

Add Traefik's chart repository to Helm:

helm repo add traefik https://containous.github.io/traefik-helm-chart

You can update the chart repository by running:

helm repo update

And install it with the helm command line:

helm install traefik traefik/traefik

!!! tip "Helm Features"

All [Helm features](https://helm.sh/docs/intro/using_helm/) are supported.
For instance, installing the chart in a dedicated namespace:

```bash tab="Install in a Dedicated Namespace"
kubectl create ns traefik-v2
# Install in the namespace "traefik-v2"
helm install --namespace=traefik-v2 \
    traefik traefik/traefik
```

??? example "Installing with Custom Values"

You can customize the installation by specifying custom values,
as with [any helm chart](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing).
{: #helm-custom-values }

The values are not (yet) documented, but are self-explanatory:
you can look at the [default `values.yaml`](https://github.com/containous/traefik-helm-chart/blob/master/traefik/values.yaml) file to explore possibilities.

Example of installation with logging set to `DEBUG`:

```bash tab="Using Helm CLI"
helm install --namespace=traefik-v2 \
    --set="logs.loglevel=DEBUG" \
    traefik traefik/traefik
```

```yml tab="With a custom values file"
# File custom-values.yml
## Install with "helm install --values=./custom-values.yml traefik traefik/traefik
logs:
    loglevel: DEBUG
```

Use the Binary Distribution

Grab the latest binary from the releases page.

??? info "Check the integrity of the downloaded file"

```bash tab="Linux"
# Compare this value to the one found in traefik-${traefik_version}_checksums.txt
sha256sum ./traefik_${traefik_version}_linux_${arch}.tar.gz
```

```bash tab="macOS"
# Compare this value to the one found in traefik-${traefik_version}_checksums.txt
shasum -a256 ./traefik_${traefik_version}_darwin_amd64.tar.gz
```

```powershell tab="Windows PowerShell"
# Compare this value to the one found in traefik-${traefik_version}_checksums.txt
Get-FileHash ./traefik_${traefik_version}_windows_${arch}.zip -Algorithm SHA256
```

??? info "Extract the downloaded archive"

```bash tab="Linux"
tar -zxvf traefik_${traefik_version}_linux_${arch}.tar.gz
```

```bash tab="macOS"
tar -zxvf ./traefik_${traefik_version}_darwin_amd64.tar.gz
```

```powershell tab="Windows PowerShell"
Expand-Archive traefik_${traefik_version}_windows_${arch}.zip
```

And run it:

./traefik --help

Compile your Binary from the Sources

All the details are available in the Contributing Guide