acs-engine

command module
v0.22.0-rc.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2018 License: MIT Imports: 3 Imported by: 0

README

Microsoft Azure Container Service Engine - Builds Docker Enabled Clusters

Coverage Status CircleCI GoDoc

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, OpenShift, Swarm Mode, or Swarm orchestrators. The input to the tool is a cluster definition. The cluster definition (or apimodel) 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 you to customize your Docker enabled cluster in many ways including:

  • choice of DC/OS, Kubernetes, OpenShift, Swarm Mode, or Swarm orchestrators
  • multiple agent pools where each agent pool can specify:
    • standard or premium VM Sizes, including GPU optimized VM sizes
    • node count
    • Virtual Machine ScaleSets or Availability Sets
    • Storage Account Disks or Managed Disks
    • OS and distro
  • Custom VNET
  • Extensions

More info, including a thorough walkthrough is here.

User guides

These guides show how to create your first deployment for each orchestrator:

These guides cover more advanced features to try out after you have built your first cluster:

Contributing

Follow the developers guide to set up your environment.

To build acs-engine, run make build. If you are developing with a working Docker environment, you can also run make dev (or makedev.ps1 on Windows) first to start a Docker container and run make build inside the container.

Please follow these instructions before submitting a PR:

  1. Execute make test to run unit 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 that you are not introducing any regressions.

  3. Make sure that your changes are properly documented and include relevant unit tests.

Usage

Generate Templates

Usage is best demonstrated with an example:

$ vim examples/kubernetes.json

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

$ ./acs-engine generate examples/kubernetes.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.)

Code of conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
acsengine
Package acsengine takes an ACS cluster model and generates the corresponding template
Package acsengine takes an ACS cluster model and generates the corresponding template
api
Package api stores an unversion api
Package api stores an unversion api
api/agentPoolOnlyApi/v20170831
Package v20170831 stores api model for version "2017-08-31"
Package v20170831 stores api model for version "2017-08-31"
api/agentPoolOnlyApi/v20180331
Package v20180331 stores api model for version "2018-03-31"
Package v20180331 stores api model for version "2018-03-31"
api/agentPoolOnlyApi/vlabs
Package vlabs stores api model for version "2017-08-31"
Package vlabs stores api model for version "2017-08-31"
api/v20160330
Package v20160330 stores the api model for version "2016-03-30"
Package v20160330 stores the api model for version "2016-03-30"
api/v20160930
Package v20160930 stores api model for version "2016-09-30"
Package v20160930 stores api model for version "2016-09-30"
api/v20170131
Package v20170131 stores api model for version "2017-01-31"
Package v20170131 stores api model for version "2017-01-31"
api/v20170701
Package v20170701 stores api model for version "2017-07-01"
Package v20170701 stores api model for version "2017-07-01"
api/vlabs
Package vlabs stores an experimental api model for acs
Package vlabs stores an experimental api model for acs
openshift
Package openshift provides utilities related to the OpenShift orchestrator.
Package openshift provides utilities related to the OpenShift orchestrator.
openshift/certgen/release39
Package release39 provides utilities related to generating all the necessary artifacts for an OpenShift deployment.
Package release39 provides utilities related to generating all the necessary artifacts for an OpenShift deployment.
openshift/certgen/unstable
Package unstable provides utilities related to generating all the necessary artifacts for an OpenShift deployment.
Package unstable provides utilities related to generating all the necessary artifacts for an OpenShift deployment.
openshift/certgen/unstable/templates
Code generated by go-bindata.
Code generated by go-bindata.
test
e2e

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL