106 lines
3.4 KiB
Plaintext
106 lines
3.4 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: Install Consul
|
|
description: >-
|
|
Install Consul to get started with service discovery and service mesh. Follow the installation instructions to download the precompiled binary, or use Go to compile from source.
|
|
---
|
|
|
|
# Install Consul
|
|
|
|
Installing Consul is simple. There are three approaches to installing Consul:
|
|
|
|
1. Using a [precompiled binary](#precompiled-binaries)
|
|
|
|
1. Installing [from source](#compiling-from-source)
|
|
|
|
1. Installing [on Kubernetes](/docs/k8s/installation/install)
|
|
|
|
Downloading a precompiled binary is easiest, and we provide downloads over TLS
|
|
along with SHA256 sums to verify the binary. We also distribute a PGP signature
|
|
with the SHA256 sums that can be verified.
|
|
|
|
The [Getting Started guides](https://learn.hashicorp.com/collections/consul/get-started-vms?utm_source=docs) provide a quick walkthrough of installing and using Consul on a VM.
|
|
|
|
## Precompiled Binaries
|
|
|
|
To install the precompiled binary, [download](/downloads) the appropriate
|
|
package for your system. Consul is currently packaged as a zip file. We do not
|
|
have any near term plans to provide system packages.
|
|
|
|
Once the zip is downloaded, unzip it into any directory. The `consul` binary
|
|
inside is all that is necessary to run Consul (or `consul.exe` for Windows).
|
|
No additional files are required to run Consul.
|
|
|
|
Copy the binary to anywhere on your system. If you intend to access it from the
|
|
command-line, make sure to place it somewhere on your `PATH`.
|
|
|
|
## Compiling from Source
|
|
|
|
To compile from source, you will need [Go](https://golang.org) installed and
|
|
a copy of [`git`](https://www.git-scm.com/) in your `PATH`.
|
|
|
|
1. Clone the Consul repository from GitHub:
|
|
|
|
```shell
|
|
$ git clone https://github.com/hashicorp/consul.git
|
|
$ cd consul
|
|
```
|
|
|
|
1. Build Consul for your target system. The binary will be placed in `./bin`
|
|
(relative to the git checkout).
|
|
|
|
<!--
|
|
The tabs below are intended to be indented with the step immediately
|
|
above, but getting that to work is tricky.
|
|
|
|
The pre-commit linting rules will automatically unindent the <Tab>
|
|
element upon commit. This causes compilation to fail, because <Tabs>
|
|
and all its contained <Tab> elements need to be at the same indent level
|
|
for compilation.
|
|
|
|
To circumvent the pre-commit linting rules, commit with:
|
|
$ git commit --no-verify
|
|
-->
|
|
|
|
<Tabs>
|
|
<Tab heading="Compile for your current system">
|
|
|
|
```shell-session
|
|
$ make dev
|
|
```
|
|
|
|
</Tab>
|
|
<Tab heading="Cross-compile for another system">
|
|
|
|
Specify your target system by setting the following environment variables
|
|
before building:
|
|
|
|
- `GOOS`: Target operating system. Valid values include:
|
|
`linux`, `darwin`, `windows`, `solaris`, `freebsd`.
|
|
- `GOARCH`: Target architecture. Valid values include:
|
|
`386`, `amd64`, `arm`, `arm64`
|
|
|
|
```shell-session
|
|
$ export GOOS=linux GOARCH=amd64
|
|
$ make dev
|
|
```
|
|
|
|
</Tab>
|
|
</Tabs>
|
|
|
|
## Verifying the Installation
|
|
|
|
To verify Consul is properly installed, run `consul version` on your system. You
|
|
should see help output. If you are executing it from the command line, make sure
|
|
it is on your PATH or you may get an error about Consul not being found.
|
|
|
|
```shell-session
|
|
$ consul version
|
|
```
|
|
|
|
## Browser Compatibility Considerations
|
|
|
|
Consul currently supports all 'evergreen' browsers, as they are generally on
|
|
up-to-date versions. For more information on supported browsers, please see our
|
|
[FAQ](/docs/troubleshoot/faq)
|