Using A Private Docker Repository

In some cases, you will want to use a private docker repository to store theLinkerd images. This scenario requires knowing the names and locations of thedocker images used by the Linkerd control and data planes so that you canstore them in your private repository.

The easiest way to get those images is to use theLinkerd CLIto pull the images to an internal host and push them to your private repository.

To get the names of the images used by the control plane, installthe Linkerd CLI and run this command:

  1. linkerd install --ignore-cluster | grep image: | sed -e 's/^ *//' | sort | uniq

For the current stable version, the output will be:

  1. image: gcr.io/linkerd-io/controller:stable-2.6.0
  2. image: gcr.io/linkerd-io/grafana:stable-2.6.0
  3. image: gcr.io/linkerd-io/proxy-init:v1.2.0
  4. image: gcr.io/linkerd-io/proxy:stable-2.6.0
  5. image: gcr.io/linkerd-io/web:stable-2.6.0
  6. image: prom/prometheus:v2.11.1

All of the Linkerd images are publicly available in theLinkerd Google Container Repository

Stable images are named using the convention stable-<version> and the edgeimages use the convention edge-<year>.<month>.<release-number.

Examples of each are: stable-2.6.0 and edge-2019.11.1.

Once you have identified which images you want to store in your privaterepository, use the docker pull <image-name> command to pull the images toa machine on your network, then use the docker push command to push theimages to your private repository.

Now that the images are hosted by your private repository, you can updateyour deployment configuration to pull from your private docker repository.

For a more advanced configuration, you can clone the linkerd2 repository to your CI/CD system and buildspecific tags to push to your private repository.