Fault Domains, private registries and node setup scripts. My DC/OS acs-engine forks
Customers of mine have asked for some additional capabilities for DC/OS clusters created by acs-engine:
1. Make Azure Fault Domain and Upgrade Domains available to allow deployments to be FD/UD aware and lower risk of outages and data loss. The fork attaches attributes to each node that reflect the fault domain and the update domain the agent node is in: xtoph/fault-domain fork
2. Enable DC/OS to pull containers from private container registries or the Azure Container Registry: xtoph-registry fork
3. Run configuration scripts on agent nodes as part of the provisioning process: agentscript fork
Te specify registry credentials see the docs.
To add a custom script:
- Clone the repo: git clone https://github.com/xtophs/acs-engine.git
- cd acs-engine
- switch to the agentscript fork: git checkout agentscript
- edit parts/dcosagentcustomscript.sh to perform the configuration tasks you require on each agent node
- re-build acs-engine. For example launch the dev environment container using scripts/devenv.sh and then run make build
- edit examples/dcos.json to customize your DNS names and your SSH public key. Perform other edits to customize your cluster architecture.
- run ./bin/acs-engine generate examples/dcos.json to create the ARM templates. The generated templates are in _output/<masterDNSPrefix>
- provision the DC/OS cluster: az group deployment create -g <yourRG> --template-file _output/<masterDNSPrefix>/azuredeploy.json --parameters @_output/<masterDNSPrefix>/azuredeploy.parameters.json.
HTH