Skip to content

Latest commit

 

History

History
101 lines (72 loc) · 4.37 KB

README_zh-CN.md

File metadata and controls

101 lines (72 loc) · 4.37 KB

微软Azure容器服务引擎 - 构建基于Docker的容器集群

概览

微软容器服务引擎(acs-engine)用于将一个容器集群描述文件转化成一组ARM(Azure Resource Manager)模板,通过在Azure上部署这些模板,用户可以很方便地在Azure上建立一套基于Docker的容器服务集群。用户可以自由地选择集群编排引擎DC/OS, Kubernetes或者是Swarm/Swarm Mode。集群描述文件使用和ARM模板相同的语法,它们都可以用来部署Azure容器服务。

集群描述文件提供了一下几个功能:

  • 可以自由选择DC/OS, Kubernetes, Swarm Mode和Swarm等多种编排引擎
  • 可以自由定制集群节点的规格,包括:
    • 虚机的规格
    • 节点的数量
    • 弹性虚拟机集,高可用服务集
    • 存储设备,托管存储
  • 可创建高达1200的容器集群节点数量
  • 自定义VNET

演示链接

提交代码

请按照以下流程提交您的PR:

  1. 提交之前请运行make ci命令确保测试用例通过

  2. 如果您改动了部署模板的话,请务必手动部署您的改动到Azure来确保项目正常运行。

使用步骤

通过创建一个容器集群来演示ACS引擎的具体用法:

$ vim examples/kubernetes.classic.json

# 修改默认的DNS prefix
# 修改ssh public key

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

运行完毕后,项目的根目录下就会产生一个_output/的文件夹,这个文件夹中包含了所有的ARM模板,通过部署这些模板就可以在Azure上创建对应的容器集群了。(对于kubernetes来说,_output文件夹中也会生成一些证书之类的文件来供ARM部署时的需要)

部署方法

可以使用如下几种方式来部署ARM模板: the Azure CLI 2.0Powershell.

使用Azure CLI 2.0部署

NOTE: Azure CLI 2.0目前任处于测试阶段,中国地区尚且无法使用。如果部署到国际版的Azure的话可以使用以下流程:

$ az login

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

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

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

使用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

项目说明

本项目遵循Microsoft Open Source Code of Conduct. 详细信息请参阅 Code of Conduct FAQ或者联系[email protected]获取更多的技术支持。