Last active
July 24, 2018 21:46
-
-
Save dnordberg/e0829bf254b4b4bb5d8930c709511441 to your computer and use it in GitHub Desktop.
setup shipyard on centos 7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!#/bin/bash | |
# Install docker, docker-compose, shipyard, fix ip4 | |
yum -y update | |
mkdir /etc/systemd/system/docker.service.d | |
tee /etc/systemd/system/docker.service.d/docker.conf <<-'EOF' | |
[Service] | |
ExecStart= | |
ExecStart=/usr/bin/dockerd --insecure-registry 172.30.0.0/16 | |
EOF | |
# NOTE: add For tls | |
# https://www.digitalocean.com/community/tutorials/how-to-securely-set-up-shipyard-2-0-10-with-tls-on-coreos | |
#--tlsverify --tlscacert=/home/core/dockertls/myca.pem --tlscert=/home/core/dockertls/final-server-cert.pem --tlskey=/home/core/dockertls/docker-1-key.pem -H=0.0.0.0:2376 | |
tee /etc/yum.repos.d/docker.repo <<-'EOF' | |
[dockerrepo] | |
name=Docker Repository | |
baseurl=https://yum.dockerproject.org/repo/main/centos/7/ | |
enabled=1 | |
gpgcheck=1 | |
gpgkey=https://yum.dockerproject.org/gpg | |
EOF | |
yum install -y \ | |
docker-engine \ | |
mosh \ | |
bash-completion \ | |
net-tools \ | |
bind-utils \ | |
unzip \ | |
git \ | |
tree | |
yum install -y hstr | |
hh --show-configuration >> ~/.bashrc | |
systemctl enable docker.service | |
systemctl start docker | |
curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose | |
chmod +x /usr/local/bin/docker-compose | |
curl -L https://composehub.com/install/linux > /usr/local/bin/ch | |
chmod +x /usr/local/bin/ch | |
if [ "$1" != "" ] && [ "$1" = "manager" ]; then | |
MANAGER_IP=$(hostname -I | cut -d" " -f 1) | |
# write manager ip to a local file for reference | |
echo $MANAGER_IP > manager_ip | |
docker swarm init --advertise-addr $MANAGER_IP | |
curl -sSL https://shipyard-project.com/deploy | ACTION=deploy bash -s | |
# required for curl to work after shipyard install | |
ip -6 route add 2004::3 dev eth0 | |
# needs to be enabled | |
sysctl net.ipv4.ip_forward=1 | |
service network restart | |
systemctl restart docker | |
echo "SETUP SWARM MANAGER, SHIPYARD" | |
elif [ "$ACTION" = "node" ]; then | |
MANAGER_IP=$(cat manager_ip) | |
curl -sSL https://shipyard-project.com/deploy | ACTION=node DISCOVERY="etcd://$(MANAGER_IP):4001" bash -s | |
# required for curl to work after shipyard install | |
ip -6 route add 2004::3 dev eth0 | |
# needs to be enabled | |
sysctl net.ipv4.ip_forward=1 | |
service network restart | |
systemctl restart docker | |
echo "SETUP SWARM NODE" | |
fi | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment