华为云用户手册

  • Kubernetes API API 功能 URI Node 获取指定的Node GET /api/v1/nodes/{name} 列出所有的Node GET /api/v1/nodes 更新指定的Node PATCH /api/v1/nodes/{name} Namespace 创建Namespace POST /api/v1/namespaces 删除Namespace DELETE /api/v1/namespaces/{name} 获取指定的Namespace GET /api/v1/namespaces/{name} 替换指定的Namespace PUT /api/v1/namespaces/{name} 替换指定的Namespace的状态 PUT /api/v1/namespaces/{name}/status 替换指定的Namespace的Finalize值 PUT /api/v1/namespaces/{name}/finalize 列出Namespace GET /api/v1/namespaces 更新指定的Namespace PATCH /api/v1/namespaces/{name} Resourcequotas 获取Resourcequotas GET /api/v1/resourcequotas 创建Resourcequota POST /api/v1/namespaces/{namespace}/resourcequotas 更新Resourcequota PUT /api/v1/namespaces/{namespace}/resourcequotas/{name} 删除Resourcequota DELETE /api/v1/namespaces/{namespace}/resourcequotas/{name} Pod 创建Pod POST /api/v1/namespaces/{namespace}/pods 删除Pod DELETE /api/v1/namespaces/{namespace}/pods/{name} 删除所有的Pod DELETE /api/v1/namespaces/{namespace}/pods 获取指定的Pod GET /api/v1/namespaces/{namespace}/pods/{name} 替换指定的Pod PUT /api/v1/namespaces/{namespace}/pods/{name} 替换指定的Pod的状态 PUT /api/v1/namespaces/{namespace}/pods/{name}/status 列出指定Namespaces下的所有Pod GET /api/v1/namespaces/{namespace}/pods 列出Pod GET /api/v1/pods 更新指定的Pod PATCH /api/v1/namespaces/{namespace}/pods/{name} Deployment 创建Deployment POST /apis/apps/v1/namespaces/{namespace}/deployments 创建Deployment的回滚操作 PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name} (仅适用于1.17及以上版本的集群) POST /apis/apps/v1beta1/namespaces/{namespace}/deployments/{name}/rollback (仅适用于1.15及以下版本的集群) POST /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/rollback (仅适用于1.15及以下版本的集群) 删除Deployment DELETE /apis/apps/v1/namespaces/{namespace}/deployments/{name} 删除所有的Deployment DELETE /apis/apps/v1/namespaces/{namespace}/deployments 获取指定的Deployment GET /apis/apps/v1/namespaces/{namespace}/deployments/{name} 获取指定的Deployment的状态 GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status 获取指定的Deployment的伸缩操作 GET /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale 替换指定的Deployment PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name} 替换指定的Deployment的状态 PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status 替换指定的Deployment的伸缩操作 PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale 列出指定Namespace下的Deployment GET /apis/apps/v1/namespaces/{namespace}/deployments 列出所有的Deployment GET /apis/apps/v1/deployments 更新指定的Deployment PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name} 更新指定的Deployment的状态 PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status 更新指定的Deployment的伸缩操作 PATCH /apis/apps/v1/namespaces/{namespace}/deployments/{name}/scale Statefulset 创建StatefulSet POST /apis/apps/v1/namespaces/{namespace}/statefulsets 删除指定的StatefulSet DELETE /apis/apps/v1/namespaces/{namespace}/statefulsets/{name} 删除所有的StatefulSet DELETE /apis/apps/v1/namespaces/{namespace}/statefulsets 获取指定的StatefulSet GET /apis/apps/v1/namespaces/{namespace}/statefulsets/{name} 获取指定的StatefulSet的状态 GET /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status 替换指定的StatefulSet PUT /apis/apps/v1/namespaces/{namespace}/statefulsets/{name} 替换指定的StatefulSet的状态 PUT /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status 列出指定Namespace下的StatefulSet GET /apis/apps/v1/namespaces/{namespace}/statefulsets 列出所有的StatefulSet GET /apis/apps/v1/statefulsets 更新指定的StatefulSet PATCH /apis/apps/v1/namespaces/{namespace}/statefulsets/{name} 更新指定的StatefulSet的状态 PATCH /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/status Daemonset 创建DaemonSet POST /apis/apps/v1/namespaces/{namespace}/daemonsets 删除指定的DaemonSet DELETE /apis/apps/v1/namespaces/{namespace}/daemonsets/{name} 删除所有的Daemonset DELETE /apis/apps/v1/namespaces/{namespace}/daemonsets 获取指定的DaemonSet GET /apis/apps/v1/namespaces/{namespace}/daemonsets/{name} 获取指定的DaemonSet的状态 GET /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status 更新指定的DaemonSet PATCH /apis/apps/v1/namespaces/{namespace}/daemonsets/{name} 更新指定的DaemonSet的状态 PATCH /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status 列出所有的DaemonSet GET /apis/apps/v1/daemonsets 列出指定Namespace下的DaemonSet GET /apis/apps/v1/namespaces/{namespace}/daemonsets 替换指定的DaemonSet PUT /apis/apps/v1/namespaces/{namespace}/daemonsets/{name} 替换指定的DaemonSet的状态 PUT /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status Job 创建Job POST /apis/batch/v1/namespaces/{namespace}/jobs 删除Job DELETE /apis/batch/v1/namespaces/{namespace}/jobs/{name} 删除所有的Job DELETE /apis/batch/v1/namespaces/{namespace}/jobs 获取指定的Job GET /apis/batch/v1/namespaces/{namespace}/jobs/{name} 获取指定的Job的状态 GET /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status 替换指定的Job PUT /apis/batch/v1/namespaces/{namespace}/jobs/{name} 替换指定的Job的状态 PUT /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status 列出指定Namespace下的Job GET /apis/batch/v1/namespaces/{namespace}/jobs 列出所有Job GET /apis/batch/v1/jobs 更新指定的Job的状态 PATCH /apis/batch/v1/namespaces/{namespace}/jobs/{name}/status 更新指定的Job PATCH /apis/batch/v1/namespaces/{namespace}/jobs/{name} CronJob 创建CronJob POST /apis/batch/v1beta1/namespaces/{namespace}/cronjobs 删除CronJob DELETE /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name} 删除所有的CronJob DELETE /apis/batch/v1beta1/namespaces/{namespace}/cronjobs 获取指定的CronJob GET /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name} 获取指定的CronJob的状态 GET /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}/status 替换指定的CronJob PUT /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name} 替换指定的CronJob的状态 PUT /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}/status 列出指定Namespace下的CronJob GET /apis/batch/v1beta1/namespaces/{namespace}/cronjobs 列出所有的CronJob GET /apis/batch/v1beta1/cronjobs 更新指定的CronJob的状态 PATCH /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}/status 更新指定的CronJob PATCH /apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name} ReplicaSet 列出指定的ReplicaSet GET /apis/apps/v1/namespaces/{namespace}/replicasets 获取指定的ReplicaSet GET /apis/apps/v1/namespaces/{namespace}/replicasets/{name} 获取Replicasets GET /apis/apps/v1/replicasets ReplicationController 创建ReplicationController POST /api/v1/namespaces/{namespace}/replicationcontrollers 删除ReplicationController DELETE /api/v1/namespaces/{namespace}/replicationcontrollers/{name} 删除所有的ReplicationController DELETE /api/v1/namespaces/{namespace}/replicationcontrollers 获取指定Namespace下的ReplicationController GET /api/v1/namespaces/{namespace}/replicationcontrollers/{name} 替换指定Namespace下的ReplicationController PUT /api/v1/namespaces/{namespace}/replicationcontrollers/{name} 替换指定Namespace下的ReplicationController状态 PUT /api/v1/namespaces/{namespace}/replicationcontrollers/{name}/status 列出指定Namespace下的ReplicationController GET /api/v1/namespaces/{namespace}/replicationcontrollers 列出ReplicationController GET /api/v1/replicationcontrollers 更新指定的ReplicationController PATCH /api/v1/namespaces/{namespace}/replicationcontrollers/{name} Endpoints 创建Endpoints POST /api/v1/namespaces/{namespace}/endpoints 删除Endpoints DELETE /api/v1/namespaces/{namespace}/endpoints/{name} 删除所有的Endpoints DELETE /api/v1/namespaces/{namespace}/endpoints 获取指定的Endpoints GET /api/v1/namespaces/{namespace}/endpoints/{name} 替换指定的Endpoints PUT /api/v1/namespaces/{namespace}/endpoints/{name} 列出Endpoints GET /api/v1/endpoints 列出指定Namespace下的Endpoints GET /api/v1/namespaces/{namespace}/endpoints 更新指定的Endpoints PATCH /api/v1/namespaces/{namespace}/endpoints/{name} Service 创建Service POST /api/v1/namespaces/{namespace}/services 删除指定的Service DELETE /api/v1/namespaces/{namespace}/services/{name} 获取指定的Service GET /api/v1/namespaces/{namespace}/services/{name} 替换指定的Service PUT /api/v1/namespaces/{namespace}/services/{name} 列出指定Namespace下的Service GET /api/v1/namespaces/{namespace}/services 列出Service GET /api/v1/services 更新指定的Service PATCH /api/v1/namespaces/{namespace}/services/{name} Ingress 创建Ingress POST /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses (仅适用于1.21及以上版本) POST /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses (仅适用于1.15至1.21版本) POST /apis/extensions/v1beta1/namespaces/{namespace}/ingresses (仅适用于1.15以下版本) 更新指定的Ingress PATCH /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name} (仅适用于1.21及以上版本) PATCH /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses/{name} (仅适用于1.15至1.21版本) PATCH /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name} (仅适用于1.15以下版本) 替换指定的Ingress PUT /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name} (仅适用于1.21及以上版本) PUT /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses/{name} (仅适用于1.15至1.21版本) PUT /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name} (仅适用于1.15以下版本) 删除Ingress DELETE /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name} (仅适用于1.21及以上版本) DELETE /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses/{name} (仅适用于1.15至1.21版本) DELETE /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name} (仅适用于1.15以下版本) 删除所有的Ingress DELETE /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses (仅适用于1.21及以上版本) DELETE /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses (仅适用于1.15至1.21版本) DELETE /apis/extensions/v1beta1/namespaces/{namespace}/ingresses (仅适用于1.15以下版本) 获取指定的Ingress GET /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name} (仅适用于1.21及以上版本) GET /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses/{name} (仅适用于1.15至1.21版本) GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name} (仅适用于1.15以下版本) 列出指定Namespace下的Ingress GET /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses (仅适用于1.21及以上版本) GET /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses (仅适用于1.15至1.21版本) GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses (仅适用于1.15以下版本) 获取Ingress列表 GET /apis/networking.k8s.io/v1/ingresses (仅适用于1.21及以上版本) GET /apis/networking.k8s.io/v1beta1/ingresses (仅适用于1.15至1.21版本) GET /apis/extensions/v1beta1/ingresses (仅适用于1.15以下版本) 获取指定Namespace下的某个Ingress对象的状态 GET /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status (仅适用于1.21及以上版本) GET /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses/{name}/status (仅适用于1.15至1.21版本) GET /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}/status (仅适用于1.15以下版本) 替换指定Namespace下的某个Ingress对象的状态 PUT /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status (仅适用于1.21及以上版本) PUT /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses/{name}/status (仅适用于1.15至1.21版本) PUT /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}/status (仅适用于1.15以下版本) 更新指定Namespace下的某个Ingress对象的状态 PATCH /apis/networking.k8s.io/v1/namespaces/{namespace}/ingresses/{name}/status (仅适用于1.21及以上版本) PATCH /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses/{name}/status (仅适用于1.15至1.21版本) PATCH /apis/extensions/v1beta1/namespaces/{namespace}/ingresses/{name}/status (仅适用于1.15以下版本) NetworkPolicy 创建networkpolicy POST /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies 更新指定的networkpolicy PATCH /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name} 替换指定的networkpolicy PUT /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name} 删除networkpolicy DELETE /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name} 批量删除networkpolicy DELETE /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies 获取指定的networkpolicy GET /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies/{name} 列出指定namespace下的networkpolicy GET /apis/networking.k8s.io/v1/namespaces/{namespace}/networkpolicies 获取networkpolicy列表 GET /apis/networking.k8s.io/v1/networkpolicies PersistentVolume 创建PersistentVolume POST /api/v1/persistentvolumes 删除指定的PersistentVolume DELETE /api/v1/persistentvolumes/{name} 删除所有的PersistentVolume DELETE /api/v1/persistentvolumes 获取指定的PersistentVolume GET /api/v1/persistentvolumes/{name} 替换指定的PersistentVolume PUT /api/v1/persistentvolumes/{name} 替换指定的PersistentVolume的状态 PUT /api/v1/persistentvolumes/{name}/status 列出所有的PersistentVolume GET /api/v1/persistentvolumes 更新指定的PersistentVolume PATCH /api/v1/persistentvolumes/{name} PersistentVolumeClaim 创建PersistentVolumeClaim POST /api/v1/namespaces/{namespace}/persistentvolumeclaims 删除指定的PersistentVolumeClaim DELETE /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} 删除所有的PersistentVolumeClaim DELETE /api/v1/namespaces/{namespace}/persistentvolumeclaims 获取指定的PersistentVolumeClaim GET /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} 替换指定的PersistentVolumeClaim PUT /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} 替换指定的PersistentVolumeClaim的状态 PUT /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status 列出指定的Namespace下的PersistentVolumeClaim GET /api/v1/namespaces/{namespace}/persistentvolumeclaims 列出所有的PersistentVolumeClaim GET /api/v1/persistentvolumeclaims 更新指定的PersistentVolumeClaim PATCH /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} ConfigMap 创建ConfigMap POST /api/v1/namespaces/{namespace}/configmaps 删除ConfigMap DELETE /api/v1/namespaces/{namespace}/configmaps/{name} 删除所有的ConfigMap DELETE /api/v1/namespaces/{namespace}/configmaps 获取指定的ConfigMap GET /api/v1/namespaces/{namespace}/configmaps/{name} 替换指定ConfigMap PUT /api/v1/namespaces/{namespace}/configmaps/{name} 列出指定Namespace下的ConfigMap GET /api/v1/namespaces/{namespace}/configmaps 列出所有的ConfigMap GET /api/v1/configmaps 更新指定的ConfigMap PATCH /api/v1/namespaces/{namespace}/configmaps/{name} Secret 创建Secret POST /api/v1/namespaces/{namespace}/secrets 删除Secret DELETE /api/v1/namespaces/{namespace}/secrets/{name} 删除指定命名空间下所有的Secret DELETE /api/v1/namespaces/{namespace}/secrets 获取Secret信息 GET /api/v1/namespaces/{namespace}/secrets/{name} 替换指定的Secret PUT /api/v1/namespaces/{namespace}/secrets/{name} 列出指定Namespace下的Secret GET /api/v1/namespaces/{namespace}/secrets 列出集群下的Secret GET /api/v1/secrets RBAC/ ClusterRole 创建ClusterRole POST /apis/rbac.authorization.k8s.io/v1/clusterroles 更新指定的ClusterRole PATCH /apis/rbac.authorization.k8s.io/v1/clusterroles/{name} 替换指定的ClusterRole PUT /apis/rbac.authorization.k8s.io/v1/clusterroles/{name} 删除指定的ClusterRole DELETE /apis/rbac.authorization.k8s.io/v1/clusterroles/{name} 批量删除ClusterRole DELETE /apis/rbac.authorization.k8s.io/v1/clusterroles 获取指定的ClusterRole GET /apis/rbac.authorization.k8s.io/v1/clusterroles/{name} 获取ClusterRole列表 GET /apis/rbac.authorization.k8s.io/v1/clusterroles RBAC/ ClusterRoleBinding 创建ClusterRoleBinding POST /apis/rbac.authorization.k8s.io/v1/clusterrolebindings 更新指定的ClusterRoleBinding PATCH /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name} 替换指定的ClusterRoleBinding PUT /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name} 删除指定的ClusterRoleBinding DELETE /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name} 批量删除ClusterRoleBinding DELETE /apis/rbac.authorization.k8s.io/v1/clusterrolebindings 获取指定的ClusterRoleBinding GET /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/{name} 获取ClusterRoleBinding列表 GET /apis/rbac.authorization.k8s.io/v1/clusterrolebindings RBAC/Role 创建Role POST /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles 更新指定的Role PATCH /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name} 替换指定的Role PUT /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name} 删除指定的Role DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name} 批量删除Role DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles 获取指定的Role GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles/{name} 获取指定namespace下的Role列表 GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/roles 获取Role列表 GET /apis/rbac.authorization.k8s.io/v1/roles RBAC/RoleBinding 创建RoleBinding POST /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings 更新指定的RoleBinding PATCH /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name} 替换指定的RoleBinding PUT /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name} 删除指定的RoleBinding DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name} 批量删除RoleBinding DELETE /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings 获取指定的RoleBinding GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings/{name} 获取指定namespace下RoleBinding列表 GET /apis/rbac.authorization.k8s.io/v1/namespaces/{namespace}/rolebindings 获取RoleBinding列表 GET /apis/rbac.authorization.k8s.io/v1/rolebindings API groups 列出APIVersions GET /api 列出APIGroups GET /apis listing APIResources of GroupVersion apiregistration.k8s.io/v1beta1 GET /apis/apiregistration.k8s.io/v1beta1 listing APIResources of GroupVersion extensions/v1beta1 GET /apis/extensions/v1beta1 listing APIResources of GroupVersion apps/v1&apps/v1beta1 GET /apis/apps/v1(适用于1.15以上版本的集群) GET /apis/apps/v1beta1(仅适用于1.15及以下版本的集群) listing APIResources of GroupVersion authentication.k8s.io/v1 GET /apis/authentication.k8s.io/v1 listing APIResources of GroupVersion authentication.k8s.io/v1beta1 GET /apis/authentication.k8s.io/v1beta1 listing APIResources of GroupVersion authorization.k8s.io/v1 GET /apis/authorization.k8s.io/v1 listing APIResources of GroupVersion authorization.k8s.io/v1beta1 GET /apis/authorization.k8s.io/v1beta1 listing APIResources of GroupVersion autoscaling/v1 GET /apis/autoscaling/v1 listing APIResources of GroupVersion batch/v1 GET /apis/batch/v1 listing APIResources of GroupVersion certificates.k8s.io/v1beta1 GET /apis/certificates.k8s.io/v1beta1 listing APIResources of GroupVersion networking.k8s.io/v1 GET /apis/networking.k8s.io/v1 listing APIResources of GroupVersion policy/v1beta1 GET /apis/policy/v1beta1 listing APIResources of GroupVersion rbac.authorization.k8s.io/v1beta1 GET /apis/rbac.authorization.k8s.io/v1beta1 listing APIResources of GroupVersion storage.k8s.io/v1 GET /apis/storage.k8s.io/v1 listing APIResources of GroupVersion storage.k8s.io/v1beta1 GET /apis/storage.k8s.io/v1beta1 listing APIResources of GroupVersion apiextensions.k8s.io/v1beta1 GET /apis/apiextensions.k8s.io/v1beta1 listing APIResources of GroupVersion v1 GET /api/v1 Event 获取Event GET /api/v1/events 列出指定命名空间下的Event GET /api/v1/namespaces/{namespace}/events
  • 集群管理 表1 集群管理 API 说明 创建集群 创建一个空集群(即只有控制节点Master,没有工作节点Node)。 获取指定的集群 获取指定集群的详细信息。 获取指定项目下的集群 获取指定项目下所有集群的详细信息。 更新指定的集群 更新指定的集群。 删除集群 删除一个指定的集群。 集群休眠 休眠一个指定的集群。 集群唤醒 唤醒一个指定的已休眠集群。 获取集群证书 获取指定集群的证书信息。 获取任务信息 查询作业进度,通过某一作业请求下发后返回的jobID来查询指定作业的进度。
  • 节点管理 表2 节点管理 API 说明 创建节点 在指定集群下创建节点。 获取指定的节点 通过节点ID获取指定节点的详细信息。 获取集群下所有节点 通过集群ID获取指定集群下所有节点的详细信息。 更新指定的节点 更新指定的节点。 删除节点 删除指定的节点。 纳管节点 在指定集群下纳管节点。 重置节点 在指定集群下重置节点。 移除节点 将节点从指定集群中移除。 迁移节点 将节点从指定集群下迁移到另一集群。
  • 插件管理 表4 插件管理 API 说明 创建AddonInstance 根据提供的插件模板,安装插件实例。 查询AddonTemplates列表 插件模板查询接口,查询插件信息。 更新AddonInstance 更新插件实例的功能。 删除AddonInstance 删除插件实例的功能。 获取AddonInstance详情 获取插件实例详情。 获取AddonInstance列表 获取集群所有已安装插件实例。
  • 状态码 状态码如表1所示 表1 状态码 状态码 编码 状态说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 镜像回收策略说明 当容器引擎空间不足时,会触发镜像垃圾回收。 镜像垃圾回收策略只考虑两个因素:HighThresholdPercent 和 LowThresholdPercent。 磁盘使用率超过上限阈值(HighThresholdPercent,默认值为85%)将触发垃圾回收。 垃圾回收将删除最近最少使用的镜像,直到磁盘使用率满足下限阈值(LowThresholdPercent,默认值为80%)。
  • 共享数据盘说明 共享数据盘即在节点上不再划分容器引擎 (Docker/Containerd) 和Kubelet组件的空间,二者共用磁盘空间。 共享数据盘仅v1.21.10-r0、v1.23.8-r0、v1.25.3-r0及以上的集群支持。 容器存储Rootfs为OverlayFS类型时支持共享数据盘,Device Mapper类型不支持。 若您在集群中安装了npd插件,请将插件升级至1.18.10版本及以上。 若您在集群中安装了log-agent插件,请将插件升级至1.3.0版本及以上。 集群中的ICAgent版本需升级至5.12.140版本及以上。 图5 共享数据盘配置
  • 设置数据盘空间分配 在创建节点时,您需要配置节点数据盘,且数据盘容量不小于100G。您可“单击展开高级配置”,自定义节点数据盘的空间分配。 图1 设置数据盘空间分配 自定义容器引擎空间大小说明: v1.21.10-r0、v1.23.8-r0、v1.25.3-r0之前版本的集群中,CCE 将数据盘空间默认划分为两块:一块用于存放容器引擎 (Docker/Containerd) 工作目录、容器镜像的数据和镜像元数据;另一块用于Kubelet组件和EmptyDir临时存储等。容器引擎空间的剩余容量将会影响镜像下载和容器的启动及运行。 容器引擎和容器镜像空间(默认占90%):用于容器运行时工作目录、存储容器镜像数据以及镜像元数据。 Kubelet组件和EmptyDir临时存储(默认占10%):用于存储Pod配置文件、密钥以及临时存储EmptyDir等挂载数据。 v1.21.10-r0、v1.23.8-r0、v1.25.3-r0及之后版本的集群中,CCE使用的数据盘支持采用共享数据盘的方式,即不再划分容器引擎 (Docker/Containerd) 和Kubelet组件的空间。 自定义Pod容器空间大小:即容器的basesize设置,每个工作负载下的容器组 Pod 占用的磁盘空间设置上限(包含容器镜像占用的空间)。合理的配置可避免容器组无节制使用磁盘空间导致业务异常。建议此值不超过容器引擎空间的 80%。该参数与节点操作系统和容器存储Rootfs相关,部分场景下不支持设置。
  • 操作系统与容器存储Rootfs对应关系 表1 CCE集群节点操作系统与容器引擎对应关系 操作系统 容器存储Rootfs 自定义Pod容器空间(basesize) CentOS 7.x v1.19.16以下版本集群使用Device Mapper v1.19.16及以上版本集群使用OverlayFS Rootfs为Device Mapper且容器引擎为Docker时支持,默认值为10G。 Rootfs为OverlayFS时不支持。 EulerOS 2.3 Device Mapper 仅容器引擎为Docker时支持,默认值为10G。 EulerOS 2.5 Device Mapper 仅容器引擎为Docker时支持,默认值为10G。 EulerOS 2.8 v1.19.16-r2以下版本集群使用Device Mapper v1.19.16-r2及以上版本集群使用OverlayFS Rootfs为Device Mapper且容器引擎为Docker时支持,默认值为10G。 Rootfs为OverlayFS时不支持。 EulerOS 2.9 OverlayFS 仅v1.19.16、v1.21.3、v1.23.3及以上的集群版本支持,默认值为不限制。 v1.19.16、v1.21.3、v1.23.3以前的集群版本不支持。 EulerOS 2.10 OverlayFS 仅容器引擎为Docker时支持,默认值为不限制。 Ubuntu 18.04 OverlayFS 不支持。 Huawei Cloud EulerOS 1.1 OverlayFS 不支持。 Huawei Cloud EulerOS 2.0 OverlayFS 仅容器引擎为Docker时支持,默认值为不限制。 表2 CCE Turbo集群节点操作系统与容器引擎对应关系 操作系统 容器存储Rootfs 自定义Pod容器空间(basesize) CentOS 7.x OverlayFS 不支持。 Ubuntu 18.04 OverlayFS 不支持。 EulerOS 2.9 弹性云服务器-虚拟机使用OverlayFS 弹性云服务器-物理机使用Device Mapper Rootfs为OverlayFS且仅容器引擎为Docker时支持,默认值为不限制。 Rootfs为Device Mapper且容器引擎为Docker时支持,默认值为10G。 Huawei Cloud EulerOS 1.1 OverlayFS 不支持。 Huawei Cloud EulerOS 2.0 OverlayFS 仅容器引擎为Docker时支持,默认值为不限制。
  • 自定义容器引擎空间大小 对于非共享数据盘的节点,数据盘根据容器存储Rootfs不同具有两种划分方式(以100G大小为例):DeviceMapper类型和OverlayFS类型。不同操作系统对应的容器存储Rootfs请参见操作系统与容器存储Rootfs对应关系。 Device Mapper类型存储Rootfs 其中默认占90%的容器引擎和容器镜像空间又可分为以下两个部分: 其中/var/lib/docker用于Docker工作目录,默认占比20%,其空间大小 = 数据盘空间 * 90% * 20% thinpool用于存储容器镜像数据、镜像元数据以及容器使用的磁盘空间,默认占比为80%,其空间大小 = 数据盘空间 * 90% * 80% thinpool是动态挂载,在节点上使用df -h命令无法查看到,使用lsblk命令可以查看到。 图2 Device Mapper类型容器引擎空间分配 OverlayFS类型存储Rootfs 相比Device Mapper存储引擎,没有单独划分thinpool,容器引擎和容器镜像空间(默认占90%)都在/var/lib/docker目录下。 图3 OverlayFS类型容器引擎空间分配
  • 响应参数 状态码: 200 表11 响应Body参数 参数 参数类型 描述 metadata UpgradeCluserResponseMetadata object 升级任务元数据信息 spec UpgradeResponseSpec object 升级配置信息 表12 UpgradeCluserResponseMetadata 参数 参数类型 描述 uid String 升级任务ID,可通过调用获取集群升级任务详情API查询进展 表13 UpgradeResponseSpec 参数 参数类型 描述 clusterUpgradeAction ClusterUpgradeResponseAction object 集群升级配置 表14 ClusterUpgradeResponseAction 参数 参数类型 描述 version String 当前集群版本 targetVersion String 目标集群版本,例如"v1.23" targetPlatformVersion Object 目标集群的平台版本号,表示集群版本(version)下的内部版本,不支持用户指定。 strategy UpgradeStrategy object 升级策略 config Object 升级过程中指定的集群配置 表15 UpgradeStrategy 参数 参数类型 描述 type String 升级策略类型,当前仅支持原地升级类型"inPlaceRollingUpdate" inPlaceRollingUpdate InPlaceRollingUpdate object 原地升级配置,指定原地升级策略类型时必选。 表16 InPlaceRollingUpdate 参数 参数类型 描述 userDefinedStep Integer 节点升级步长,取值范围为[1, 40],建议取值20
  • 请求示例 升级集群至v1.23版本,并设置节点升级步长为20。 POST /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/upgrade{ "metadata" : { "apiVersion" : "v3", "kind" : "UpgradeTask" }, "spec" : { "clusterUpgradeAction" : { "strategy" : { "type" : "inPlaceRollingUpdate", "inPlaceRollingUpdate" : { "userDefinedStep" : 20 } }, "targetVersion" : "v1.23" } }}
  • 响应示例 状态码: 200 表示集群升级任务下发成功。 { "metadata" : { "uid" : "976a33e2-f545-11ed-87af-0255ac1002c2" }, "spec" : { "clusterUpgradeAction" : { "version" : "v1.19.16-r20", "targetVersion" : "v1.23.8-r0", "targetPlatformVersion" : "cce.10", "strategy" : { "type" : "inPlaceRollingUpdate", "inPlaceRollingUpdate" : { "userDefinedStep" : 20 } }, "config" : { } } }}
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } }} 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 123 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projectsContent-Type: application/jsonX-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小在12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 请求示例 重置默认节点池中节点,操作系统为EulerOS 2.5。 POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/reset{ "kind" : "List", "apiVersion" : "v3", "nodeList" : [ { "nodeID" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy", "spec" : { "name" : "my-ecs-0001", "os" : "EulerOS 2.5", "login" : { "sshKey" : "KeyPair-001" } } } ]} 重置节点池中节点(spec参数无效) POST /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/reset{ "kind" : "List", "apiVersion" : "v3", "nodeList" : [ { "nodeID" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "spec" : { "name" : "my-ecs-0001", "os" : "EulerOS 2.5", "login" : { "sshKey" : "KeyPair-001" } } } ]}
  • 响应示例 状态码: 200 表示绑定集群公网apiserver地址成功,解绑成功无响应体。 { "metadata" : { }, "spec" : { "action" : "bind", "spec" : { "id" : "a757a69e-f920-455a-b1ba-d7a22db0fd50", "eip" : { "bandwidth" : { "size" : 5, "sharetype" : "PER" } }, "IsDynamic" : false }, "elasticIp" : "8.8.8.8" }, "status" : { "privateEndpoint" : "https://192.168.3.238:5443", "publicEndpoint" : "https://8.8.8.8:5443" }}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式) X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 表3 请求Body参数 参数 是否必选 参数类型 描述 spec 是 MasterEIPRequestSpec object 绑定、解绑集群公网apiserver地址的请求配置参数 表4 MasterEIPRequestSpec 参数 是否必选 参数类型 描述 action 否 String 绑定或解绑动作,必选参数。 绑定:固定值为{"action":"bind"} 解绑:固定值为{"action":"unbind"} spec 否 spec object 待绑定的弹性IP配置属性 bandwidth 否 String 带宽(字段已失效,暂不推荐使用) elasticIp 否 String 弹性网卡IP(字段已失效,暂不推荐使用) 表5 spec 参数 是否必选 参数类型 描述 id 否 String 弹性网卡ID,绑定时必选,解绑时该字段无效
  • 请求示例 迁移一个节点到另一个集群中,且节点操作系统为EulerOS 2.5。 PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/migrateto/{target_cluster_id}{ "spec" : { "os" : "EulerOS 2.5", "login" : { "sshKey" : "KeyPair-001" }, "nodes" : [ { "uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }, { "uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" } ] }} 迁移一个节点到另一个集群中,且节点操作系统为EulerOS 2.5,并指定用户镜像ID。 PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/migrateto/{target_cluster_id}{ "spec" : { "os" : "EulerOS 2.5", "extendParam" : { "alpha.cce/NodeImageID" : "cc697ad7-9563-11e8-8ea7-0255ac106311" }, "login" : { "sshKey" : "KeyPair-001" }, "nodes" : [ { "uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }, { "uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" } ] }}
  • 响应示例 状态码: 200 表示在指定集群下迁移节点至另一集群的作业下发成功。 { "spec" : { "os" : "EulerOS 2.5", "login" : { "sshKey" : "KeyPair-001" }, "runtime" : { "name" : "docker" }, "nodes" : [ { "uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }, { "uid" : "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" } ] }, "status" : { "jobID" : "2ec9b78d-9368-46f3-8f29-d1a95622a568" }}
  • 响应参数 状态码: 200 表11 响应Body参数 参数 参数类型 描述 apiVersion String API版本,固定值“v3”。 kind String API类型,固定值“MigrateNodesTask”。 spec MigrateNodesSpec object 配置信息 status TaskStatus object 任务状态 表12 MigrateNodesSpec 参数 参数类型 描述 os String 操作系统类型,须精确到版本号。 当指定“alpha.cce/NodeImageID”参数时,“os”参数必须和用户自定义镜像的操作系统一致。 extendParam MigrateNodeExtendParam object 迁移节点时的扩展参数 login Login object 节点的登录方式。密钥对和密码登录方式二者必选其一。 runtime Runtime object 容器运行时 nodes Array of NodeItem objects 待操作节点列表 表13 MigrateNodeExtendParam 参数 参数类型 描述 maxPods Integer 节点最大允许创建的实例数(Pod),该数量包含系统默认实例,取值范围为16~256。 该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。 DockerLVMConfigOverride String Docker数据盘配置项(已废弃,请使用storage字段)。 待迁移节点的磁盘类型须和创建时一致(即“DockerLVMConfigOverride”参数中“diskType”字段的值须和创建时一致),请确保单次接口调用时批量选择的节点磁盘类型一致。 默认配置示例如下: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" 包含如下字段: userLV(可选):用户空间的大小,示例格式:vgpaas/20%VG userPath(可选):用户空间挂载路径,示例格式:/home/wqt-test diskType:磁盘类型,目前只有evs、hdd和ssd三种格式 lvType:逻辑卷的类型,目前支持linear和striped两种,示例格式:striped dockerThinpool:Docker盘的空间大小,示例格式:vgpaas/60%VG kubernetesLV:Kubelet空间大小,示例格式:vgpaas/20%VG alpha.cce/preInstall String 安装前执行脚本 说明: 输入的值需要经过Base64编码,方法为echo -n "待编码内容" | base64。 alpha.cce/postInstall String 安装后执行脚本 说明: 输入的值需要经过Base64编码,方法为echo -n "待编码内容" | base64。 alpha.cce/NodeImageID String 指定待切换目标操作系统所使用的用户镜像ID。 当指定“alpha.cce/NodeImageID”参数时,“os”参数必须和用户自定义镜像的操作系统一致。 表14 Login 参数 参数类型 描述 sshKey String 选择密钥对方式登录时的密钥对名称。 userPassword UserPassword object 选择密码方式登录时的帐号密码信息,之后可通过此帐号密码登录节点。 表15 UserPassword 参数 参数类型 描述 username String 登录帐号,默认为“root” password String 登录密码,若创建节点通过用户名密码方式,即使用该字段,则响应体中该字段作屏蔽展示。 密码复杂度要求: 长度为8-26位。 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?~#*)中的三种。 密码不能包含用户名或用户名的逆序。 创建节点时password字段需要加盐加密,具体方法请参见创建节点时password字段加盐加密。 表16 Runtime 参数 参数类型 描述 name String 容器运行时,默认场景: v1.25以下集群:默认为"docker" v1.25及以上集群,随操作系统变化,默认的容器运行时不同:操作系统为EulerOS 2.5、EulerOS 2.8的节点默认为"docker",其余操作系统的节点默认为"containerd" 表17 NodeItem 参数 参数类型 描述 uid String 节点ID 表18 TaskStatus 参数 参数类型 描述 jobID String 任务ID,供调用者查询任务进度。
  • URI PUT /api/v3/projects/{project_id}/clusters/{cluster_id}/nodes/operation/migrateto/{target_cluster_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见如何获取接口URI中参数。 cluster_id 是 String 集群ID,获取方式请参见如何获取接口URI中参数。 target_cluster_id 是 String 集群ID,获取方式请参见如何获取接口URI中参数。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式) X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 表3 请求Body参数 参数 是否必选 参数类型 描述 apiVersion 否 String API版本,固定值“v3”。 kind 否 String API类型,固定值“MigrateNodesTask”。 spec 是 MigrateNodesSpec object 配置信息 status 否 TaskStatus object 任务状态 表4 MigrateNodesSpec 参数 是否必选 参数类型 描述 os 是 String 操作系统类型,须精确到版本号。 当指定“alpha.cce/NodeImageID”参数时,“os”参数必须和用户自定义镜像的操作系统一致。 extendParam 否 MigrateNodeExtendParam object 迁移节点时的扩展参数 login 是 Login object 节点的登录方式。密钥对和密码登录方式二者必选其一。 runtime 否 Runtime object 容器运行时 nodes 是 Array of NodeItem objects 待操作节点列表 表5 MigrateNodeExtendParam 参数 是否必选 参数类型 描述 maxPods 否 Integer 节点最大允许创建的实例数(Pod),该数量包含系统默认实例,取值范围为16~256。 该设置的目的为防止节点因管理过多实例而负载过重,请根据您的业务需要进行设置。 DockerLVMConfigOverride 否 String Docker数据盘配置项(已废弃,请使用storage字段)。 待迁移节点的磁盘类型须和创建时一致(即“DockerLVMConfigOverride”参数中“diskType”字段的值须和创建时一致),请确保单次接口调用时批量选择的节点磁盘类型一致。 默认配置示例如下: "DockerLVMConfigOverride":"dockerThinpool=vgpaas/90%VG;kubernetesLV=vgpaas/10%VG;diskType=evs;lvType=linear" 包含如下字段: userLV(可选):用户空间的大小,示例格式:vgpaas/20%VG userPath(可选):用户空间挂载路径,示例格式:/home/wqt-test diskType:磁盘类型,目前只有evs、hdd和ssd三种格式 lvType:逻辑卷的类型,目前支持linear和striped两种,示例格式:striped dockerThinpool:Docker盘的空间大小,示例格式:vgpaas/60%VG kubernetesLV:Kubelet空间大小,示例格式:vgpaas/20%VG alpha.cce/preInstall 否 String 安装前执行脚本 说明: 输入的值需要经过Base64编码,方法为echo -n "待编码内容" | base64。 alpha.cce/postInstall 否 String 安装后执行脚本 说明: 输入的值需要经过Base64编码,方法为echo -n "待编码内容" | base64。 alpha.cce/NodeImageID 否 String 指定待切换目标操作系统所使用的用户镜像ID。 当指定“alpha.cce/NodeImageID”参数时,“os”参数必须和用户自定义镜像的操作系统一致。 表6 Login 参数 是否必选 参数类型 描述 sshKey 否 String 选择密钥对方式登录时的密钥对名称。 userPassword 否 UserPassword object 选择密码方式登录时的帐号密码信息,之后可通过此帐号密码登录节点。 表7 UserPassword 参数 是否必选 参数类型 描述 username 否 String 登录帐号,默认为“root” password 是 String 登录密码,若创建节点通过用户名密码方式,即使用该字段,则响应体中该字段作屏蔽展示。 密码复杂度要求: 长度为8-26位。 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?~#*)中的三种。 密码不能包含用户名或用户名的逆序。 创建节点时password字段需要加盐加密,具体方法请参见创建节点时password字段加盐加密。 表8 Runtime 参数 是否必选 参数类型 描述 name 否 String 容器运行时,默认场景: v1.25以下集群:默认为"docker" v1.25及以上集群,随操作系统变化,默认的容器运行时不同:操作系统为EulerOS 2.5、EulerOS 2.8的节点默认为"docker",其余操作系统的节点默认为"containerd" 表9 NodeItem 参数 是否必选 参数类型 描述 uid 是 String 节点ID 表10 TaskStatus 参数 是否必选 参数类型 描述 jobID 否 String 任务ID,供调用者查询任务进度。
  • Python 以下是Python 3.7.7环境下对密码进行加盐的示例步骤: MacOS下python crypt包有兼容性问题,如碰到无法执行的情况,请在Linux下执行。 根据盐值生成密文密码(在盐字符串的$符号前加上\符号): python3 -c "import crypt;print(crypt.crypt('******', crypt.mksalt()))" 使用base64 encode(即为password字段值): echo -n '******' | base64 | tr "\n" " " | sed s/[[:space:]]//g
  • URI GET /api/v3/projects/{project_id}/clusters/{cluster_id}/operation/upgrade/tasks/{task_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见如何获取接口URI中参数。 cluster_id 是 String 集群ID,获取方式请参见如何获取接口URI中参数。 task_id 是 String 升级任务ID,调用集群升级API后从响应体中uid字段获取。
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 apiVersion String api版本,默认为v3 kind String 资源类型,默认为UpgradeTask metadata UpgradeTaskMetadata object 升级任务元数据信息 spec UpgradeTaskSpec object 升级任务信息 status UpgradeTaskStatus object 升级任务状态 表3 UpgradeTaskMetadata 参数 参数类型 描述 uid String 升级任务ID creationTimestamp String 任务创建时间 updateTimestamp String 任务更新时间 表4 UpgradeTaskSpec 参数 参数类型 描述 version String 升级前集群版本 targetVersion String 升级的目标集群版本 items Object 升级任务附属信息 表5 UpgradeTaskStatus 参数 参数类型 描述 phase String 升级任务状态. 说明: Init:初始化 Queuing:等待 Running:运行中 Pause:暂停 Success:成功 Failed:失败 progress String 升级任务进度 completionTime String 升级任务结束时间
  • 响应示例 状态码: 200 表示获取集群升级任务详情成功。 { "kind" : "UpgradeTask", "apiVersion" : "v3", "metadata" : { "uid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "creationTimestamp" : "2022-12-16 13:40:20.75671 +0800 CST", "updateTimestamp" : "2022-12-16 13:40:20.756712 +0800 CST" }, "spec" : { "version" : "v1.19.16-r4", "targetVersion" : "v1.23.5-r0" }, "status" : { "phase" : "Init", "progress" : "0.00", "completionTime" : "2022-12-16 13:40:20.756712 +0800 CST" }}
  • 响应示例 状态码: 200 表示查询API版本信息列表成功。 { "versions" : [ { "id" : "v3", "links" : [ { "href" : "https://cce.region.***.com/v3", "rel" : "self" } ], "min_version" : "", "status" : "CURRENT", "updated" : "2018-09-15 00:00:00Z", "version" : "" } ]}
  • 响应参数 状态码: 200 表1 响应Body参数 参数 参数类型 描述 versions Array of APIVersionDetail objects API版本信息列表 表2 APIVersionDetail 参数 参数类型 描述 id String API版本ID。例如v3。 links Array of APIVersionLink objects API版本的URL链接信息。 min_version String 如果API的这个版本支持微版本,则支持最小的微版本。如果不支持微版本,这将是空字符串。 status String API版本的状态。 可以是: CURRENT这是使用的API的首选版本; SUPPORTED:这是一个较老的,但仍然支持的API版本; DEPRECATED:一个被废弃的API版本,该版本将被删除 updated String API发布时间(UTC格式)。例如API版本为v3时,值为'2018-09-15 00:00:00Z'。 version String 如果API的这个版本支持微版本,则支持最大的微版本。如果不支持微版本,这将是空字符串。 表3 APIVersionLink 参数 参数类型 描述 href String API版本信息的链接。 rel String 链接属性。self:自助链接包含版本链接的资源。立即链接后使用这些链接。
  • 响应示例 状态码: 200 表示获取集群访问的地址成功。 { "metadata" : { }, "spec" : { "spec" : { "eip" : { "bandwidth" : { } }, "IsDynamic" : false } }, "status" : { "privateEndpoint" : "https://192.168.3.238:5443", "publicEndpoint" : "" }}
共100000条