jdcloud_sdk.services.nativecontainer.apis package

Submodules

jdcloud_sdk.services.nativecontainer.apis.AssociateElasticIpRequest module

class jdcloud_sdk.services.nativecontainer.apis.AssociateElasticIpRequest.AssociateElasticIpParameters(regionId, containerId, elasticIpId)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerId – Container ID
  • elasticIpId – 弹性IP ID
class jdcloud_sdk.services.nativecontainer.apis.AssociateElasticIpRequest.AssociateElasticIpRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

容器绑定弹性公网 IP,绑定的是主网卡、主内网IP对应的弹性IP. <br>

一台云主机只能绑定一个弹性公网 IP(主网卡),若主网卡已存在弹性公网IP,会返回错误。<br> 如果是黑名单中的用户,会返回错误。

jdcloud_sdk.services.nativecontainer.apis.CreateContainersRequest module

class jdcloud_sdk.services.nativecontainer.apis.CreateContainersRequest.CreateContainersParameters(regionId, containerSpec, maxCount)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerSpec – 创建容器规格
  • maxCount – 购买实例数量;取值范围:[1,100]
setClientToken(clientToken)[source]
Parameters:clientToken – (Optional) 保证请求幂等性
class jdcloud_sdk.services.nativecontainer.apis.CreateContainersRequest.CreateContainersRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

创建一台或多台指定配置容器
  • 创建容器需要通过实名认证

  • 可用区 - 容器所属的可用区 - 创建容器,需要使用中心可用区的相关资源:

    • 具有中心可用区属性的子网
    • 公网IP服务商
  • 镜像 - 容器的镜像通过镜像名称来确定 - nginx:tag, mysql/mysql-server:tag这样命名的镜像表示docker hub官方镜像 - container-registry/image:tag这样命名的镜像表示私有仓储的镜像 - 私有仓储必须兼容docker registry认证机制,并通过secret来保存机密信息

  • hostname规范 - 支持两种方式:以标签方式书写或以完整主机名方式书写 - 标签规范

    • 0-9,a-z(不分大小写)和-(减号),其他的都是无效的字符串
    • 不能以减号开始,也不能以减号结尾
    • 最小1个字符,最大63个字符
    • 完整的主机名由一系列标签与点连接组成 - 标签与标签之间使用“.”(点)进行连接 - 不能以“.”(点)开始,也不能以“.”(点)结尾 - 整个主机名(包括标签以及分隔点“.”)最多有63个ASCII字符
  • 网络配置 - 指定主网卡配置信息

    • 必须指定vpcId、subnetId、securityGroupIds
    • 可以指定elasticIp规格来约束创建的弹性IP,带宽取值范围[1-200]Mbps,步进1Mbps
    • 可以指定网卡的主IP(primaryIpAddress)和辅助IP(secondaryIpAddresses),此时maxCount只能为1
    • 可以指定希望的辅助IP个数(secondaryIpAddressCount)让系统自动创建内网IP
    • 可以设置网卡的自动删除autoDelete属性,指明是否删除实例时自动删除网卡
    • 安全组securityGroup需与子网Subnet在同一个私有网络VPC内
    • 每个容器至多指定5个安全组
    • 主网卡deviceIndex设置为0
  • 存储 - volume分为root volume和data volume,root volume的挂载目录是/,data volume的挂载目录可以随意指定 - volume的底层存储介质当前只支持cloud类别,也就是云硬盘 - 云盘类型为 ssd.io1 时,用户可以指定 iops,其他类型云盘无效,对已经存在的云盘无效,具体规则如下

    • 步长 10
    • 范围 [200,min(32000,size*50)]
    • 默认值 size*30
    • root volume

    • root volume支持cloud和local - 云硬盘类型可以选择hdd.std1、ssd.gp1、ssd.io1 - 磁盘大小

      • 所有类型:范围[10,100]GB,步长为10G
      • 自动删除 - 默认自动删除
      • 可以选择已存在的云硬盘
    • data volume - data volume当前只能选择cloud类别 - 云硬盘类型可以选择hdd.std1、ssd.gp1、ssd.io1 - 磁盘大小

      • 所有类型:范围[20,2000]GB,步长为10G
      • 自动删除 - 默认自动删除
      • 可以选择已存在的云硬盘
      • 可以从快照创建磁盘
      • 单个容器可以挂载7个data volume
  • 容器日志 - default:默认在本地分配10MB的存储空间,自动rotate

  • 其他 - 创建完成后,容器状态为running - maxCount为最大努力,不保证一定能达到maxCount

jdcloud_sdk.services.nativecontainer.apis.CreateSecretRequest module

class jdcloud_sdk.services.nativecontainer.apis.CreateSecretRequest.CreateSecretParameters(regionId, name, secretType, data)[source]

Bases: object

param regionId:Region ID
param name:镜像仓库认证信息名称,不能重复
param secretType:
 镜像仓库认证信息类型,目前仅支持:docker-registry 类型,用来和docker registry认证的类型。
param data:镜像仓库认证信息数据。<br>

