Skip to content

Commit

Permalink
backport of PR #23322
Browse files Browse the repository at this point in the history
  • Loading branch information
David Yu committed Jun 14, 2024
1 parent ec7049c commit 7f3a7f9
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 4 deletions.
72 changes: 70 additions & 2 deletions website/content/docs/install/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -198,13 +198,31 @@ Nomad uses CNI plugins to configure network namespaces when using the `bridge`
network mode. All Linux Nomad client nodes using network namespaces must have
CNI plugins installed.

<h4>Install reference CNI plugins</h4>

The following commands install the CNI reference plugins.

```shell-session
$ curl -L -o cni-plugins.tgz "https://github.com/containernetworking/plugins/releases/download/v1.5.0/cni-plugins-linux-$( [ $(uname -m) = aarch64 ] && echo arm64 || echo amd64)"-v1.5.0.tgz && \
$ export ARCH_CNI=$( [ $(uname -m) = aarch64 ] && echo arm64 || echo amd64)
$ curl -L -o cni-plugins.tgz "https://github.com/containernetworking/plugins/releases/download/v1.5.0/cni-plugins-linux-${ARCH_CNI}"-v1.5.0.tgz && \
sudo mkdir -p /opt/cni/bin && \
sudo tar -C /opt/cni/bin -xzf cni-plugins.tgz
```

<h4>Install consul-cni CNI plugin</h4>

If the `transparent_proxy` block is used for Consul Service Mesh, then the
`consul-cni` CNI Plugin must be installed on each client node to redirect inbound
and outbound traffic for services to the Envoy proxy. The following commands
assume that reference CNI plugins have already been installed.

```shell-session
$ export ARCH_CNI=$( [ $(uname -m) = aarch64 ] && echo arm64 || echo amd64)
$ curl -L -o consul-cni.zip "https://releases.hashicorp.com/consul-cni/1.5.0/consul-cni_1.5.0_linux_${ARCH_CNI}".zip && \
sudo unzip consul-cni.zip -d /opt/cni/bin -x LICENSE.txt
```

<h3>Configure bridge network to route traffic through iptables</h3>

Ensure your Linux operating system distribution has been configured to allow
container traffic through the bridge network to be routed via iptables. These
Expand Down Expand Up @@ -290,13 +308,63 @@ Nomad uses CNI plugins to configure network namespaces when using the `bridge`
network mode. All Linux Nomad client nodes using network namespaces must have
CNI plugins installed.

<h4>Install reference CNI plugins</h4>

The following commands install the CNI reference plugins.

```shell-session
$ curl -L -o cni-plugins.tgz "https://github.com/containernetworking/plugins/releases/download/v1.0.0/cni-plugins-linux-$( [ $(uname -m) = aarch64 ] && echo arm64 || echo amd64)"-v1.0.0.tgz && \
sudo mkdir -p /opt/cni/bin && \
sudo tar -C /opt/cni/bin -xzf cni-plugins.tgz
```

<h4>Install consul-cni CNI plugin</h4>

If the `transparent_proxy` block is used for Consul Service Mesh, then the
`consul-cni` CNI Plugin must be installed on each client node to redirect inbound
and outbound traffic for services to the Envoy proxy. The following commands
assume that the linux packages repositories have already been added using `apt` or
`yum` and that the reference CNI plugins have already been installed.

<Tabs>

<Tab heading="CentOS/RHEL">

Install the `consul-cni` plugin on each client node.

```shell-session
$ sudo yum -y install consul-cni
```
</Tab>
<Tab heading="Ubuntu/Debian">

Install the `consul-cni` plugin on each client node.

```shell-session
$ sudo apt-get install -y consul-cni
```

</Tab>
<Tab heading="Fedora">

Install the `consul-cni` plugin on each client node.

```shell-session
$ sudo dnf -y install consul-cni
```

</Tab>
<Tab heading="Amazon Linux">

Install the `consul-cni` plugin on each client node.

```shell-session
$ sudo yum -y install consul-cni
```
</Tab>
</Tabs>

<h3>Configure bridge network to route traffic through iptables</h3>

Ensure your Linux operating system distribution has been configured to allow
container traffic through the bridge network to be routed via iptables. These
Expand Down Expand Up @@ -434,4 +502,4 @@ and ensuring `GOPATH/bin` is within your `PATH`. A copy of

[gpg-key]: https://apt.releases.hashicorp.com/gpg "HashiCorp GPG key"
[go-version]: https://github.com/hashicorp/nomad/blob/main/.go-version
[cgroup controller requirements]: /nomad/docs/install/production/requirements#hardening-nomad
[cgroup controller requirements]: /nomad/docs/install/production/requirements#hardening-nomad
2 changes: 1 addition & 1 deletion website/content/docs/integrations/consul/service-mesh.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ Consul service mesh sidecar proxy. All Nomad client nodes using network namespac
must have these CNI plugins [installed][cni_install].

To use [`transparent_proxy`][] mode, Nomad client nodes will also need the
[`consul-cni`][] plugin installed.
[`consul-cni`][] plugin installed. See the Linux post-installation [steps](/nomad/docs/install#post-installation-steps) for more detail on how to install CNI plugins.

## Run the Service Mesh-enabled Services

Expand Down
2 changes: 1 addition & 1 deletion website/content/docs/release-notes/nomad/v1_8_x.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ We are pleased to announce the following Nomad updates.
Driver](/nomad/plugins/drivers/community/lxc) is now deprecated. Official
support will be removed and the repo will be archived when Nomad 1.9 is
released. Users are encouraged to migrate their workloads to another task
driver such as the built-in Docker task driver[/nomad/docs/drivers/docker].
driver such as the built-in Docker task [driver](/nomad/docs/drivers/docker).

- **ECS Task driver:** The remote [ECS Task
Driver](https://developer.hashicorp.com/nomad/plugins/drivers/remote/ecs) is
Expand Down

0 comments on commit 7f3a7f9

Please sign in to comment.