DC/OS (Data Centre OS) is good for data centre only (when one wants to sell virtual machines). All CPUs should be in a single machine so that heavy work load can be shared between CPUs. E.g., a physical machine with 4 cores split into 4 services (with 1 core each) would be bad: What if 1 of the four services may need 2 cores for a short while to process something?

1. Prerequisites

  • 1 server for DC/OS bootstrap process
  • 1 (or 3, or 5) server for DC/OS master web administration
  • N servers for DC/OS agents (where services and applications installed)
  • Bootstrap server: at least 1 core, 4GB RAM, 10GB disk, static IP
  • Master server: at least 1 core, 4GB RAM, 30GB disk, static IP
  • Each agent server: at least 1 core, 4GB RAM, 30GB disk, static IP
  • No-password full cert (.pem) and extracted public key (.pub) files (generated by ‘openssl’)
  • Add the public key to all servers stated above
  • Boot disk: CentOS 7 (possibly at least CentOS 7.3)
  • Google Cloud API access: Allow full access to all Cloud APIs
  • Open firewall for port 9000, better all ports
  • SSH Keys: Uncheck ‘Block project-wide SSH keys’
  • Notes: .pem (full cert) & .pub are generated by openssl, .ppk is Putty private key, .key is used for both PKCS8 private and public keys, .p12 is Sun PKCS12 full cert file, .crt & .cer are usually for CA certificates, .der is for binary-encoded CA certificates

2. Install Docker

3. Start GUI Installer

4. Values to the GUI Installer

  • Master Private IPs: The LAN IPs of the master servers where DC/OS web administration is served. This input can be 1 or 3 or 5 LAN IPs but just 1 should do.
  • Agent Private IPs: Please put at least 1 private agent as some services/applications will only install on private agent (eg. MongoDB).
  • Agent Public IPs: The internet static IPs for the DC/OS agent servers where services and applications are installed. Enter some.
  • Public Access URL (it is shown as ‘Master Public IP’ on the GUI): Enter the HTTP URL to the master server (http://master.server.public.ip, or subdomain or domain if any pointing to the master server).
  • SSH Username: The username used when creating the key pair in step 1
  • SSH Listening Port: Leave the default value as 22
  • Private SSH Key: Paste the contents of the .pem (private key) file generated in step 1 here
  • Upstream DNS Servers: Leave the default values and
  • IP Detect Script: Use ‘Google Compute Engine’ option
  • Send Anonymous Telemetry: Uncheck it if checked, no use.
  • Enable Authentication: Check it if unchecked, important.

5. Start DC/OS Installer

Click the ‘Run Pre-flight’ button, and other next buttons in the steps after that.