使用前必读
欢迎使用云容器引擎(Cloud Container Engine,简称CCE)。云容器引擎提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器。借助云容器引擎,您可以在云上轻松部署、管理和扩展容器化应用程序。
您可以使用本文档提供API对云容器引擎进行相关操作,如创建、删除、变更规格、添加网卡等。支持的全部操作请参见2 API概览。
在调用云容器引擎API之前,请确保已经充分了解云容器引擎相关概念。
另外,云容器引擎所提供的接口分为CCE接口与Kubernetes原生接口。通过配合使用,您可以完整的使用云容器引擎的所有功能。
- CCE接口:CCE服务通过API网关开放的接口,支持操作云服务层面的基础设施(如创建节点)。同时也支持调用集群层面的资源(如创建工作负载)。
- Kubernetes原生接口:直接通过Kubernetes原生API Server来调用集群层面的资源(如创建工作负载),但不支持操作云服务层面的基础设施(如创建节点)。
Kubernetes原生接口版本级别的相关概念请参见https://kubernetes.io/docs/concepts/overview/kubernetes-api/。
- 当前版本调用Kubernetes接口不支持HTTP长链接。
- 当前版本调用的Kubernetes接口包含Beta级别的接口,即版本名称包含了beta (例如: v1beta1)的接口。此类接口会根据Kubernetes原生接口的变化而变化,因此推荐在非重要的情况下使用,例如短期测试集群等。
云容器引擎提供了REST(Representational State Transfer)风格API,支持您通过HTTPS请求调用,调用方法请参见3 如何调用API。
终端节点(Endpoint)
终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从管理员处查询服务的终端节点。
- 集群管理、节点管理、节点池管理、配额管理的URL格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径。
- Kubernetes API、存储管理、插件管理的URL格式为:https://{clusterid}.Endpoint/uri。其中{clusterid}为集群ID,uri为资源路径,也即API访问的路径。
- 插件管理接口调用的URL格式为:https://{clusterid}.Endpoint/uri,但{clusterid}参数仅用于域名,不会被接口校验和使用。插件管理实际使用的{clusterid}参数请参考插件管理,填写在query或body体中。
- {clusterid}参数对Kubernetes API、存储管理生效,对应需要调用接口访问的集群。
参数 |
描述 |
---|---|
{clusterid} |
集群ID,创建集群后,调用获取指定项目下的集群接口获取。 |
Endpoint |
Web服务入口点的URL,不同服务不同区域的终端节点不同。 |
uri |
资源路径,也即API访问路径。从具体接口的URI模块获取,例如“获取用户Token”API的resource-path为“v3/auth/tokens”。 |
约束与限制
- 云容器引擎对单个用户的资源数量和容量限定了配额,默认情况下,您最多可以创建5个集群(每个Region下),每个集群中最多可以添加 50 个节点。
- 更详细的限制请参见具体API的说明。
基本概念
- 账号
用户的账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用用户进行日常管理工作。
- 用户
由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。
通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。
- 区域(Region)
指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。
- 可用区(AZ,Availability Zone)
一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。
- 项目
区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中的资源,使得资源的权限控制更加精确。
图1 项目隔离模型