文档首页/ 云容器引擎 CCE/ API参考/ 附录/ 创建集群时指定要安装的插件
更新时间:2024-05-30 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: 小规模单控制节点CCE集群(最大50节点)
  • cce.s1.medium: 中等规模单控制节点CCE集群(最大200节点)
  • cce.s2.small: 小规模高可用(三控制节点)CCE集群(最大50节点)
  • cce.s2.medium: 中等规模高可用(三控制节点)CCE集群(最大200节点)
  • cce.s2.large: 大规模高可用(三控制节点)CCE集群(最大1000节点)
  • cce.s2.xlarge: 超大规模高可用(三控制节点)CCE集群(最大2000节点)
说明:
  • s1:单控制节点的集群,控制节点数为1。单控制节点故障后,集群将不可用,但已运行工作负载不受影响。
  • s2:三控制节点的集群,即高可用集群,控制节点数为3。当某个控制节点故障时,集群仍然可用。
  • 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"
    }
  }
}