文档首页/ 云容器引擎 CCE/ API参考(安卡拉区域)/ 附录/ 创建集群时指定要安装的插件
更新时间:2024-12-04 GMT+08:00

创建集群时指定要安装的插件

创建集群时,可在请求Body体中metadata字段的annotations中添加键值对,Key为cluster.install.addons/install,Value为AddonTemplate的json列表字符串。

表1 Value数据结构说明

参数

是否必选

参数类型

描述

Value

是

Json Array of AddonTemplate String.

集群待安装的插件。若不设置,kubernetes 1.13及以下版本的集群默认安装CoreDNS、storage-driver插件,kubernetes 1.15及以上版本的集群默认安装CoreDNS、everest、npd,详情请参见表2。

表2 AddonTemplate字段数据结构说明

参数

是否必选

参数类型

描述

addonTemplateName

是

String

插件名。

取值为:coredns、autoscaler、gpu-beta、storage-driver

version

否

String

插件版本。

可登录CCE控制台,在“插件管理”中单击插件名称,在插件详情页面的“版本记录”页签中查看。若不配置,默认使用最新版本。

values

否

Json Map

安装插件所需设置的参数。

  • CoreDNS:请参见 表3.
  • AutoScaler:请参见表7。
  • GPU-beta:请参见表9。
说明:

安装storage-driver插件不需要设置此参数。

表3 coredns values参数特殊键值对

参数

是否必选

参数类型

描述

flavor

是

flavor oject

插件规格。

custom

是

custom object

CoreDNS自定义参数。

表4 flavor字段数据结构说明

参数

是否必选

参数类型

描述

description

是

String

规格的描述信息

name

是

String

flavor名称

replicas

是

Integer

实例数

resources

是

resource object

插件资源

表5 resource字段数据结构说明

参数

是否必选

参数类型

描述

name

是

String

资源名称

limitsCpu

是

String

CPU配额限制

limitsMem

是

String

内存配额限制

requestsCpu

是

String

CPU申请的配额

requestsMem

是

String

内存申请的配额

表6 custom字段数据结构说明

参数

是否必选

参数类型

描述

stub_domains

否

Json Map

使用DNS后缀键(如acme.local)以及由DNS IP的JSON数组组成的值的JSON map

upstream_nameservers

否

Json Array

设置后,该指将替换默认情况下从节点/etc/resolv.conf获取的名称服务器。限制:可以指定最多3个上行名称服务器。

tenant_id

是

String

项目ID

表7 AutoScaler values参数特殊键值对

参数

是否必选

参数类型

描述

flavor

是

flavor Object

插件规格

custom

是

custom object

Autoscaler自定义参数

表8 custom字段数据结构说明

参数

是否必选

参数类型

描述

coresTotal

是

Integer

集群最大和最小核数,格式为<min>:<max>。autoscaler进行集群扩缩容时不会超过这个范围

maxEmptyBulkDeleteFlag

是

Integer

可同时删除的最大空节点数

maxNodesTotal

是

Integer

所有节点组里的最大节点数。autoscaler进行集群扩缩容时不会超过这个范围

memoryTotal

是

Integer

集群内存的最大和最小数,格式为<min>:<max>。autoscaler进行集群扩缩容时不会超过这个范围

scaleDownDelayAfterAdd

是

Integer

扩容后再次进行缩容评估的时间间隔

scaleDownDelayAfterDelete

是

Integer

删除节点后再次进行缩容评估的时间间隔,默认值为scanInterval

scaleDownDelayAfterFailure

是

Integer

缩容失败后再次进行缩容评估的时间间隔

scaleDownEnabled

是

Boolean

是否启用集群缩容

scaleDownUnneededTime

是

Integer

节点在达到缩容条件之后,需要等待多长时间才进行缩容

scaleDownUtilizationThreshold

是

Float

运行在该节点上的所有实例的CPU或内存总和占该节点可分配资源的比例。实际比例低于该阈值时,触发节点缩容

scaleUpCpuUtilizationThreshold

是

Float

触发扩容的CPU使用率阈值

scaleUpMemUtilizationThreshold

是

Float

触发扩容的内存使用率阈值

scaleUpUnscheduledPodEnabled

是

Boolean

存在未调度的实例时触发扩容

scaleUpUtilizationEnabled

是

Boolean

达到资源利用率阈值时触发扩容

tenant_id

是

String

项目ID

unremovableNodeRecheckTimeout

是

Integer

两次确认某节点是否能被移除的时间间隔

表9 gpu-beta values参数特殊键值对

参数

是否必选

参数类型

描述

custom

是

custom object

gpu-beta自定义参数

表10 custom字段数据结构说明

参数

是否必选

参数类型

描述

is_driver_from_nvidia

是

Boolean

是否使用英伟达驱动。

设置为true

nvidia_driver_download_url

是

String

驱动下载URL

表11 spec字段数据结构说明

参数

是否必选

参数类型

描述

type

是

String

集群类型:

  • VirtualMachine:混合集群

    混合集群基于Kubernetes来管理一组节点资源,支持虚拟机和裸金属的管理,Kubernetes将自动调度容器运行在可用节点上。在创建容器工作负载前,您需要存在一个可用集群。

  • ARM64:鲲鹏集群

    鲲鹏容器集群(ARM指令集)提供了容器在鲲鹏(ARM架构)服务器上的运行能力,提供与X86服务器相同的调度伸缩和快速部署能力。

flavor

是

String

