Skip to content

Latest commit

 

History

History
151 lines (113 loc) · 7.04 KB

quickstart.zh-CN.md

File metadata and controls

151 lines (113 loc) · 7.04 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.

部署方法

部署方式请参考这里.