traefik/docs/content/getting-started/install-traefik.md
2020-02-17 11:04:04 +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.1

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 "Experimental Helm Chart"

Please note that the Helm Chart for Traefik v2 is still experimental.

The Traefik Stable 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 v2.0 Helm chart from https://github.com/containous/traefik-helm-chart.

Ensure that the following requirements are met:

  • Kubernetes 1.14+
  • Helm version 2.x is installed and initialized with Tiller

Retrieve the latest chart version from the repository:

# Retrieve Chart from the repository
git clone https://github.com/containous/traefik-helm-chart

And install it with the helm command line:

helm install ./traefik-helm-chart

!!! tip "Helm Features"

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

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

??? example "Installing with Custom Values"

You can customize the installation by specifying custom values,
as with [any helm chart](https://v2.helm.sh/docs/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-helm-chart
```

```yml tab="With a custom values file"
# File custom-values.yml
## Install with "helm install --values=./custom-values.yml ./traefik-helm-chart
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