forked from shivmishra88/install
-
Notifications
You must be signed in to change notification settings - Fork 0
/
nomad-server
90 lines (69 loc) · 1.87 KB
/
nomad-server
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/bin/bash
set -ex
# Wait for cloud-init to finish.
#echo "Waiting 180 seconds for cloud-init to complete."
#timeout 180 /bin/bash -c \
# 'until stat /var/lib/cloud/instance/boot-finished 2>/dev/null; do echo "Waiting ..."; sleep 2; done'
NOMAD_VERSION=nomad_0.8.4
INSTANCE_ID=$HOSTNAME
INSTANCE_PRIVATE_IP=$(ifconfig ens4 | grep "inet addr" | awk '{ print substr($2,6) }')
sudo apt-get -qq -y update
#######################################
# NOMAD INSTALL
#######################################
# install dependencies
echo "Installing dependencies..."
sudo apt-get install -qq -y wget unzip
# install nomad
echo "Fetching nomad..."
cd /tmp/
wget -q https://releases.hashicorp.com/nomad/0.8.4/nomad_0.8.4_linux_amd64.zip -O nomad.zip
echo "Installing nomad..."
unzip nomad.zip
rm nomad.zip
sudo chmod +x nomad
sudo mv nomad /usr/bin/nomad
sudo mkdir -pm 0600 /etc/nomad.d
# setup nomad directories
sudo mkdir -pm 0600 /var/nomad
sudo mkdir -p /var/nomad/data
echo "Nomad installation complete."
#######################################
# NOMAD CONFIGURATION
#######################################
sudo tee /etc/nomad.d/nomad.hcl > /dev/null <<EOF
name = "$INSTANCE_ID"
data_dir = "/var/nomad/data"
datacenter = "DC1"
bind_addr = "0.0.0.0"
server {
enabled = true
bootstrap_expect = 1
}
addresses {
rpc = "$INSTANCE_PRIVATE_IP"
serf = "$INSTANCE_PRIVATE_IP"
}
advertise {
http = "$INSTANCE_PRIVATE_IP:4646"
}
consul {
}
EOF
echo " ===> Installing init script"
cat >/etc/systemd/system/nomad.service <<EOF
[Unit]
Description=Nomad
Documentation=https://nomadproject.io/docs/
[Service]
ExecStart=/usr/bin/nomad agent -config /etc/nomad.d/
ExecReload=/bin/kill -HUP $MAINPID
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
echo " ===> Starting nomad"
systemctl enable nomad.service
systemctl daemon-reload
echo " ===> Starting nomad"
service nomad start