必须包含server、username、password 字段,email 字段是可选的。<br>

class jdcloud_sdk.services.nativecontainer.apis.CreateSecretRequest.CreateSecretRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

创建一个 secret,用于存放镜像仓库认证信息。

jdcloud_sdk.services.nativecontainer.apis.DeleteContainerRequest module

class jdcloud_sdk.services.nativecontainer.apis.DeleteContainerRequest.DeleteContainerParameters(regionId, containerId)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerId – Container ID
class jdcloud_sdk.services.nativecontainer.apis.DeleteContainerRequest.DeleteContainerRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

容器状态必须为 stopped、running 或 error状态。 <br>

按量付费的实例,如不主动删除将一直运行,不再使用的实例,可通过本接口主动停用。<br> 只能支持主动删除按配置计费类型的实例。包年包月过期的容器也可以删除,其它的情况还请发工单系统。计费状态异常的容器无法删除。

jdcloud_sdk.services.nativecontainer.apis.DeleteSecretRequest module

class jdcloud_sdk.services.nativecontainer.apis.DeleteSecretRequest.DeleteSecretParameters(regionId, name)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • name – Secret Name
class jdcloud_sdk.services.nativecontainer.apis.DeleteSecretRequest.DeleteSecretRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

删除单个 secret

jdcloud_sdk.services.nativecontainer.apis.DescribeContainerRequest module

class jdcloud_sdk.services.nativecontainer.apis.DescribeContainerRequest.DescribeContainerParameters(regionId, containerId)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerId – Container ID
class jdcloud_sdk.services.nativecontainer.apis.DescribeContainerRequest.DescribeContainerRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

查询一台原生容器的详细信息

jdcloud_sdk.services.nativecontainer.apis.DescribeContainersRequest module

class jdcloud_sdk.services.nativecontainer.apis.DescribeContainersRequest.DescribeContainersParameters(regionId)[source]

Bases: object

Parameters:regionId – Region ID
setFilters(filters)[source]
param filters:(Optional) containerId - 实例ID,精确匹配,支持多个

privateIpAddress - 主网卡IP地址,模糊匹配,支持单个 az - 可用区,精确匹配,支持多个 vpcId - 私有网络ID,精确匹配,支持多个 status - 容器状态,精确匹配,支持多个 name - 容器名称,模糊匹配,支持单个 subnetId - 子网ID,精确匹配,支持多个 agId - 镜像ID,精确匹配,支持多个

setPageNumber(pageNumber)[source]
Parameters:pageNumber – (Optional) 页码;默认为1
setPageSize(pageSize)[source]
Parameters:pageSize – (Optional) 分页大小;默认为20;取值范围[10, 100]
setTags(tags)[source]
Parameters:tags – (Optional) Tag筛选条件
class jdcloud_sdk.services.nativecontainer.apis.DescribeContainersRequest.DescribeContainersRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

批量查询原生容器的详细信息<br>

此接口支持分页查询,默认每页20条。

jdcloud_sdk.services.nativecontainer.apis.DescribeQuotaRequest module

class jdcloud_sdk.services.nativecontainer.apis.DescribeQuotaRequest.DescribeQuotaParameters(regionId, resourceType)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • resourceType – resourceType - 资源类型,支持 [container, pod, secret]
class jdcloud_sdk.services.nativecontainer.apis.DescribeQuotaRequest.DescribeQuotaRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

查询资源的配额,支持:原生容器 pod 和 secret.

jdcloud_sdk.services.nativecontainer.apis.DescribeSecretRequest module

class jdcloud_sdk.services.nativecontainer.apis.DescribeSecretRequest.DescribeSecretParameters(regionId, name)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • name – Secret Name
class jdcloud_sdk.services.nativecontainer.apis.DescribeSecretRequest.DescribeSecretRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

查询单个 secret 详情

jdcloud_sdk.services.nativecontainer.apis.DescribeSecretsRequest module

class jdcloud_sdk.services.nativecontainer.apis.DescribeSecretsRequest.DescribeSecretsParameters(regionId)[source]

Bases: object

Parameters:regionId – Region ID
setFilters(filters)[source]
Parameters:filters – (Optional) name - secret名称,支持模糊搜索
setPageNumber(pageNumber)[source]
Parameters:pageNumber – (Optional) 页码;默认为1
setPageSize(pageSize)[source]
Parameters:pageSize – (Optional) 分页大小;默认为20;取值范围[10, 100]
class jdcloud_sdk.services.nativecontainer.apis.DescribeSecretsRequest.DescribeSecretsRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

查询 secret 列表。<br>

此接口支持分页查询,默认每页20条。

jdcloud_sdk.services.nativecontainer.apis.DisassociateElasticIpRequest module

class jdcloud_sdk.services.nativecontainer.apis.DisassociateElasticIpRequest.DisassociateElasticIpParameters(regionId, containerId, elasticIpId)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerId – Container ID
  • elasticIpId – 弹性IP ID
class jdcloud_sdk.services.nativecontainer.apis.DisassociateElasticIpRequest.DisassociateElasticIpRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