集群规格,集群创建完成后规格不可再变更,请按实际业务需求进行选择。

  • cce.s1.small: 小规模单控制节点混合集群(最大50节点)
  • cce.s1.medium: 中等规模单控制节点混合集群(最大200节点)
  • cce.s1.large: 大规模单控制节点混合集群(最大1000节点)
  • cce.s2.small: 小规模高可用混合集群(最大50节点)
  • cce.s2.medium: 中等规模高可用混合集群(最大200节点)
  • cce.s2.large: 大规模高可用混合集群(最大1000节点)
说明:
  • s1:单控制节点混合集群。
  • s2:高可用混合集群。
  • dec:专属混合集群规格。如cce.dec.s1.small为小规模单控制节点专属混合集群(最大50节点)。
  • 最大节点数:当前集群支持管理的最大节点规模,请根据业务需求选择。
  • 单控制节点集群:普通集群是单控制节点,控制节点故障后,集群将不可用,但已运行工作负载不受影响。
  • 高可用集群:高可用集群是多控制节点,单控制节点故障,集群仍然可用。

version

否

String

集群版本,与Kubernetes社区基线版本保持一致,建议选择最新版本。

  • 在CCE控制台支持创建两种最新版本的集群。可登录CCE控制台,单击“集群管理 > 创建集群”,在“集群版本”处获取到集群版本。
  • 其它集群版本,当前仍可通过api创建,但后续会逐渐下线,具体下线策略请关注CCE官方公告。
说明:

若不配置,默认创建最新版本的集群。

description

否

String

集群描述,对于集群使用目的的描述,可根据实际情况自定义,默认为空。集群创建成功后可通过接口更新指定的集群来做出修改,也可在CCE控制台对应集群的“集群详情”下的“描述”处进行修改。

ipv6enable

否

Boolean

集群是否支持ipv6。1.15版本及以上支持。

hostNetwok

是

HostNetwork object

节点网络参数,包含了虚拟私有云VPC和子网的ID信息,而VPC是集群内节点之间的通信依赖,所以是必选的参数集。

containerNetwork

是

ContainerNetwork object

容器网络参数,包含了容器网络类型和容器网段的信息。

authentication

否

Authentication object

集群认证方式相关配置。

kubernetesSvcIpRange

否

String

服务网段参数,kubernetes clusterIp取值范围,1.11.7版本及以上支持。

billingMode

否

Integer

集群的计费方式,当前接口只支持创建“按需计费”的集群。

计费方式为“按需计费”时,取值为“0”。若不填,则默认为“0”。

masters

否

MasterSpec object

控制节点的高级配置

extendParam

否

Map<String,String>

扩展字段,key/value对格式。

可配置多可用区集群、专属混合集群。

请求示例

{
  "kind" : "Cluster",
  "apiVersion" : "v3",
  "metadata" : {
    "name" : "mycluster",
    "labels" : {
      "foo" : "bar"
    },
    "annotations" : {
      "cluster.install.addons/install" : "[{\"addonTemplateName\":\"autoscaler\",\"version\":\"1.15.11\",\"values\":{\"flavor\":{\"description\":\"Has only one instance\",\"name\":\"Single\",\"replicas\":1,\"resources\":[{\"limitsCpu\":\"90m\",\"limitsMem\":\"200Mi\",\"name\":\"autoscaler\",\"requestsCpu\":\"50m\",\"requestsMem\":\"100Mi\"}]},\"custom\":{\"coresTotal\":32000,\"maxEmptyBulkDeleteFlag\":10,\"maxNodesTotal\":1000,\"memoryTotal\":128000,\"scaleDownDelayAfterAdd\":10,\"scaleDownDelayAfterDelete\":10,\"scaleDownDelayAfterFailure\":3,\"scaleDownEnabled\":false,\"scaleDownUnneededTime\":10,\"scaleDownUtilizationThreshold\":0.5,\"scaleUpCpuUtilizationThreshold\":1,\"scaleUpMemUtilizationThreshold\":1,\"scaleUpUnscheduledPodEnabled\":true,\"scaleUpUtilizationEnabled\":true,\"tenant_id\":\"22a8a02394794b908d256103a5b63c65\",\"unremovableNodeRecheckTimeout\":5}}},{\"addonTemplateName\":\"coredns\",\"version\":\"1.15.3\",\"values\":{\"flavor\":{\"description\":\"Has two instances\",\"name\":2500,\"replicas\":2,\"resources\":[{\"limitsCpu\":\"500m\",\"limitsMem\":\"512Mi\",\"name\":\"coredns\",\"requestsCpu\":\"500m\",\"requestsMem\":\"512Mi\"}]},\"custom\":{\"stub_domains\":{},\"upstream_nameservers\":[],\"tenant_id\":\"22a8a02394794b908d256103a5b63c65\"}}},{\"addonTemplateName\":\"gpu-beta\",\"version\":\"1.1.7\",\"values\":{\"custom\":{\"is_driver_from_nvidia\":true,\"nvidia_driver_download_url\":\"https://us.download.nvidia.com/tesla/396.37/NVIDIA-Linux-x86_64-396.37.run\"}}},{\"addonTemplateName\":\"storage-driver\",\"version\":\"\"}]"
    }
  },
  "spec" : {
    "type" : "VirtualMachine",
    "flavor" : "cce.s1.small",
    "version" : "v1.15.11",
    "description" : "this is a demo cluster",
    "hostNetwork" : {
      "vpc" : "1cb74d47-8e09-4d14-a065-75f4fc03e5eb",
      "subnet" : "d44c089c-fbdc-49b3-ae8f-7b42c64219cf"
    },
    "containerNetwork" : {
      "mode" : "overlay_l2",
      "cidr" : "172.16.0.0/16"
    },
    "extendParam" : {
      "foo" : "bar"
    }
  }
}