CatalystCode / project-fortis

Repository for all parts of the Fortis architecture
https://aka.ms/fortis-story
MIT License
29 stars 17 forks source link

Remove need for FortisDeployVM #32

Open c-w opened 6 years ago

c-w commented 6 years ago
  1. Remove vm extenstion to run fortis-deploy.sh (https://github.com/CatalystCode/project-fortis-pipeline/blob/master/azuredeploy.json#L472)
  2. Remove deployment VM from ARM template: https://github.com/CatalystCode/project-fortis-pipeline/blob/master/azuredeploy.json#L363
  3. Define acs-engine template with an extension in the masterprofile (https://github.com/Azure/acs-engine/blob/0224c051212524b2a71e00db8cf40783fe677359/docs/extensions.md#masterprofile) to run fortis-deploy.sh on a single master: https://github.com/Azure/acs-engine/blob/0224c051212524b2a71e00db8cf40783fe677359/docs/extensions.md
  4. Create ARM template using acs-engine (https://github.com/Azure/acs-engine/blob/e3b22c480c0298b2cf1dce41c4a7e87ac49f46f3/docs/kubernetes/deploy.md)
  5. Switch creation of k8s cluster to use acs-engine created for k8s cluster instead of cluster resource https://github.com/CatalystCode/project-fortis-pipeline/blob/master/azuredeploy.json#L439 a. Look at nested ARM templates like I started here: https://github.com/xtophs/project-fortis-pipeline/tree/multi-dc-deploy
  6. Remove az cli stuff from https://github.com/CatalystCode/project-fortis-pipeline/blob/master/fortis-deploy.sh a. Az cli is only needed to ssh to master to get kubeconfig to run kubectl b. Since you’re now running on the master, you already have kubeconfig

Copied from https://github.com/CatalystCode/project-fortis-pipeline/issues/248

c-w commented 6 years ago

Another potential approach to address this is to move the setup scripts into a Docker container. The setup container can then either be run locally or on ACI. This is a pattern we've used successfully on a few projects already (e.g. OKpy).