Installing using a Custom AMI
Using AWS machine images to launch DC/OS
You can use customized AWS Machine Images (AMI) based on CentOS 7, CoreOS, and RHEL to launch DC/OS with the advanced templates.
- A custom AMI can be used to integrate DC/OS installation with your own in-house configuration management tools.
- A custom AMI can be used if you want kernel or driver customization.
To get started, build a custom AMI and then install DC/OS using the advanced templates.
Build a custom AMI
This is the recommended method for building your own AMI.
Build DC/OS cloud_images AMI
Use the DC/OS cloud_images scripts as a template. These scripts build a CentOS7 AMI with all of the DC/OS prerequisites installed.
Verify that you can build and deploy an AMI using these scripts as-is, without modification. An AMI must be deployed to every region where a cluster will be launched. The DC/OS Packer build script create_dcos_ami.sh can deploy the AMI to multiple regions by setting the environment variable
DEPLOY_REGIONS
before running the script.Launch the DC/OS advanced template using the AWS CloudFormation web console and specify the DC/OS cloud_images AMI. Verify that the cluster launched successfully. For more information, see the documentation.
Modify the DC/OS cloud_images AMI
After you have successfully built and deployed the unmodified DC/OS cloud_images AMI using the AWS CloudFormation web console:
Modify the DC/OS cloud_images AMI scripts with your own AMI customizations. Your AMI must satisfy all of the DC/OS AMI prerequisites as shown in the template.
Launch the DC/OS advanced templates using the AWS CloudFormation web console and specify your customized AMI. Verify that DC/OS starts as expected and that services can be launched on the DC/OS cluster.
Complete your installation by following these instructions.
Troubleshooting
- Familiarize yourself with the DC/OS service startup process.
- See the installation troubleshooting documentation. To troubleshoot you must have SSH access to all of the cluster nodes.
- The DC/OS Slack community is another a good place to get help.