需要开通容器服务和访问控制(RAM)服务。
登录 容器服务管理控制台和RAM 管理控制台开通相应的服务。 官方文档https://help.aliyun.com/document_detail/140541.html
调用 CreateCluster 创建一个新的安全沙箱容器 Kubernetes 集群。
请求信息 请求行 RequestLine
POST /clusters HTTP/1.1 特有请求头 RequestHead
无,请参考公共请求头部。
请求体 RequestBody
{ "name": "集群名称", "cluster_type": "集群类型: ManagedKubernetes", "disable_rollback": "true", "timeout_mins": "60", "region_id": "地域", "snat_entry": "是否配置SNATEntry", "cloud_monitor_flags": "是否安装云监控插件", "public_slb": "是否公网暴露集群endpoint", "worker_instance_type": "worker实例规格", "num_of_nodes": "worker数量", "vpcid": "vpc id", "vswitch_ids": "worker 节点虚拟交换机 ID", "service_cidr": "服务CIDR", "login_password": "节点SSH登录密码,和key_pair二选一", "key_pair":"keypair名称,和login_password 二选一", "worker_system_disk_category": "Worker系统盘类型", "worker_system_disk_size": Worker节点系统盘大小, "worker_data_disk_category": "Worker节点数据盘类型", "worker_data_disk_size": "Worker节点数据盘大小", "worker_data_disk": "是否挂载数据盘 true|false", "worker_instance_charge_type":"Worker节点付费类型PrePaid|PostPaid", "worker_period_unit":"包年包月单位,Month,Year,只有在PrePaid下生效", "worker_period":"包年包月时长,只有在PrePaid下生效", "worker_auto_renew":"Worker节点自动续费true|false", "worker_auto_renew_period":"Worker节点续费周期", "kubernetes_version": "kubernetes 版本", "addons": [{"name":"terway-eniip"}], "runtime": {"name": "Sandboxed-Container.runv", "version":"1.0.0"}, "pod_vswitch_ids": "Pod 虚拟交换机 id数组,只支持1个虚拟交换机" } 表 1. 请求体解释 名称 类型 必须 描述 addons list 是 Kubernetes 集群的 addon 插件的组合。 addons 的参数: name:必填,addon 插件的名称。 version:可选,取值为空时默认取最新版本。 config:可选,取值为空时表示无需配置。 网络插件:包含 Flannel 和 Terway 网络插件,二选一 。 日志服务:可选。 如果不开启日志服务时,将无法使用集群审计功能。 如果开启日志服务时,在 addon 数组中添加{ "name":"aliyun-log-controller"}。 cluster_type string 是 集群类型 安全沙箱容器当前支持的集群类型为ManagedKubernetes。
key_pair string 是 keypair 名称。和 login_password 二选一。 kubernetes_version string 是 安全沙箱容器仅支持1.14.6-aliyun.1及以上版本。 login_password string 是 SSH 登录密码。密码规则为8 - 30 个字符,且同时包含三项(大、小写字母,数字和特殊符号)。和key_pair 二选一。 name string 是 集群名称,集群名称可以使用大小写英文字母、中文、数字、中划线。 num_of_nodes int 是 Worker 节点数。范围是[0,100]。 pod_vswitch_ids list 是 Pod 使用的虚拟交换机的 ID。 region_id string 是 集群所在地域 ID。 runtime json 是 name:安全容器运行时的名称,目前支持 Sandboxed-Container.runv。 version:当前版本1.0.0。 snat_entry bool 是 是否为网络配置 SNAT。 当已有 VPC 能访问公网环境时,设置为 false。 当已有 VPC 不能访问公网环境时: 设置为 True,表示配置 SNAT,此时可以访问公网环境。 设置为 false,表示不配置 SNAT,此时不能访问公网环境。 vpcid string 是 VPC ID。如果不设置,系统会自动创建 VPC,系统创建的 VPC 网段为192.168.0.0/16。 说明 VpcId 和 vswitchid 只能同时为空或者同时都设置对应的值。 vswitch_ids list 是 交换机 ID。List 长度范围为[1, 3]。 worker_data_disk bool 是 是否挂载数据盘,在安全沙箱容器场景下,必须选择 true。 worker_data_disk_size string 是 数据盘大小,单位为 GiB。安全沙箱容器场景下,必须大于200。 worker_instance_type string 是 安全沙箱容器实例规格。 当前支持的实例规格为ecs.ebmg5s.24xlarge和ecs.ebmc5s.24xlarge。
worker_system_disk_category string 是 Worker 节点系统盘类型。 worker_system_disk_size int 是 Worker 节点系统盘大小,单位为 GiB。 cloud_monitor_flags bool 否 是否安装云监控插件: true:表示安装。 false:表示不安装。 disable_rollback bool 否 失败是否回滚: true:表示失败不回滚。 false:表示失败回滚。 默认为 true,如果选择失败回滚,则会释放创建过程中所生产的资源,不推荐使用 false。 endpoint_public_access bool 否 是否开启公网 API Server: true:默认为True,表示开放公网 API Server。 false:若设置为 false, 则不会创建公网的 API Server,仅创建私网的 API Server。 service_cidr string 否 服务网段,不能和 VPC 网段以及容器网段冲突。当选择系统自动创建 VPC 时,默认使用172.19.0.0/20网段。 tags list 否 给集群打 tag 标签: key:标签名称。 value:标签值。 timeout_mins int 否 集群资源栈创建超时时间,以分钟为单位,默认值 60。 worker_auto_renew bool 否 是否开启 Worker 节点自动续费,可选值为: true:自动续费。 false:不自动续费。 worker_auto_renew_period int 否 自动续费周期,当选择预付费和自动续费时才生效,且为必选值: PeriodUnit=Week时,取值:{“1”,“2”, “3”}。 PeriodUnit=Month时,取值{“1”, “2”, “3”, “6”, “12”}。 worker_data_disk_category string 否 数据盘类型,只在挂载 Worker 节点数据盘时有效,取值范围: cloud:普通云盘。 cloud_efficiency:高效云盘。 cloud_ssd:SSD云盘。 worker_instance_charge_type string 否 Worker 节点付费类型,可选值为: PrePaid:预付费。 PostPaid:按量付费。 默认为按量付费。 worker_period int 否 包年包月时长,当worker_instance_charge_type取值为PrePaid时才生效且为必选值,取值范围: PeriodUnit=Week时,Period取值:{“1”, “2”, “3”, “4”}。 PeriodUnit=Month时,Period取值:{ “1”, “2”, “3”,“4”, “5”, “6”, “7”, “8”, “9”, “12”,“24”, “36”,”48”,”60”}。 worker_period_unit string 否 当指定为 PrePaid 的时候需要指定周期。可选择为: Week:以周为计时单位。 Month:以月为计时单位。 返回信息 返回行 ResponseLine
HTTP/1.1 202 Accepted 特有返回头 ResponseHead
无,请参考公共返回头部。
表 2. 返回体 ResponseBody 名称 类型 描述 cluster_id string 集群实例 ID。 request_id string 请求 ID。 task_id string 任务 ID。系统自动分配,用户查询任务状态。 示例 请求示例
POST /clusters HTTP/1.1 <公共请求头> { "name": "test-sandbox", "cluster_type": "ManagedKubernetes", "disable_rollback": true, "timeout_mins": 60, "region_id": "cn-hangzhou", "snat_entry": true, "cloud_monitor_flags": false, "endpoint_public_access": true, "worker_instance_type": "ecs.ebmg5s.24xlarge", "num_of_nodes": 2, "vpcid": "vpc-bp1iybm49v9jgb50xxxxx", "vswitch_ids": ["vsw-bp1ue9z93i9zpcblxxxxx"], "service_cidr": "192.168.0.0/16", "login_password": "xxxxxxxx", "worker_system_disk_category": "cloud_efficiency", "worker_system_disk_size": 200, "worker_data_disk_category": "cloud_efficiency", "worker_data_disk_size": 200, "worker_data_disk": true, "worker_instance_charge_type": "PostPaid", "kubernetes_version": "1.14.6-aliyun.1", "addons": [{"name":"terway-eniip"}], "runtime": {"name": "Sandboxed-Container.runv", "version": "1.0.0"}, "pod_vswitch_ids":["vsw-bp18nj6xxfoc2ci2xxxxx"] } 返回示例
HTTP/1.1 202 Accepted <公共响应头> { "cluster_id": "cb95aa626a47740afbf6aa099b65****", "request_id": "687C5BAA-D103-4993-884B-C35E4314A1E1", "task_id": "T-5a54309c80282e39ea00002f" }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。