AKS Engine: legacy tool for Kubernetes on Azure (see status)
Перейти к файлу
Matt Boersma 353c8bb50c
Update to go 1.11 and fix new linting errors (#3763)
* update go-dev-tools image

See https://github.com/deis/docker-go-dev/releases/tag/v1.15.0

* Fix new go vet errors in go 1.11

* Update go-dev image to 1.15.1 for goimports fix.

The "goimports" binary/plugin needed to be built with go 1.11.

* Update go-dev image to 1.16.0 for parity with AKS

* Test just headers of SSH keys

Go 1.11 now randomizes rsa.GenerateKey to prevent exactly this
type of implementation-specific test.

* Update go-dev image to 1.17.0 for party with AKS

* Add private key length and validation tests
2018-09-12 10:34:30 -06:00
.circleci Update to go 1.11 and fix new linting errors (#3763) 2018-09-12 10:34:30 -06:00
.codecov change codecov yaml (#3316) 2018-06-20 13:57:52 -07:00
.github Update PULL_REQUEST_TEMPLATE.md (#2515) 2018-03-22 15:44:45 -07:00
.prowci Prow updates (#3189) 2018-06-06 10:29:48 -07:00
cmd Update to go 1.11 and fix new linting errors (#3763) 2018-09-12 10:34:30 -06:00
docs Design doc (#3794) 2018-09-07 15:29:42 -07:00
examples Fix kubeletConfig for Windows agent nodes (#3753) 2018-08-30 16:25:46 -07:00
extensions Add extension for Windows patching at deployment (#3704) 2018-08-21 13:14:06 -07:00
jenkins retire Azure CDN for container image repository proxying (#3535) 2018-07-24 13:19:31 -07:00
loc LEGO: check in for master to temporary branch. (#2983) 2018-05-16 08:55:09 -07:00
packer user docker to pre-pull images (#3829) 2018-09-11 10:02:41 -07:00
parts user docker to pre-pull images (#3829) 2018-09-11 10:02:41 -07:00
pkg Update to go 1.11 and fix new linting errors (#3763) 2018-09-12 10:34:30 -06:00
releases Add TLS Certificates to Docker Image (#3457) 2018-07-12 13:49:17 -07:00
scripts Enable "gosimple" linter plugin (#3802) 2018-09-07 15:16:59 -07:00
test Update to go 1.11 and fix new linting errors (#3763) 2018-09-12 10:34:30 -06:00
translations Update localization for strings (#2902) 2018-05-10 16:08:34 -07:00
vendor Using dep 0.5.0 and adding dep check to the CI/CD cycle (#3709) 2018-08-30 14:20:22 -07:00
windows update images to 1803 (#2958) 2018-05-15 10:11:17 -07:00
.dockerignore Fix make generate slowness on Docker for Mac (#1226) 2017-08-09 19:19:04 -07:00
.gitattributes Add devenv for building/testing/validating under Docker 2016-10-27 12:10:36 -07:00
.gitignore Using dep 0.5.0 and adding dep check to the CI/CD cycle (#3709) 2018-08-30 14:20:22 -07:00
.vsts-ci.yaml Add build metadata to VHD (#3764) 2018-08-31 11:56:55 -07:00
CONTRIBUTING.md remove duplicate sentence (#1559) 2017-10-09 13:03:41 -07:00
Dockerfile Layer `ADD source-code` prior to `make bootstrap` layer in Dockerfile (#3767) 2018-08-30 12:23:08 -07:00
Dockerfile.k8swin Updating the go-bindata go get paths (#3119) 2018-05-31 15:50:32 -07:00
Gopkg.lock Using dep 0.5.0 and adding dep check to the CI/CD cycle (#3709) 2018-08-30 14:20:22 -07:00
Gopkg.toml update azure-sdk-for-go to v19 (#3608) 2018-08-03 14:32:28 -07:00
LICENSE Add License 2016-10-06 07:18:42 -07:00
Makefile Update to go 1.11 and fix new linting errors (#3763) 2018-09-12 10:34:30 -06:00
OWNERS Add mboersma to OWNERS file (#3635) 2018-08-08 12:31:53 -07:00
README.md Deprecate ACS v1 classic mode support (#3647) 2018-08-10 13:35:03 -07:00
README_zh-CN.md Deprecate ACS v1 classic mode support (#3647) 2018-08-10 13:35:03 -07:00
labels.yaml docs(github): use labeler to manage project labels (#955) 2017-07-10 17:25:02 -07:00
main.go Resubmit PR# 2332: Enable colorized logging on Windows (#2482) 2018-03-20 16:44:08 -07:00
makedev.ps1 Update to go 1.11 and fix new linting errors (#3763) 2018-09-12 10:34:30 -06:00
packer.mk Improve VHD VSTS pipeline output URL (#3682) 2018-08-16 10:10:55 -07:00
test.mk Add openshift e2e test (#2675) 2018-05-04 16:20:42 -07:00
versioning.mk version output improvements (#1325) 2017-08-25 14:57:33 -07:00

README.md

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.