hashi-stack/README.md
2020-05-18 22:10:42 -07:00

108 lines
2.5 KiB
Markdown

[![HitCount](http://hits.dwyl.com/angudadevops/hashi-stack.svg)](http://hits.dwyl.com/angudadevops/hashi-stack)
<h1>Complete HashiStack</h1>
<h2> Instroduction </h2>
This repository helps you to setup your development environemt and also setup production environment with 3 master nodes and 2 clients.
- [Build and Test Environment](#Build-and-Test-Environment)
- [Enterprise Environment](#Enterprise-Setup)
## Motivation
![Hashi Stack Setup](images/hashi-stack.png)
![Vault HA Setup](images/vault-ha-consul.png)
![Nomad HA Setup](images/nomad_ha.png)
## Build and Test Environment
Build and test Environment helps you to explore the tools and test your changes on vagrant. You can modify the number of servers on vagrant file to test the changes.
The Final Test Environment inclides:
- Vagrant
- Consul 1.7.3
- Nomad 0.11.1
- Vault 1.4.1
### Prerequsites
- MacOS (Linux testing in progress)
- [Homebrew](https://brew.sh/)
- `brew install packer terraform nomad`
- `brew cask install virtualbox`
### Usage
Update your number of servers depends on your system memory and CPU and run below command to explore hashi tools
```
$ cd vagrant
$ vagrant up
```
## Deployment
Connect nomad cluster and run below command to install job on nomad, please make sure you have enough resources to run the jobs
```
$ vagrant ssh server-1
$ nomad run -address http://172.20.20.11:4646 /tmp/jobs/nginx.nomad
$ nomad run -address http://172.20.20.11:4646 /tmp/jobs/simple.nomad
```
### Access
Use the private IP address to access the applications, in this
```
Access Nomad Cluster http://172.20.20.11:4646
Access Consul Cluster http://172.20.20.11:8500
Access Vault Cluster http://172.20.20.101:8200
Access Hashi UI http://172.20.20.11:3000
```
## Enterprise Setup
This enterprise setup helps you to setup High Availability cluster with 3 masters and 2 clients on AWS.
The Final Environments Includes:
- Packer
- Terraform
- Nomad
- Consul
- Vault
### Prerequsites
- Install Packer and Terraform
- AWS access credentials
- AWS private key
### Usage
Uset setup.sh scripts helps you to setup cluster environment on AWS. Update your AWS credentials in variables.tf and run the script
```
sudo bash setup.sh
```
### Access
With AWS environment we don't have an option to access UI as it's setup with Private IP, but with help of Hashi UI we can access Nomad and Consul
Use the Output of AWS public IP and access hashi UI
```
Access Hashi UI with http://awspublicip:3000
```
### Troubleshooting
Please raise a github issue, if you had any issue with setup.