容器解绑公网 IP,解绑的是主网卡、主内网 IP 对应的弹性 IP.

jdcloud_sdk.services.nativecontainer.apis.GetLogsRequest module

class jdcloud_sdk.services.nativecontainer.apis.GetLogsRequest.GetLogsParameters(regionId, containerId)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerId – Container ID
setLimitBytes(limitBytes)[source]
Parameters:limitBytes – (Optional) 限制返回的日志文件内容字节数,取值范围 [1-4]KB,最大 4KB.
setSinceSeconds(sinceSeconds)[source]
Parameters:sinceSeconds – (Optional) 返回相对于当前时间之前sinceSeconds之内的日志。
setTailLines(tailLines)[source]
Parameters:tailLines – (Optional) 返回日志文件中倒数 tailLines 行,如不指定,默认从容器启动时或 sinceSeconds 指定的时间读取。
class jdcloud_sdk.services.nativecontainer.apis.GetLogsRequest.GetLogsRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

查询单个容器日志

jdcloud_sdk.services.nativecontainer.apis.ModifyContainerAttributeRequest module

class jdcloud_sdk.services.nativecontainer.apis.ModifyContainerAttributeRequest.ModifyContainerAttributeParameters(regionId, containerId)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerId – Container ID
setDescription(description)[source]
Parameters:description – (Optional) 容器描述
setName(name)[source]
Parameters:name – (Optional) 容器名称
class jdcloud_sdk.services.nativecontainer.apis.ModifyContainerAttributeRequest.ModifyContainerAttributeRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

修改容器的 名称 和 描述。<br>

name 和 description 必须要指定一个

jdcloud_sdk.services.nativecontainer.apis.RebuildContainerRequest module

class jdcloud_sdk.services.nativecontainer.apis.RebuildContainerRequest.RebuildContainerParameters(regionId, containerId, image)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerId – Container ID
  • image – 镜像名称 </br> 1. Docker Hub官方镜像通过类似nginx, mysql/mysql-server的名字指定 </br> </br> repository长度最大256个字符,tag最大128个字符,registry最大255个字符 </br> 下载镜像超时时间:10分钟
setArgs(args)[source]
Parameters:args – (Optional) 容器启动执行命令的参数, 如果不指定默认是镜像的CMD. 数组字符总长度范围:[0-2048]
setCommand(command)[source]
Parameters:command – (Optional) 容器启动执行的命令, 如果不指定默认是镜像的ENTRYPOINT. 数组字符总长度范围:[0-256]
setEnvs(envs)[source]
Parameters:envs – (Optional) 容器执行的环境变量;如果和镜像中的环境变量Key相同,会覆盖镜像中的值;</br> 最大100对
setSecret(secret)[source]
Parameters:secret – (Optional) 镜像仓库认证信息;使用Docker Hub和京东云CR的镜像不需要secret
setTty(tty)[source]
Parameters:tty – (Optional) 容器是否分配tty。默认不分配
setWorkingDir(workingDir)[source]
Parameters:workingDir – (Optional) 容器的工作目录。如果不指定,默认是根目录(/),必须是绝对路径。字符长度范围:[0-1024]
class jdcloud_sdk.services.nativecontainer.apis.RebuildContainerRequest.RebuildContainerRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

重置原生容器,对已有原生容器使用新的镜像重置。

原容器 id 不变,不涉及计费变动,暂不支持修改实例类型,不会改变原生容器所在的物理节点,也不支持修改已经使用的系统盘和数据盘以及网络相关参数。 - 镜像

  • 容器的镜像通过镜像名称来确定
  • nginx:tag 或 mysql/mysql-server:tag 这样命名的镜像表示 docker hub 官方镜像
  • container-registry/image:tag 这样命名的镜像表示私有仓储的镜像
  • 私有仓储必须兼容 docker registry 认证机制,并通过 secret 来保存机密信息
  • 其他
    • rebuild 之前容器必须处于关闭状态
    • rebuild 完成后,容器仍为关闭状态

jdcloud_sdk.services.nativecontainer.apis.StartContainerRequest module

class jdcloud_sdk.services.nativecontainer.apis.StartContainerRequest.StartContainerParameters(regionId, containerId)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerId – Container ID
class jdcloud_sdk.services.nativecontainer.apis.StartContainerRequest.StartContainerRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

启动处于关闭状态的单个容器,处在任务执行中的容器无法启动。<br>

容器实例或其绑定的云盘已欠费时,容器将无法正常启动。<br>

jdcloud_sdk.services.nativecontainer.apis.StopContainerRequest module

class jdcloud_sdk.services.nativecontainer.apis.StopContainerRequest.StopContainerParameters(regionId, containerId)[source]

Bases: object

Parameters:
  • regionId – Region ID
  • containerId – Container ID
class jdcloud_sdk.services.nativecontainer.apis.StopContainerRequest.StopContainerRequest(parameters, header=None, version='v1')[source]

Bases: jdcloud_sdk.core.jdcloudrequest.JDCloudRequest

停止处于运行状态的单个实例,处于任务执行中的容器无法启动。

Module contents