Giter Site home page Giter Site logo

pilgrim2go / acs-engine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from azure/acs-engine

0.0 2.0 0.0 4.42 MB

Azure Container Service Engine - a place for community to collaborate and build the best open Docker container infrastructure for Azure.

License: MIT License

Makefile 0.09% Go 43.11% PowerShell 3.87% Perl 46.21% Shell 6.15% Groovy 0.57%

acs-engine's Introduction

Microsoft Azure Container Service Engine - Builds Docker Enabled Clusters

Overview

The Azure Container Service Engine (acs-engine) generates ARM (Azure Resource Manager) templates for Docker enabled clusters on Microsoft Azure with your choice of DC/OS, Kubernetes, or Swarm orchestrators. The input to the tool is a cluster definition. The cluster definition is very similar to (in many cases the same as) the ARM template syntax used to deploy a Microsoft Azure Container Service cluster.

The cluster definition file enables the following customizations to your Docker enabled cluster:

  • choice of DC/OS, Kubernetes, or Swarm orchestrators
  • multiple agent pools where each agent pool can specify:
  • standard or premium VM Sizes,
  • node count,
  • Virtual Machine ScaleSets or Availability Sets,
  • Storage Account Disks or Managed Disks (under private preview),
  • Docker cluster sizes of 1200
  • Custom VNET

User guides

  • ACS Engine - shows you how to build and use the ACS engine to generate custom Docker enabled container clusters
  • Cluster Definition - describes the components of the cluster definition file
  • DC/OS Walkthrough - shows how to create a DC/OS enabled Docker cluster on Azure
  • Kubernetes Walkthrough - shows how to create a Kubernetes enabled Docker cluster on Azure
  • Swarm Walkthrough - shows how to create a Swarm enabled Docker cluster on Azure
  • Custom VNET - shows how to use a custom VNET
  • Attached Disks - shows how to attach up to 4 disks per node
  • Managed Disks (under private preview) - shows how to use managed disks
  • Large Clusters - shows how to create cluster sizes of up to 1200 nodes

Contributing

Please follow these instructions before submitting a PR:

  1. Execute make ci to run the checkin validation tests.

  2. Manually test deployments if you are making modifications to the templates. For example, if you have to change the expected resulting templates then you should deploy the relevant example cluster definitions to ensure you're not introducing any sort of regression.

Usage (Template Generation)

Usage is best demonstrated with an example:

$ vim examples/kubernetes.classic.json

# insert your preferred, unique DNS prefix
# insert your SSH public key

$ ./acs-engine examples/kubernetes.classic.json

This produces a new directory inside _output/ that contains an ARM template for deploying Kubernetes into Azure. (In the case of Kubernetes, some additional needed assets are generated and placed in the output directory.)

Deployment Usage

Generated templates can be deployed using the Azure XPlat CLI (v0.10 only), the Azure CLI 2.0 or Powershell.

Deploying with Azure XPlat CLI

NOTE: DCOS deployments will fail with Azure XPlat CLI version > 10.0. Use Azure XPlat CLI 0.10.0. The fix for the Azure XPlat CLI fix is estimated to be Dec 2016.

$ azure login

$ azure account set --name "<SUBSCRIPTION NAME OR ID>"

$ azure group create \
    --name="<RESOURCE_GROUP_NAME>" \
    --location="<LOCATION>"

$ azure group deployment create \
    --name="<DEPLOYMENT NAME>" \
    --resource-group="<RESOURCE_GROUP_NAME>" \
    --template-file="./_output/<INSTANCE>/azuredeploy.json" \
    --parameters-file="./_output/<INSTANCE>/azuredeploy.parameters.json"

Deploying with Azure CLI 2.0

NOTE: Azure CLI 2.0 is still in preview, so changes may occur. Please reference the Azure CLI 2.0 GitHub Repo for updated commands

$ az login

$ az account set --name "<SUBSCRIPTION NAME OR ID>"

$ az group create \
    --name="<RESOURCE_GROUP_NAME>" \
    --location="<LOCATION>"

$ az resource group deployment create \
    --name="<DEPLOYMENT NAME>" \
    --resource-group="<RESOURCE_GROUP_NAME>" \
    --template-file-path="./_output/<INSTANCE>/azuredeploy.json" \
    --parameters-file-path="./_output/<INSTANCE>/azuredeploy.parameters.json"

Deploying with Powershell

Add-AzureRmAccount

Select-AzureRmSubscription -SubscriptionID <SUBSCRIPTION_ID>

New-AzureRmResourceGroup `
    -Name <RESOURCE_GROUP_NAME> `
    -Location <LOCATION>

New-AzureRmResourceGroupDeployment `
    -Name <DEPLOYMENT_NAME> `
    -ResourceGroupName <RESOURCE_GROUP_NAME> `
    -TemplateFile _output\<INSTANCE>\azuredeploy.json `
    -TemplateParameterFile _output\<INSTANCE>\azuredeploy.parameters.json

acs-engine's People

Contributors

anhowe avatar brendandburns avatar colemickens avatar jackquincy avatar jmspring avatar rgardler-msft avatar rjtsdl avatar sauryadas avatar sorratheorc avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.