Minimum Server Requirements details on dcos.io:
- 1 Bootstap Node
- 1 Master Node (2 Core, 3.5 GiG)
- 1 Agent Node (recommended 3 nodes) (2 Core, 3.5 GiG)
- Recommended OS: CentOS 7.2
- username should be same on all nodes
sudo yum upgrade --assumeyes --tolerant
sudo yum update --assumeyes
sudo tee /etc/modules-load.d/overlay.conf <<-'EOF'
overlay
EOF
reboot
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
sudo mkdir -p /etc/systemd/system/docker.service.d && sudo tee /etc/systemd/system/docker.service.d/override.conf <<- EOF
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon --storage-driver=overlay -H fd://
EOF
sudo yum install -y docker-engine-1.11.2
sudo systemctl start docker
sudo systemctl enable docker
sudo groupadd nogroup
sudo yum install -y ipset unzip wget git curl xz
sudo setenforce 0
mkdir /tmp/dcos
sudo systemctl disable dnsmasq
sudo systemctl stop dnsmasq
sudo yum -y install ntp
timedatectl set-ntp true
sudo service ntpd stop
sudo ntpdate 0.centos.pool.ntp.org
sudo service ntpd start
sudo systemctl enable ntpd
sudo vi /etc/hosts
## Add hosts data here in below format (all nodes)
## private-ip1 xyz1.mysite.com xyz1 XYZ1
## private-ip2 xyz2.mysite.com xyz1 XYZ1
sudo vi /etc/sysconfig/selinux
## Change SELINUX to `permissive`
## to verify installation
sudo docker ps
cd /tmp/dcos
sudo mkdir -p genconf
sudo vi genconf/ip-detect
# see repository for content
sudo vi genconf/config.yaml
# see repository for content
ssh-keygen
# enter for all
# no password/passphrase
sudo cp ~/.ssh/id_rsa genconf/ssh_key
loop the below process for each node (from bootstrap node){
ssh-copy-id <username>@<node-private-ip>
sudo tee /etc/environment <<-'EOF'
LC_ALL="en_US.utf8"
EOF
exit
}end of loop
cd /tmp/dcos
curl -O https://downloads.dcos.io/dcos/stable/dcos_generate_config.sh
sudo bash dcos_generate_config.sh
sudo docker run -d -p 9000:80 -v $PWD/genconf/serve:/usr/share/nginx/html:ro nginx
loop the below process for each master node{
cd /tmp/dcos
curl -O http://<bootstrap-public-ip>:9000/dcos_install.sh
sudo bash dcos_install.sh master
}end of loop
loop the below process for each private agent node{
cd /tmp/dcos
curl -O http://<bootstrap-public-ip>:9000/dcos_install.sh
sudo bash dcos_install.sh slave
}end of loop
loop the below process for each public agent node{
cd /tmp/dcos
curl -O http://<bootstrap-public-ip>:9000/dcos_install.sh
sudo bash dcos_install.sh slave_public
}end of loop
sudo bash dcos_install.sh <role>
can take some time.http://<master-public-ip>
will take you to DC/OS Panel.