标签:ast parameter 网络 核心 def 配置 ges 默认 create
需要注意的是,当修改已有的Docker容器集群的时候,应该修改apimodel.json文件来保证最新的部署不会影响到目前集群中已有的资源。举个例子,如果一个容器集群中的节点数量不够的时候,可以修改apimodel.json中的集群节点数量,然后重新运行acs-engine命令并将apimodel.json作为输入参数来生成新的ARM模板。这样部署以后,集群中的旧的节点就不会有变化,新的节点会自动加入。目前只支持node节点的扩容。
{
"apiVersion": "vlabs",
"location": "chinaeast",
"properties": {
"orchestratorProfile": {
....
},
"masterProfile": {
"count": 3,
},
"agentPoolProfiles": [
{
"name": "testagpool1",
"count": 4, #修改node节点数量,扩容到4个node节点
}
}
在新生成的模板文件以及参数文件中,需要修改和添加node节点的offset数量,标明在扩容前已经存在的node节点数量,这样扩容就不会去修改已存在offset数量的虚机,而从offset位置开始新建虚机。
如果你再扩容中发现如下错误,那应该是没有正确配置好offset的数量:
{
"error": {
"code": "PropertyChangeNotAllowed",
"target": "customData",
"message": "Changing property ‘customData‘ is not allowed."
}
修改azuredeploy.json中node节点的offset数量,例如若扩容前已经有2个node节点,则offset为2:
"testagpool1Offset": {
"allowedValues": [
0,
....
99
],
"defaultValue": 2,
"metadata": {
"description": "The offset into the agent pool where to start creating agents. This value can be from 0 to 99, but must be less than agentCount"
},
"type": "int"
}
azuredeploy.parameters.json中添加node节点offset信息:
"testagpool1Offset": {
"value": 2
}
部署kubernetes时,acs-engine建了一个网络安全组,并关联了master和所有node节点的网卡。而在扩容过程中,脚本会删除掉这个网络安全组中除了默认22/443端口的其他所有端口,因此在执行扩容命令之前,需要将网络安全组中的网卡取消关联,否则在扩容过程中将会导致无法从外部访问服务。如果你的服务不需要从外部访问,则可以不进行此操作。
Azure CLI2 :
$ az cloud set -n AzureChinaCloud $ 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"
使用acs-engine扩容Azure Kubernetes集群
标签:ast parameter 网络 核心 def 配置 ges 默认 create
原文地址:http://www.cnblogs.com/wayneiscoming/p/7753590.html