Documentation
¶
Index ¶
- type CloudDisk
- type CloudDiskSpec
- type Container
- type ContainerSpec
- type ContainerState
- type ContainerStateRunning
- type ContainerStateTerminated
- type ContainerStateWaiting
- type ContainerStatus
- type DnsConfig
- type ElasticIp
- type EnvSpec
- type Exec
- type Hg
- type Hh
- type HostAlias
- type JDCloudVolumeSource
- type LogConfig
- type Logs
- type NetworkInterfaceAttachment
- type NetworkInterfaceAttachmentSpec
- type Pod
- type PodCondition
- type PodDnsConfigOption
- type PodSpec
- type PodStatus
- type Probe
- type ProbeSpec
- type Quota
- type RequestSpec
- type ResourceRequestsSpec
- type Secret
- type TcpSocket
- type TcpSocketSpec
- type Volume
- type VolumeMount
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CloudDisk ¶
type CloudDisk struct {
/* 云盘id,使用已有云盘 (Optional) */
VolumeId string `json:"volumeId"`
/* 云盘类型:ssd,premium-hdd,hdd.std1,ssd.gp1,ssd.io1 (Optional) */
DiskType string `json:"diskType"`
/* 指定volume文件系统类型,目前支持[xfs, ext4];如果新创建的盘,不指定文件系统类型默认格式化成xfs (Optional) */
FsType string `json:"fsType"`
/* 是否随pod删除。默认:true (Optional) */
AutoDelete bool `json:"autoDelete"`
}
type CloudDiskSpec ¶
type CloudDiskSpec struct {
/* 云盘id,使用已有云盘 (Optional) */
VolumeId *string `json:"volumeId"`
/* 云盘名称 (Optional) */
Name *string `json:"name"`
/* 云盘快照id,根据云盘快照创建云盘。 (Optional) */
Snapshot *string `json:"snapshot"`
/* 云盘类型:ssd,premium-hdd,hdd.std1,ssd.gp1,ssd.io1 (Optional) */
DiskType *string `json:"diskType"`
/* 云盘size,单位 GB,要求 (Optional) */
SizeGB *int `json:"sizeGB"`
/* 指定volume文件系统类型,目前支持[xfs, ext4];如果新创建的盘,不指定文件系统类型默认格式化成xfs (Optional) */
FsType *string `json:"fsType"`
/* 是否随pod删除。默认:true (Optional) */
AutoDelete *bool `json:"autoDelete"`
}
type Container ¶
type Container struct {
/* 容器名称 (Optional) */
Name string `json:"name"`
/* 容器执行命令,如果不指定默认是docker镜像的ENTRYPOINT。总长度256个字符。 (Optional) */
Command []string `json:"command"`
/* 容器执行命令的参数,如果不指定默认是docker镜像的CMD。总长度2048个字符。 (Optional) */
Args []string `json:"args"`
/* 容器执行的环境变量;如果和镜像中的环境变量Key相同,会覆盖镜像中的值。长度范围:[0-100] (Optional) */
Env []EnvSpec `json:"env"`
/* 镜像名称 </br> 容器镜像名字。 nginx:latest。长度范围:[1-500] 1. Docker Hub官方镜像通过类似nginx, mysql/mysql-server的名字指定 </br> 2. repository长度最大256个字符,tag最大128个字符,registry最大255个字符 </br> (Optional) */
Image string `json:"image"`
/* 镜像仓库secret名字。如果目前不传,默认选择dockerHub镜像 (Optional) */
Secret string `json:"secret"`
/* 容器是否分配tty。默认不分配 (Optional) */
Tty bool `json:"tty"`
/* 容器的工作目录。如果不指定,默认是根目录(/);必须是绝对路径;长度范围:[0-1024] (Optional) */
WorkingDir string `json:"workingDir"`
/* 容器存活探针配置 (Optional) */
LivenessProbe ProbeSpec `json:"livenessProbe"`
/* 容器服务就绪探针配置 (Optional) */
ReadinessProbe ProbeSpec `json:"readinessProbe"`
/* 容器计算资源配置 (Optional) */
Resources ResourceRequestsSpec `json:"resources"`
/* 容器计算资源配置 (Optional) */
SystemDisk CloudDiskSpec `json:"systemDisk"`
/* 容器计算资源配置 (Optional) */
VolumeMounts []VolumeMount `json:"volumeMounts"`
/* 容器状态信息 (Optional) */
ContainerStatus ContainerStatus `json:"containerStatus"`
}
type ContainerSpec ¶
type ContainerSpec struct {
/* 容器名称 */
Name string `json:"name"`
/* 容器执行命令,如果不指定默认是docker镜像的ENTRYPOINT。总长度256个字符。 (Optional) */
Command []string `json:"command"`
/* 容器执行命令的参数,如果不指定默认是docker镜像的CMD。总长度2048个字符。 (Optional) */
Args []string `json:"args"`
/* 容器执行的环境变量;如果和镜像中的环境变量Key相同,会覆盖镜像中的值。长度范围:[0-100] (Optional) */
Env []EnvSpec `json:"env"`
/* 镜像名称 </br>
容器镜像名字。 nginx:latest。长度范围:[1-500]
1. Docker Hub官方镜像通过类似nginx, mysql/mysql-server的名字指定 </br>
2. repository长度最大256个字符,tag最大128个字符,registry最大255个字符 </br>
*/
Image string `json:"image"`
/* 镜像仓库secret名字。如果目前不传,默认选择dockerHub镜像 (Optional) */
Secret *string `json:"secret"`
/* 容器是否分配tty。默认不分配 (Optional) */
Tty *bool `json:"tty"`
/* 容器的工作目录。如果不指定,默认是根目录(/);必须是绝对路径;长度范围:[0-1024] (Optional) */
WorkingDir *string `json:"workingDir"`
/* 容器存活探针配置 (Optional) */
LivenessProbe *ProbeSpec `json:"livenessProbe"`
/* 容器服务就绪探针配置 (Optional) */
ReadinessProbe *ProbeSpec `json:"readinessProbe"`
/* 容器计算资源配置 (Optional) */
Resources *ResourceRequestsSpec `json:"resources"`
/* 容器计算资源配置 */
SystemDisk *CloudDiskSpec `json:"systemDisk"`
/* 容器计算资源配置 (Optional) */
VolumeMounts []VolumeMount `json:"volumeMounts"`
}
type ContainerState ¶
type ContainerState struct {
/* 容器running的详细信息 (Optional) */
Running ContainerStateRunning `json:"running"`
/* 容器Terminated的详细信息 (Optional) */
Terminated ContainerStateTerminated `json:"terminated"`
/* 容器waiting的详细信息 (Optional) */
Waiting ContainerStateWaiting `json:"waiting"`
}
type ContainerStateRunning ¶
type ContainerStateRunning struct {
/* 容器最后一次重启或启动的时间。 (Optional) */
StartedAt string `json:"startedAt"`
}
type ContainerStateTerminated ¶
type ContainerStateTerminated struct {
/* 容器被termination的信号。 (Optional) */
Signal int `json:"signal"`
/* 容器被termination的退出码。 (Optional) */
ExitCode int `json:"exitCode"`
/* (简要)容器被termination的原因。 (Optional) */
Reason string `json:"reason"`
/* 容器被termination的详细信息。 (Optional) */
Message string `json:"message"`
/* 容器被termination的时间。 (Optional) */
FinishedAt string `json:"finishedAt"`
/* 容器开始执行的时间。 (Optional) */
StartedAt string `json:"startedAt"`
}
type ContainerStateWaiting ¶
type ContainerStatus ¶
type ContainerStatus struct {
/* 容器名称 (Optional) */
Name string `json:"name"`
/* 容器被重新启动的次数 (Optional) */
RestartCount int `json:"restartCount"`
/* 容器是否通过了就绪探针探测 (Optional) */
Ready bool `json:"ready"`
/* 关于容器当前状态详细信息 (Optional) */
State ContainerState `json:"state"`
/* 关于容器最后一次termination详细信息 (Optional) */
LastState ContainerState `json:"lastState"`
}
type DnsConfig ¶
type DnsConfig struct {
/* DNS服务器IP地址列表,重复的将会被移除。<br>
eg ["8.8.8.8", "4.2.2.2"]。列表长度:[0-20],元素符合IPv4格式。
(Optional) */
Nameservers []string `json:"nameservers"`
/* DNS搜索域列表,用于主机名查找。<br>
eg ["ns1.svc.cluster.local", "my.dns.search.suffix"]。列表长度:[0-6],列表中所有字符总长度不超过256个。
(Optional) */
Searches []string `json:"searches"`
/* DNS解析器选项列表。<br>
eg ["ndots":"2", "edns0":""]。列表长度:[0-10] (Optional) */
Options []PodDnsConfigOption `json:"options"`
}
type Hg ¶
type Hg struct {
/* 默认值: http;可选值 http, https (Optional) */
Scheme *string `json:"scheme"`
/* 连接到pod的host信息,默认使用pod_ip,满足hostname或者ipv4格式 (Optional) */
Host *string `json:"host"`
/* 范围:[1-65535] */
Port int `json:"port"`
/* HTTP的路径。范围:[1-256] */
Path string `json:"path"`
/* 对指定的端口和路径上的容器的 IP 地址执行 HTTP Get 请求。<br>
如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的。 (Optional) */
HttpHeader []Hh `json:"httpHeader"`
}
type JDCloudVolumeSource ¶
type JDCloudVolumeSource struct {
/* 云盘id,使用已有云盘 (Optional) */
VolumeId *string `json:"volumeId"`
/* 云盘名称 (Optional) */
Name *string `json:"name"`
/* 云盘快照id,根据云盘快照创建云盘。 (Optional) */
Snapshot *string `json:"snapshot"`
/* 云盘类型:ssd,premium-hdd,hdd.std1,ssd.gp1,ssd.io1 (Optional) */
DiskType *string `json:"diskType"`
/* 云盘size,单位 GB,要求 (Optional) */
SizeGB *int `json:"sizeGB"`
/* 指定volume文件系统类型,目前支持[xfs, ext4];如果新创建的盘,不指定文件系统类型默认格式化成xfs */
FsType string `json:"fsType"`
/* 随容器自动创建的新盘,会自动格式化成指定的文件系统类型;挂载已有的盘,默认不会格式化,只会按照指定的fsType去挂载;如果希望格式化,必须设置此字段为true (Optional) */
FormatVolume *bool `json:"formatVolume"`
/* 是否随pod删除。默认:true (Optional) */
AutoDelete *bool `json:"autoDelete"`
}
type LogConfig ¶
type LogConfig struct {
/* 日志Driver名称,目前只支持默认为每一个容器在本地分配10MB的存储空间,自动rotate。默认值:default。 (Optional) */
LogDriver *string `json:"logDriver"`
}
type NetworkInterfaceAttachment ¶
type NetworkInterfaceAttachment struct {
/* 指明删除pod时是否删除网卡,默认True;当前只能是True (Optional) */
AutoDelete bool `json:"autoDelete"`
/* 设备Index,目前pod只支持一个网卡,所以只能设置为1 (Optional) */
DeviceIndex int `json:"deviceIndex"`
/* 绑定状态 (Optional) */
AttachStatus string `json:"attachStatus"`
/* 绑定时间 (Optional) */
AttachTime string `json:"attachTime"`
/* 网卡接口规范 (Optional) */
NetworkInterface nc.InstanceNetworkInterface `json:"networkInterface"`
}
type NetworkInterfaceAttachmentSpec ¶
type NetworkInterfaceAttachmentSpec struct {
/* 指明删除pod时是否删除网卡,默认True;当前只能是True (Optional) */
AutoDelete *bool `json:"autoDelete"`
/* 设备Index,目前pod只支持一个网卡,所以只能设置为1 (Optional) */
DeviceIndex *int `json:"deviceIndex"`
/* 网卡接口规范 */
NetworkInterface *vpc.NetworkInterfaceSpec `json:"networkInterface"`
}
type Pod ¶
type Pod struct {
/* pod ID (Optional) */
PodId string `json:"podId"`
/* pod 名称 (Optional) */
Name string `json:"name"`
/* 描述信息,默认为空。 (Optional) */
Description string `json:"description"`
/* 可用区 (Optional) */
Az string `json:"az"`
/* 主机名 (Optional) */
Hostname string `json:"hostname"`
/* pod 所需的计算资源规格 (Optional) */
InstanceType string `json:"instanceType"`
/* pod重启策略 (Optional) */
RestartPolicy string `json:"restartPolicy"`
/* 优雅关闭的时间 (Optional) */
TerminationGracePeriodSeconds int `json:"terminationGracePeriodSeconds"`
/* 主网卡所属vpcId (Optional) */
VpcId string `json:"vpcId"`
/* 主网卡所属子网的ID (Optional) */
SubnetId string `json:"subnetId"`
/* 主网卡主IP地址 (Optional) */
PrivateIpAddress string `json:"privateIpAddress"`
/* pod内容器的/etc/resolv.conf配置 [DnsConfig](DnsConfig.md) pod内容器的/etc/resolv.conf配置 (Optional) */
DnsConfig DnsConfig `json:"dnsConfig"`
/* 容器日志配置信息;默认会在本地分配10MB的存储空间 (Optional) */
LogConfig LogConfig `json:"logConfig"`
/* pod内容器的/etc/hosts配置 (Optional) */
HostAliases []HostAlias `json:"hostAliases"`
/* 属于Pod的volume列表,提供挂载到containers上。 (Optional) */
Volumes []Volume `json:"volumes"`
/* pod内的容器信息 (Optional) */
Containers []Container `json:"containers"`
/* pod状态信息 (Optional) */
PodStatus PodStatus `json:"podStatus"`
/* 主网卡主IP关联的弹性IP规格 (Optional) */
ElasticIp ElasticIp `json:"elasticIp"`
/* 主网卡配置信息 (Optional) */
PrimaryNetworkInterface NetworkInterfaceAttachment `json:"primaryNetworkInterface"`
/* 计费配置;如不指定,默认计费类型是后付费-按使用时常付费 (Optional) */
Charge charge.Charge `json:"charge"`
/* Pod创建时间 (Optional) */
CreateTime string `json:"createTime"`
}
type PodCondition ¶
type PodCondition struct {
/* Last time we probed the condition. (Optional) */
LastProbeTime string `json:"lastProbeTime"`
/* Last time the condition transitioned from one status to another. (Optional) */
LastTransitionTime string `json:"lastTransitionTime"`
/* Unique, one-word, CamelCase reason for the condition's last transition. (Optional) */
Reason string `json:"reason"`
/* Status is the status of the condition. Can be True, False, Unknown. (Optional) */
Status string `json:"status"`
/* Human-readable message indicating details about last transition. (Optional) */
Message string `json:"message"`
/* Type is the type of the condition. Currently only Ready. (Optional) */
ConditionType string `json:"conditionType"`
}
type PodDnsConfigOption ¶
type PodSpec ¶
type PodSpec struct {
/* Pod名称 */
Name string `json:"name"`
/* 描述信息,默认为空;允许输入UTF-8编码下的全部字符,不超过256字符。 (Optional) */
Description *string `json:"description"`
/* 主机名;范围:[1-63]个ASCII字符,默认值为 podId (Optional) */
Hostname *string `json:"hostname"`
/* pod中容器重启策略;Always, OnFailure, Never;默认:Always (Optional) */
RestartPolicy *string `json:"restartPolicy"`
/* 优雅关机宽限时长,如果超时,则触发强制关机。默认:30s,值不能是负数,范围:[0-300] (Optional) */
TerminationGracePeriodSeconds *int `json:"terminationGracePeriodSeconds"`
/* 实例类型;参考[文档](https://www.jdcloud.com/help/detail/1992/isCatalog/1) */
InstanceType string `json:"instanceType"`
/* 容器所属可用区 */
Az string `json:"az"`
/* pod内容器的/etc/resolv.conf配置 (Optional) */
DnsConfig *DnsConfig `json:"dnsConfig"`
/* 容器日志配置信息;默认会在本地分配10MB的存储空间 (Optional) */
LogConfig *LogConfig `json:"logConfig"`
/* 域名和IP映射的信息;</br> 最大10个alias (Optional) */
HostAliases []HostAlias `json:"hostAliases"`
/* 域名和IP映射的信息;</br> 最大10个alias (Optional) */
Volumes []Volume `json:"volumes"`
/* 域名和IP映射的信息;</br> 最大10个alias */
Containers []ContainerSpec `json:"containers"`
/* 预付费(prepaid_by_duration), 按配置后付费(postpaid_by_duration)。默认:按配置后付费 (Optional) */
Charge *charge.ChargeSpec `json:"charge"`
/* 主网卡主IP关联的弹性IP规格 (Optional) */
ElasticIp *ElasticIp `json:"elasticIp"`
/* 主网卡配置信息 */
PrimaryNetworkInterface *NetworkInterfaceAttachmentSpec `json:"primaryNetworkInterface"`
}
type PodStatus ¶
type PodStatus struct {
/* pod当前状态 (Optional) */
Phase string `json:"phase"`
/* (简要)pod处于当前状态的原因 (Optional) */
Reason string `json:"reason"`
/* pod处于当前状态原因的详细信息 (Optional) */
Message string `json:"message"`
/* IP address allocated to the pod. Routable at least within the cluster. Empty if not yet allocated. (Optional) */
PodIP string `json:"podIP"`
/* Current service state of pod. (Optional) */
Conditions []PodCondition `json:"conditions"`
/* Pod生命周期开始的时间。 (Optional) */
StartTime string `json:"startTime"`
}
type Probe ¶
type Probe struct {
/* 容器启动多长时\间后,触发探针。默认10秒;范围:[0-300] (Optional) */
InitialDelaySeconds int `json:"initialDelaySeconds"`
/* 探测的时间间隔。默认值 10秒,范围:[1-300] (Optional) */
PeriodSeconds int `json:"periodSeconds"`
/* 探测的超时时间。默认值 1秒;范围:[1-300] (Optional) */
TimeoutSeconds int `json:"timeoutSeconds"`
/* 在成功状态后,连续探活失败的次数,认为探活失败。默认值 3次;范围 1-10 (Optional) */
FailureThreshold int `json:"failureThreshold"`
/* 在失败状态后,连续探活成功的次数,认为探活成功。默认值 1次;范围 1-10 (Optional) */
SuccessThreshold int `json:"successThreshold"`
/* 在容器内执行指定命令;如果命令退出时返回码为 0 则认为诊断成功。 (Optional) */
Exec Exec `json:"exec"`
/* 对指定的端口和路径上的容器的 IP 地址执行 HTTP Get 请求。如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的。 (Optional) */
HttpGet Hg `json:"httpGet"`
/* 对指定端口上的容器的 IP 地址进行 TCP 检查;如果端口打开,则诊断被认为是成功的。 (Optional) */
TcpSocket TcpSocket `json:"tcpSocket"`
}
type ProbeSpec ¶
type ProbeSpec struct {
/* 容器启动多长时间后,触发探针。默认值:10秒;范围:[0-300] (Optional) */
InitialDelaySeconds *int `json:"initialDelaySeconds"`
/* 探测的时间间隔。默认值 10秒,范围:[1-300] (Optional) */
PeriodSeconds *int `json:"periodSeconds"`
/* 探测的超时时间。默认值 1秒;范围:[1-300] (Optional) */
TimeoutSeconds *int `json:"timeoutSeconds"`
/* 在成功状态后,连续探活失败的次数,认为探活失败。默认值 3次;范围 1-10 (Optional) */
FailureThreshold *int `json:"failureThreshold"`
/* 在失败状态后,连续探活成功的次数,认为探活成功。默认值 1次;范围 1-10 (Optional) */
SuccessThreshold *int `json:"successThreshold"`
/* 在容器内执行指定命令;如果命令退出时返回码为 0 则认为诊断成功。 (Optional) */
Exec *Exec `json:"exec"`
/* 对指定的端口和路径上的容器的 IP 地址执行 HTTP Get 请求。<br>
如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的。
(Optional) */
HttpGet *Hg `json:"httpGet"`
/* 对指定端口上的容器的 IP 地址进行 TCP 检查;如果端口打开,则诊断被认为是成功的。 (Optional) */
TcpSocket *TcpSocketSpec `json:"tcpSocket"`
}
type RequestSpec ¶
type ResourceRequestsSpec ¶
type ResourceRequestsSpec struct {
/* 容器必需的计算资源 (Optional) */
Requests *RequestSpec `json:"requests"`
/* 容器使用计算资源上限 (Optional) */
Limits *RequestSpec `json:"limits"`
}
type Secret ¶
type Secret struct {
/* 机密数据名称 (Optional) */
Name string `json:"name"`
/* 私密数据的类型,目前仅支持如下类型:docker-registry:用来和docker registry认证的类型 (Optional) */
Type string `json:"type"`
/* 创建时间 (Optional) */
CreatedAt string `json:"createdAt"`
/* 机密的数据 (Optional) */
Data nc.DockerRegistryData `json:"data"`
}
type TcpSocketSpec ¶
type TcpSocketSpec struct {
/* 范围:[1-65535] */
Port int `json:"port"`
}
type Volume ¶
type Volume struct {
/* volume名字,必须是DNS_LABEL,在一个Pod是唯一的。 */
Name string `json:"name"`
/* 提供给Pod的cloud disk. */
JdcloudDisk *JDCloudVolumeSource `json:"jdcloudDisk"`
}
type VolumeMount ¶
Source Files
¶
- CloudDisk.go
- CloudDiskSpec.go
- Container.go
- ContainerSpec.go
- ContainerState.go
- ContainerStateRunning.go
- ContainerStateTerminated.go
- ContainerStateWaiting.go
- ContainerStatus.go
- DnsConfig.go
- ElasticIp.go
- EnvSpec.go
- Exec.go
- Hg.go
- Hh.go
- HostAlias.go
- JDCloudVolumeSource.go
- LogConfig.go
- Logs.go
- NetworkInterfaceAttachment.go
- NetworkInterfaceAttachmentSpec.go
- Pod.go
- PodCondition.go
- PodDnsConfigOption.go
- PodSpec.go
- PodStatus.go
- Probe.go
- ProbeSpec.go
- Quota.go
- RequestSpec.go
- ResourceRequestsSpec.go
- Secret.go
- TcpSocket.go
- TcpSocketSpec.go
- Volume.go
- VolumeMount.go
Click to show internal directories.
Click to hide internal directories.