Skip to content

Latest commit

 

History

History
151 lines (113 loc) · 7.05 KB

quickstart.zh-CN.md

File metadata and controls

151 lines (113 loc) · 7.05 KB

微软Azure容器服务引擎

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

基于Docker的部署

最简单的开始使用aks-engine的方式是使用Docker。如果本地计算机安装了Docker或者windows、Mac版本的Docker的话,无需安装任何软件就可以直接使用aks-engine了。

  • Windows (PowerShell): .\scripts\devenv.ps1
  • Linux (bash): ./scripts/devenv.sh

上面的这段脚本在Docker容器中挂载了aks-engine源目录。你可以在任何熟悉的编辑器上修改这些源代码,所做的修改可以直接在Docker容器中编译和测试(本项目的持续集成系统中也采用了同样的方式)。

make bootstrap

devenv.{ps1,sh}执行完毕的时候,你可以在容器中查看对应的日志,最后执行下面的脚本就可以生成aks-engine工具了:

make build

当项目编译通过后,可以使用如下的命令来验证aks-engine是否正常运行:

# ./bin/aks-engine
Usage:
  aks-engine [flags]
  aks-engine [command]

Available Commands:
  completion    Generates bash completion scripts
  deploy        Deploy an Azure Resource Manager template
  generate      Generate an Azure Resource Manager template
  get-versions  Display info about supported Kubernetes versions
  help          Help about any command
  scale         Scale an existing Kubernetes cluster
  upgrade       Upgrade an existing Kubernetes cluster
  version       Print the version of aks-engine

Flags:
      --debug                enable verbose debug logs
  -h, --help                 help for aks-engine
      --show-default-model   Dump the default API model to stdout

Use "aks-engine [command] --help" for more information about a command.

详细的开发,编译,测试过程和步骤可以参考这个视频

本地下载并编译AKS引擎

AKS引擎具有跨平台特性,可以在windows,OS X和Linux上运行。以下是对应不同平台的安装步骤:

Windows

安装依赖软件:

编译步骤:

  1. 设置工作目录。 这里假设使用c:\gopath作为工作目录:
  2. 使用Windows + R组合键打开运行窗口
  3. 执行命令:rundll32 sysdm.cpl,EditEnvironmentVariables打开系统环境变量设置对话框
  4. 添加c:\go\bin到PATH环境变量
  5. 点击“新建”按钮并新建GOPATH环境变量,设置缺省值为c:\gopath
  6. 编译AKS引擎:
  7. 使用Windows + R组合键打开运行窗口
  8. 运行cmd命令打开命令行窗口
  9. 运行命令mkdir %GOPATH%
  10. cd %GOPATH%
  11. 运行go get github.com/Azure/aks-engine命令获取AKS引擎在github上的最新代码
  12. 运行go get all命令安装AKS引擎需要的依赖组件
  13. cd %GOPATH%\src\github.com\Azure\aks-engine
  14. 运行go build编译项目
  15. 运行aks-engine命令,如果能看到命令参数提示就说明已经正确编译成功了。

OS X

安装依赖软件::

安装步骤:

  1. 打开命令行窗口并设置GOPATH环境变量:
  2. mkdir $HOME/gopath
  3. 打开$HOME/.bash_profile文件并添加以下内容:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/gopath
  1. source $HOME/.sh_profile使配置生效。
  2. 编译AKS引擎:
  3. 运行go get github.com/Azure/aks-engine命令获取AKS引擎在github上的最新代码。
  4. 运行go get all命令安装AKS引擎需要的依赖组件
  5. cd $GOPATH/src/github.com/Azure/aks-engine
  6. go build编译项目
  7. 运行aks-engine命令,如果能看到命令参数提示就说明已经正确编译成功了。

Linux

安装依赖软件:

  • Go for Linux
  • git

编译步骤:

  1. 设置GOPATH:
  2. 运行命令mkdir $HOME/gopath新建gopath目录
  3. 编辑$HOME/.profile文件增加如下的配置:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/gopath
  1. 运行命令source $HOME/.profile使配置生效。
  2. 编译AKS引擎:
  3. 运行命令go get github.com/Azure/aks-engine获取AKS引擎在github上的最新代码。
  4. 运行go get all命令安装AKS引擎需要的依赖组件
  5. cd $GOPATH/src/github.com/Azure/aks-engine
  6. 运行go build命令编译项目
  7. 运行aks-engine命令,如果能看到命令参数提示就说明已经正确编译成功了。

生成模板

AKS引擎使用json格式的集群定义文件作为输入参数,生成3个或者多个类似如下的模板:

  1. apimodel.json - 集群配置文件
  2. azuredeploy.json - 核心的ARM (Azure Resource Model)模板,用来部署Docker集群
  3. azuredeploy.parameters.json - 部署参数文件,其中的参数可以自定义
  4. certificate and access config files - 某些编排引擎例如kubernetes需要生成一些证书,这些证书文件和它依赖的kube config配置文件也存放在和ARM模板同级目录下面

需要注意的是,当修改已有的Docker容器集群的时候,应该修改apimodel.json文件来保证最新的部署不会影响到目前集群中已有的资源。举个例子,如果一个容器集群中的节点数量不够的时候,可以修改apimodel.json中的集群节点数量,然后重新运行aks-engine命令并将apimodel.json作为输入参数来生成新的ARM模板。这样部署以后,集群中的旧的节点就不会有变化,新的节点会自动加入。

演示

这里通过部署一个kubernetes容器集群来演示如何使用aks-engine。kubernetes集群定义文件使用examples/kubernetes.json

  1. 首先需要准备一个SSH 公钥私钥对.
  2. 编辑examples/kubernetes.json将其需要的参数配置好.
  3. 运行./bin/aks-engine generate examples/kubernetes.json命令在_output/Kubernetes-UNIQUEID目录中生成对应的模板。(UNIQUEID是master节点的FQDN前缀的hash值)
  4. 按照README中指定的方式使用azuredeploy.jsonazuredeploy.parameters.json部署容器集群 deployment usage.

部署方法

部署方式请参考这里.