文档首页/ 云容器实例 CCI/ API参考/ API说明/ Pod/ 创建Pod - createNamespacedPod
更新时间:2026-02-05 GMT+08:00
分享

创建Pod - createNamespacedPod

功能介绍

该API用于创建Pod。

Pod的生命周期是短暂的,在实际使用中,建议使用Deployment创建应用,从而保障应用高可用。

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,当前API调用无需身份策略权限。

URI

POST /apis/cci/v2/namespaces/{namespace}/pods

表1 路径参数

参数

是否必选

参数类型

描述

namespace

String

object name and auth scope, such as for teams and projects

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见认证鉴权

Content-Type

String

消息体的类型(格式),默认取值为“application/json”

表3 请求Body参数

参数

是否必选

参数类型

描述

apiVersion

String

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

String

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

io.cci.api.pkg.apis.versioned.cci.v2.BasePodMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

io.cci.api.pkg.apis.versioned.cci.v2.PodSpec object

Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

表4 io.cci.api.pkg.apis.versioned.cci.v2.BasePodMeta

参数

是否必选

参数类型

描述

annotations

Map<String,String>

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. Here is the support annotations of CCI: CCI Pod Annotations. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations

generateName

String

GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.

If this field is specified and the generated name exists, the server will return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

labels

Map<String,String>

Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

name

String

Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

String

Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.

Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces

表5 io.cci.api.pkg.apis.versioned.cci.v2.PodSpec

参数

是否必选

参数类型

描述

activeDeadlineSeconds

Long

Optional duration in seconds the pod may be active on the node

relative to StartTime before the system will actively try to mark it failed

and kill associated containers. Value must be a positive integer.

affinity

io.cci.api.pkg.apis.versioned.cci.v2.Affinity object

If specified, the pod's scheduling constraints

containers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of containers belonging to the pod. Containers cannot currently

be added or removed. There must be at least one container in a Pod. Cannot

be updated.

dnsConfig

io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig object

Specifies the DNS parameters of a pod. Parameters specified here

will be merged to the generated DNS configuration based on DNSPolicy. When

DNSPolicy is 'None', DNSConfig must be provided.

dnsPolicy

String

Set DNS policy for the pod. Valid values are 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. Possible enum values:

  • "Default" indicates that the pod should use the default (as determined by kubelet) DNS settings.

  • "None" indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.

extraEphemeralStorage

io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage object

By default, pods receive a minimum of 30GiB of ephemeral storage.

The total amount of ephemeral storage can be increased. User can do this

by specifying the extra ephemeralStorage parameter.

hostAliases

Array of io.cci.api.pkg.apis.versioned.cci.v2.HostAlias objects

HostAliases is an optional list of hosts and IPs that will be

injected into the pod's hosts file if specified. This is only valid for

non-hostNetwork pods.

hostname

String

Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. Generally, the DNS_LABLE definition in RFC 1123 must be met. In burst scenarios, the DNS_SUBDOMAIN definition with a maximum length of 63 characters must be met. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

imagePullSecrets

Array of io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference objects

ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

initContainers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

restartPolicy

String

Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

Possible enum values:

  • "Always"

  • "Never"

  • "OnFailure"

setHostnameAsFQDN

Boolean

If true the pod's hostname will be configured as the pod's FQDN,

rather than the leaf name (the default). In Linux containers, this means

setting the FQDN in the hostname field of the kernel (the nodename field

of struct utsname). In Windows containers, this means setting the registry

value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

to FQDN. If a pod does not have FQDN, this has no effect. Default to false.

shareProcessNamespace

Boolean

Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.

terminationGracePeriodSeconds

Long

Optional duration in seconds the pod needs to terminate gracefully.

May be decreased in delete request. Value must be non-negative integer.

The value zero indicates stop immediately via the kill signal (no opportunity

to shut down). If this value is nil, the default grace period will be used

instead. The grace period is the duration in seconds after the processes

running in the pod are sent a termination signal and the time when the processes

are forcibly halted with a kill signal. Set this value longer than the expected

cleanup time for your process. Defaults to 30 seconds.

volumes

Array of io.cci.api.pkg.apis.versioned.cci.v2.Volume objects

List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes

表6 io.cci.api.pkg.apis.versioned.cci.v2.Affinity

参数

是否必选

参数类型

描述

nodeAffinity

io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity object

Describes node affinity scheduling rules for the pod.

podAntiAffinity

io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity object

Describes pod anti-affinity scheduling rules (e.g. avoid putting

this pod in the same zone, etc. as some other pod(s)).

表7 io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity

参数

是否必选

参数类型

描述

requiredDuringSchedulingIgnoredDuringExecution

io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector object

If the affinity requirements specified by this field are not

met at scheduling time, the pod will not be scheduled onto the node. If

the affinity requirements specified by this field cease to be met at some

point during pod execution (e.g. due to an update), the system may or may

not try to eventually evict the pod from its node.

表8 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector

参数

是否必选

参数类型

描述

nodeSelectorTerms

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm objects

Required. A list of node selector terms. The terms are ORed.

表9 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm

参数

是否必选

参数类型

描述

matchExpressions

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement objects

A list of node selector requirements by node's labels.

表10 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement

参数

是否必选

参数类型

描述

key

String

The label key that the selector applies to. Only 'topology.kubernetes.io/zone',

'topology.kubernetes.io/region', 'failure-domain.beta.kubernetes.io/zone'

and 'failure-domain.beta.kubernetes.io/region' are supported. If other keys

are used, the affinity will be left empty

operator

String

Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Possible enum values:

  • "DoesNotExist"

  • "Exists"

  • "Gt"

  • "In"

  • "Lt"

  • "NotIn"

values

Array of strings

An array of string values. If the operator is In or NotIn, the

values array must be non-empty. If the operator is Exists or DoesNotExist,

the values array must be empty. If the operator is Gt or Lt, the values

array must have a single element, which will be interpreted as an integer.

This array is replaced during a strategic merge patch.

表11 io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity

参数

是否必选

参数类型

描述

preferredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm objects

The scheduler will prefer to schedule pods to nodes that satisfy

the anti-affinity expressions specified by this field, but it may choose

a node that violates one or more of the expressions. The node that is most

preferred is the one with the greatest sum of weights, i.e. for each node

that meets all of the scheduling requirements (resource request, requiredDuringScheduling

anti-affinity expressions, etc.), compute a sum by iterating through the

elements of this field and adding "weight" to the sum if the node has pods

which matches the corresponding podAffinityTerm; the node(s) with the highest

sum are the most preferred.

requiredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm objects

If the anti-affinity requirements specified by this field are

not met at scheduling time, the pod will not be scheduled onto the node.

If the anti-affinity requirements specified by this field cease to be met

at some point during pod execution (e.g. due to a pod label update), the

system may or may not try to eventually evict the pod from its node. When

there are multiple elements, the lists of nodes corresponding to each podAffinityTerm

are intersected, i.e. all terms must be satisfied.

表12 io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm

参数

是否必选

参数类型

描述

podAffinityTerm

io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm object

Required. A pod affinity term, associated with the corresponding

weight.

weight

Integer

weight associated with matching the corresponding podAffinityTerm,

in the range 1-100.

表13 io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm

参数

是否必选

参数类型

描述

labelSelector

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

A label query over a set of resources, in this case pods.

namespaces

Array of strings

namespaces specifies a static list of namespace names that the

term applies to. The term is applied to the union of the namespaces listed

in this field and the ones selected by namespaceSelector. null or empty

namespaces list and null namespaceSelector means "this pod's namespace".

topologyKey

String

This pod should be co-located (affinity) or not co-located (anti-affinity)

with the pods matching the labelSelector in the specified namespaces, where

co-located is defined as running on a node whose value of the label with

key topologyKey matches that of any node on which any of the selected pods

is running. Empty topologyKey is not allowed.

表14 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector

参数

是否必选

参数类型

描述

matchExpressions

Array of io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement objects

matchExpressions is a list of label selector requirements. The

requirements are ANDed.

matchLabels

Map<String,String>

matchLabels is a map of {key,value} pairs. A single {key,value}

in the matchLabels map is equivalent to an element of matchExpressions,

whose key field is "key", the operator is "In", and the values array contains

only "value". The requirements are ANDed.

表15 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement

参数

是否必选

参数类型

描述

key

String

key is the label key that the selector applies to.

operator

String

operator represents a key's relationship to a set of values.

Valid operators are In, NotIn, Exists and DoesNotExist.

values

Array of strings

values is an array of string values. If the operator is In or

NotIn, the values array must be non-empty. If the operator is Exists or

DoesNotExist, the values array must be empty. This array is replaced during

a strategic merge patch.

表16 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig

参数

是否必选

参数类型

描述

nameservers

Array of strings

A list of DNS name server IP addresses and the max length of

the list is 3. This will be appended to the base nameservers generated from

DNSPolicy. Duplicated nameservers will be removed and total number of nameservers

cannot exceed three, if exceeds, the extra part will be discarded and an

event alarm will be reported.

options

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption objects

A list of DNS resolver options. This will be merged with the

base options generated from DNSPolicy. Duplicated entries will be removed.

Resolution options given in Options will override those that appear in the

base DNSPolicy.

searches

Array of strings

A list of DNS search domains for host-name lookup. The max length

of the list is 3. Unless ExpandDNSConfig is enabled, the max length is 32.

This will be appended to the base search paths generated from DNSPolicy.

Duplicated search paths will be removed.

表17 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption

参数

是否必选

参数类型

描述

name

String

Name is this DNS resolver option's name. Required.

value

String

Value is this DNS resolver option's value.

表18 io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage

参数

是否必选

参数类型

描述

sizeInGiB

Integer

The size of the ephemeralStorage volume in gibibytes (GiB).

表19 io.cci.api.pkg.apis.versioned.cci.v2.HostAlias

参数

是否必选

参数类型

描述

hostnames

Array of strings

Hostnames for the above IP address.

ip

String

IP address of the host file entry.

表20 io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference

参数

是否必选

参数类型

描述

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

表21 io.cci.api.pkg.apis.versioned.cci.v2.Container

参数

是否必选

参数类型

描述

args

Array of strings

Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

Array of strings

Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvVar objects

List of environment variables to set in the container. Cannot

be updated.

envFrom

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource objects

List of sources to populate environment variables in the container.

One source can only selected configMapRef or secretRef. The keys defined

within a source must be a C_IDENTIFIER. All invalid keys will be reported

as an event when the container is starting. When a key exists in multiple

sources, the value associated with the last source will take precedence.

Values defined by an Env with a duplicate key will take precedence. Cannot

be updated.

image

String

Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

lifecycle

io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle object

Actions that the management system should take in response to

container lifecycle events. Cannot be updated.

livenessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

name

String

Name of the container specified as a DNS_LABEL. Each container

in a pod must have a unique name (DNS_LABEL). Cannot be updated.

ports

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort objects

List of ports to expose from the container. Not specifying a

port here DOES NOT prevent that port from being exposed. Any port which

is listening on the default "0.0.0.0" address inside a container will be

accessible from the network. Modifying this array with strategic merge patch

may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255.

Cannot be updated.

readinessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

resources

io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements object

Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

startupProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

stdin

Boolean

Whether this container should allocate a buffer for stdin in

the container runtime. If this is not set, reads from stdin in the container

will always result in EOF. Default is false.

terminationMessagePath

String

Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.

terminationMessagePolicy

String

Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.

Possible enum values:

  • "FallbackToLogsOnError" will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents.

  • "File" is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.

tty

Boolean

Whether this container should allocate a TTY for itself, also

requires 'stdin' to be true. Default is false.

volumeMounts

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount objects

Pod volumes to mount into the container's filesystem. Cannot

be updated.

workingDir

String

Container's working directory. If not specified, the container

runtime's default will be used, which might be configured in the container

image. Cannot be updated. Only absolute paths are supported

表22 io.cci.api.pkg.apis.versioned.cci.v2.EnvVar

参数

是否必选

参数类型

描述

name

String

Name of the environment variable. Must be a C_IDENTIFIER. If

the name is duplicated, the later value will overwrite the earlier value.

A valid environment variable name must consist of alphabetic characters,

digits, '_', '-', or '.', and must not start with a digit

value

String

Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

valueFrom

io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource object

Source for the environment variable's value. Select one from

configMapKeyRef, secretKeyRef, fieldRef and resourceFieldRef. The env value

may be rounded. Cannot be used if value is not empty.

表23 io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource

参数

是否必选

参数类型

描述

configMapKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector object

Selects a key of a ConfigMap.

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu, requests.memory) are currently supported.

secretKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector object

Selects a key of a secret in the pod's namespace

表24 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector

参数

是否必选

参数类型

描述

key

String

The key to select. A valid config key must consist of alphanumeric

characters, '-', '_' or '.', and length cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap or its key must be defined

表25 io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector

参数

是否必选

参数类型

描述

key

String

The key of the secret to select from. Must be a valid secret

key which consist of alphanumeric characters, '-', '_' or '.', and length

cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret or its key must be defined

表26 io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource

参数

是否必选

参数类型

描述

configMapRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource object

The ConfigMap to select from

prefix

String

An optional identifier to prepend to each key in the ConfigMap

or Secret. Must be a C_IDENTIFIER. A valid environment variable name must

consist of alphabetic characters, digits, '_', '-', or '.', and must not

start with a digit

secretRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource object

The Secret to select from

表27 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource

参数

是否必选

参数类型

描述

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap must be defined

表28 io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource

参数

是否必选

参数类型

描述

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret must be defined

表29 io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle

参数

是否必选

参数类型

描述

postStart

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

表30 io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler

参数

是否必选

参数类型

描述

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

表31 io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort

参数

是否必选

参数类型

描述

containerPort

Integer

Number of port to expose on the pod's IP address. This must be

a valid port number, 0 < x < 65536.

name

String

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. Complies with RFC 6335 standards. More info: https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/identifiers.md

protocol

String

Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".

Possible enum values:

  • "SCTP" is the SCTP protocol.

  • "TCP" is the TCP protocol.

  • "UDP" is the UDP protocol.

表32 io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements

参数

是否必选

参数类型

描述

limits

Map<String,String>

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

Map<String,String>

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

表33 io.cci.api.pkg.apis.versioned.cci.v2.Probe

参数

是否必选

参数类型

描述

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

failureThreshold

Integer

Minimum consecutive failures for the probe to be considered failed

after having succeeded. Defaults to 3. Minimum value is 1.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

initialDelaySeconds

Integer

Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

Integer

How often (in seconds) to perform the probe. Default to 10 seconds.

Minimum value is 1.

successThreshold

Integer

Minimum consecutive successes for the probe to be considered

successful after having failed. Defaults to 1. Must be 1 for liveness and

startup. Minimum value is 1.

tcpSocket

io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction object

TCPSocket specifies an action involving a TCP port.

timeoutSeconds

Integer

Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

表34 io.cci.api.pkg.apis.versioned.cci.v2.ExecAction

参数

是否必选

参数类型

描述

command

Array of strings

Command is the command line to execute inside the container,

the working directory for the command is root ('/') in the container's

filesystem. The command is simply exec'd, it is not run inside a shell,

so traditional shell instructions ('|', etc) won't work. To use a shell,

you need to explicitly call out to that shell. Exit status of 0 is treated

as live/healthy and non-zero is unhealthy.

表35 io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction

参数

是否必选

参数类型

描述

host

String

Host name to connect to, defaults to the pod IP. You probably

want to set "Host" in httpHeaders instead.

httpHeaders

Array of io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader objects

Custom headers to set in the request. HTTP allows repeated headers.

path

String

Path to access on the HTTP server.

port

String

Name or number of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

scheme

String

Scheme to use for connecting to the host. Defaults to HTTP.

Possible enum values:

  • "HTTP" means that the scheme used will be http://

  • "HTTPS" means that the scheme used will be https://

表36 io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader

参数

是否必选

参数类型

描述

name

String

The header field name

value

String

The header field value

表37 io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction

参数

是否必选

参数类型

描述

host

String

Optional: Host name to connect to, defaults to the pod IP.

port

String

Number or name of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

表38 io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount

参数

是否必选

参数类型

描述

extendPathMode

String

Extend the volume path by appending the pod metadata to the path

according to specified pattern. which provide a way of directory isolation

and help prevent the writing conflict between different pods.

mountPath

String

Path within the container at which the volume should be mounted.

name

String

This must match the Name of a Volume.

readOnly

Boolean

Mounted read-only if true, read-write otherwise (false or unspecified).

Defaults to false.

subPath

String

Path within the volume from which the container's volume should

be mounted. Defaults to "" (volume's root). Absolute paths cannot be used.

subPathExpr

String

Expanded path within the volume from which the container's volume

should be mounted. Behaves similarly to SubPath but environment variable

references $(VAR_NAME) are expanded using the container's environment. Defaults

to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.

表39 io.cci.api.pkg.apis.versioned.cci.v2.Volume

参数

是否必选

参数类型

描述

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource object

configMap represents a configMap that should populate this volume

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource object

downwardAPI represents downward API about the pod that should

populate this volume

emptyDir

io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource object

emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

name

String

name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

persistentVolumeClaim

io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource object

persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

projected

io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource object

projected items for all in one resources secrets, configmaps,

and downward API

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource object

secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

表40 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource

参数

是否必选

参数类型

描述

defaultMode

Integer

defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be covered. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

表41 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource

参数

是否必选

参数类型

描述

defaultMode

Integer

Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of downward API volume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be covered.

表42 io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource

参数

是否必选

参数类型

描述

medium

String

medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

String

sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. It takes effect only when medium is memory. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

表43 io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource

参数

是否必选

参数类型

描述

claimName

String

claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

Boolean

readOnly Will force the ReadOnly setting in VolumeMounts. Default

false.

表44 io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource

参数

是否必选

参数类型

描述

defaultMode

Integer

defaultMode are the mode bits used to set permissions on created

files by default. Must be an octal value between 0000 and 0777 or a decimal

value between 0 and 511. YAML accepts both octal and decimal values, JSON

requires decimal values for mode bits. Directories within the path are not

affected by this setting. This might be in conflict with other options that

affect the file mode, like fsGroup, and the result can be other mode bits

set.

sources

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection objects

sources is the list of volume projections

表45 io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection

参数

是否必选

参数类型

描述

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection object

configMap information about the configMap data to project

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection object

downwardAPI information about the downwardAPI data to project

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection object

secret information about the secret data to project

表46 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection

参数

是否必选

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be rejected. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

表47 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection

参数

是否必选

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of DownwardAPIVolume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be rejected.

表48 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile

参数

是否必选

参数类型

描述

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Required: Selects a field of the pod: only annotations, labels, uid, name and namespace are supported.

mode

Integer

Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

表49 io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector

参数

是否必选

参数类型

描述

apiVersion

String

Version of the schema the FieldPath is written in terms of, defaults

to "v1". Only "v1" is supported currently

fieldPath

String

Path of the field to select in the specified API version. Only

annotations, labels, uid, name and namespace are supported.

表50 io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector

参数

是否必选

参数类型

描述

containerName

String

Container name: required for volumes, optional for env vars

divisor

String

Specifies the output format of the exposed resources, defaults to "1". If divisor is set to zero or is not set, the configuration is displayed as zero, but actually still use the default "1". More info: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/#Quantity

resource

String

Required: resource to select, only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

表51 io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection

参数

是否必选

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be rejected. Paths must be relative and may not contain the

'..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional field specify whether the Secret or its key must be

defined

表52 io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource

参数

是否必选

参数类型

描述

defaultMode

Integer

defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items If unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be covered. Paths must be relative and may not contain the

'..' path or start with '..'.

optional

Boolean

optional field specify whether the Secret or its keys must be

defined

secretName

String

secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

表53 io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath

参数

是否必选

参数类型

描述

key

String

key is the key to project.

mode

Integer

mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

path is the relative path of the file to map the key to. May

not be an absolute path. May not contain the path element '..'. May not

start with the string '..'.

响应参数

状态码:200

表54 响应Body参数

参数

参数类型

描述

apiVersion

String

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

String

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

io.cci.api.pkg.apis.versioned.cci.v2.PodMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

io.cci.api.pkg.apis.versioned.cci.v2.PodSpec object

Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

status

io.cci.api.pkg.apis.versioned.cci.v2.PodStatus object

Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

表55 io.cci.api.pkg.apis.versioned.cci.v2.PodMeta

参数

参数类型

描述

annotations

Map<String,String>

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. Here is the support annotations of CCI: CCI Pod Annotations. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations

creationTimestamp

String

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

deletionGracePeriodSeconds

Long

Number of seconds allowed for this object to gracefully terminate

before it will be removed from the system. Only set when deletionTimestamp

is also set. May only be shortened. Read-only.

deletionTimestamp

String

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

finalizers

Array of strings

Must be empty before the object is deleted from the registry.

Each entry is an identifier for the responsible component that will remove

the entry from the list. If the deletionTimestamp of the object is non-nil,

entries in this list can only be removed. Finalizers may be processed and

removed in any order. Order is NOT enforced because it introduces significant

risk of stuck finalizers. finalizers is a shared field, any actor with permission

can reorder it. If the finalizer list is processed in order, then this can

lead to a situation in which the component responsible for the first finalizer

in the list is waiting for a signal (field value, external system, or other)

produced by a component responsible for a finalizer later in the list, resulting

in a deadlock. Without enforced ordering finalizers are free to order amongst

themselves and are not vulnerable to ordering changes in the list.

generateName

String

GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.

If this field is specified and the generated name exists, the server will return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

generation

Long

A sequence number representing a specific generation of the desired

state. Populated by the system. Read-only.

labels

Map<String,String>

Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

name

String

Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

String

Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.

Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces

ownerReferences

Array of io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference objects

List of objects depended by this object. If ALL objects in the

list have been deleted, this object will be garbage collected. If this object

is managed by a controller, then an entry in this list will point to this

controller, with the controller field set to true. There cannot be more

than one managing controller.

resourceVersion

String

An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.

Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

selfLink

String

Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.

uid

String

UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

表56 io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference

参数

参数类型

描述

apiVersion

String

API version of the referent.

blockOwnerDeletion

Boolean

If true, AND if the owner has the "foregroundDeletion" finalizer,

then the owner cannot be deleted from the key-value store until this reference

is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion

for how the garbage collector interacts with this field and enforces the

foreground deletion. Defaults to false. To set this field, a user needs

"delete" permission of the owner, otherwise 422 (Unprocessable Entity) will

be returned.

controller

Boolean

If true, this reference points to the managing controller.

kind

String

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

String

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

uid

String

UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

表57 io.cci.api.pkg.apis.versioned.cci.v2.PodSpec

参数

参数类型

描述

activeDeadlineSeconds

Long

Optional duration in seconds the pod may be active on the node

relative to StartTime before the system will actively try to mark it failed

and kill associated containers. Value must be a positive integer.

affinity

io.cci.api.pkg.apis.versioned.cci.v2.Affinity object

If specified, the pod's scheduling constraints

containers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of containers belonging to the pod. Containers cannot currently

be added or removed. There must be at least one container in a Pod. Cannot

be updated.

dnsConfig

io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig object

Specifies the DNS parameters of a pod. Parameters specified here

will be merged to the generated DNS configuration based on DNSPolicy. When

DNSPolicy is 'None', DNSConfig must be provided.

dnsPolicy

String

Set DNS policy for the pod. Valid values are 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. Possible enum values:

  • "Default" indicates that the pod should use the default (as determined by kubelet) DNS settings.

  • "None" indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.

extraEphemeralStorage

io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage object

By default, pods receive a minimum of 30GiB of ephemeral storage.

The total amount of ephemeral storage can be increased. User can do this

by specifying the extra ephemeralStorage parameter.

hostAliases

Array of io.cci.api.pkg.apis.versioned.cci.v2.HostAlias objects

HostAliases is an optional list of hosts and IPs that will be

injected into the pod's hosts file if specified. This is only valid for

non-hostNetwork pods.

hostname

String

Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. Generally, the DNS_LABLE definition in RFC 1123 must be met. In burst scenarios, the DNS_SUBDOMAIN definition with a maximum length of 63 characters must be met. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

imagePullSecrets

Array of io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference objects

ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

initContainers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

restartPolicy

String

Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

Possible enum values:

  • "Always"

  • "Never"

  • "OnFailure"

setHostnameAsFQDN

Boolean

If true the pod's hostname will be configured as the pod's FQDN,

rather than the leaf name (the default). In Linux containers, this means

setting the FQDN in the hostname field of the kernel (the nodename field

of struct utsname). In Windows containers, this means setting the registry

value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

to FQDN. If a pod does not have FQDN, this has no effect. Default to false.

shareProcessNamespace

Boolean

Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.

terminationGracePeriodSeconds

Long

Optional duration in seconds the pod needs to terminate gracefully.

May be decreased in delete request. Value must be non-negative integer.

The value zero indicates stop immediately via the kill signal (no opportunity

to shut down). If this value is nil, the default grace period will be used

instead. The grace period is the duration in seconds after the processes

running in the pod are sent a termination signal and the time when the processes

are forcibly halted with a kill signal. Set this value longer than the expected

cleanup time for your process. Defaults to 30 seconds.

volumes

Array of io.cci.api.pkg.apis.versioned.cci.v2.Volume objects

List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes

表58 io.cci.api.pkg.apis.versioned.cci.v2.Affinity

参数

参数类型

描述

nodeAffinity

io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity object

Describes node affinity scheduling rules for the pod.

podAntiAffinity

io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity object

Describes pod anti-affinity scheduling rules (e.g. avoid putting

this pod in the same zone, etc. as some other pod(s)).

表59 io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity

参数

参数类型

描述

requiredDuringSchedulingIgnoredDuringExecution

io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector object

If the affinity requirements specified by this field are not

met at scheduling time, the pod will not be scheduled onto the node. If

the affinity requirements specified by this field cease to be met at some

point during pod execution (e.g. due to an update), the system may or may

not try to eventually evict the pod from its node.

表60 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector

参数

参数类型

描述

nodeSelectorTerms

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm objects

Required. A list of node selector terms. The terms are ORed.

表61 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm

参数

参数类型

描述

matchExpressions

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement objects

A list of node selector requirements by node's labels.

表62 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement

参数

参数类型

描述

key

String

The label key that the selector applies to. Only 'topology.kubernetes.io/zone',

'topology.kubernetes.io/region', 'failure-domain.beta.kubernetes.io/zone'

and 'failure-domain.beta.kubernetes.io/region' are supported. If other keys

are used, the affinity will be left empty

operator

String

Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Possible enum values:

  • "DoesNotExist"

  • "Exists"

  • "Gt"

  • "In"

  • "Lt"

  • "NotIn"

values

Array of strings

An array of string values. If the operator is In or NotIn, the

values array must be non-empty. If the operator is Exists or DoesNotExist,

the values array must be empty. If the operator is Gt or Lt, the values

array must have a single element, which will be interpreted as an integer.

This array is replaced during a strategic merge patch.

表63 io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity

参数

参数类型

描述

preferredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm objects

The scheduler will prefer to schedule pods to nodes that satisfy

the anti-affinity expressions specified by this field, but it may choose

a node that violates one or more of the expressions. The node that is most

preferred is the one with the greatest sum of weights, i.e. for each node

that meets all of the scheduling requirements (resource request, requiredDuringScheduling

anti-affinity expressions, etc.), compute a sum by iterating through the

elements of this field and adding "weight" to the sum if the node has pods

which matches the corresponding podAffinityTerm; the node(s) with the highest

sum are the most preferred.

requiredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm objects

If the anti-affinity requirements specified by this field are

not met at scheduling time, the pod will not be scheduled onto the node.

If the anti-affinity requirements specified by this field cease to be met

at some point during pod execution (e.g. due to a pod label update), the

system may or may not try to eventually evict the pod from its node. When

there are multiple elements, the lists of nodes corresponding to each podAffinityTerm

are intersected, i.e. all terms must be satisfied.

表64 io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm

参数

参数类型

描述

podAffinityTerm

io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm object

Required. A pod affinity term, associated with the corresponding

weight.

weight

Integer

weight associated with matching the corresponding podAffinityTerm,

in the range 1-100.

表65 io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm

参数

参数类型

描述

labelSelector

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

A label query over a set of resources, in this case pods.

namespaces

Array of strings

namespaces specifies a static list of namespace names that the

term applies to. The term is applied to the union of the namespaces listed

in this field and the ones selected by namespaceSelector. null or empty

namespaces list and null namespaceSelector means "this pod's namespace".

topologyKey

String

This pod should be co-located (affinity) or not co-located (anti-affinity)

with the pods matching the labelSelector in the specified namespaces, where

co-located is defined as running on a node whose value of the label with

key topologyKey matches that of any node on which any of the selected pods

is running. Empty topologyKey is not allowed.

表66 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector

参数

参数类型

描述

matchExpressions

Array of io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement objects

matchExpressions is a list of label selector requirements. The

requirements are ANDed.

matchLabels

Map<String,String>

matchLabels is a map of {key,value} pairs. A single {key,value}

in the matchLabels map is equivalent to an element of matchExpressions,

whose key field is "key", the operator is "In", and the values array contains

only "value". The requirements are ANDed.

表67 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement

参数

参数类型

描述

key

String

key is the label key that the selector applies to.

operator

String

operator represents a key's relationship to a set of values.

Valid operators are In, NotIn, Exists and DoesNotExist.

values

Array of strings

values is an array of string values. If the operator is In or

NotIn, the values array must be non-empty. If the operator is Exists or

DoesNotExist, the values array must be empty. This array is replaced during

a strategic merge patch.

表68 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig

参数

参数类型

描述

nameservers

Array of strings

A list of DNS name server IP addresses and the max length of

the list is 3. This will be appended to the base nameservers generated from

DNSPolicy. Duplicated nameservers will be removed and total number of nameservers

cannot exceed three, if exceeds, the extra part will be discarded and an

event alarm will be reported.

options

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption objects

A list of DNS resolver options. This will be merged with the

base options generated from DNSPolicy. Duplicated entries will be removed.

Resolution options given in Options will override those that appear in the

base DNSPolicy.

searches

Array of strings

A list of DNS search domains for host-name lookup. The max length

of the list is 3. Unless ExpandDNSConfig is enabled, the max length is 32.

This will be appended to the base search paths generated from DNSPolicy.

Duplicated search paths will be removed.

表69 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption

参数

参数类型

描述

name

String

Name is this DNS resolver option's name. Required.

value

String

Value is this DNS resolver option's value.

表70 io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage

参数

参数类型

描述

sizeInGiB

Integer

The size of the ephemeralStorage volume in gibibytes (GiB).

表71 io.cci.api.pkg.apis.versioned.cci.v2.HostAlias

参数

参数类型

描述

hostnames

Array of strings

Hostnames for the above IP address.

ip

String

IP address of the host file entry.

表72 io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference

参数

参数类型

描述

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

表73 io.cci.api.pkg.apis.versioned.cci.v2.Container

参数

参数类型

描述

args

Array of strings

Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

Array of strings

Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvVar objects

List of environment variables to set in the container. Cannot

be updated.

envFrom

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource objects

List of sources to populate environment variables in the container.

One source can only selected configMapRef or secretRef. The keys defined

within a source must be a C_IDENTIFIER. All invalid keys will be reported

as an event when the container is starting. When a key exists in multiple

sources, the value associated with the last source will take precedence.

Values defined by an Env with a duplicate key will take precedence. Cannot

be updated.

image

String

Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

lifecycle

io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle object

Actions that the management system should take in response to

container lifecycle events. Cannot be updated.

livenessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

name

String

Name of the container specified as a DNS_LABEL. Each container

in a pod must have a unique name (DNS_LABEL). Cannot be updated.

ports

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort objects

List of ports to expose from the container. Not specifying a

port here DOES NOT prevent that port from being exposed. Any port which

is listening on the default "0.0.0.0" address inside a container will be

accessible from the network. Modifying this array with strategic merge patch

may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255.

Cannot be updated.

readinessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

resources

io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements object

Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

startupProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

stdin

Boolean

Whether this container should allocate a buffer for stdin in

the container runtime. If this is not set, reads from stdin in the container

will always result in EOF. Default is false.

terminationMessagePath

String

Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.

terminationMessagePolicy

String

Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.

Possible enum values:

  • "FallbackToLogsOnError" will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents.

  • "File" is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.

tty

Boolean

Whether this container should allocate a TTY for itself, also

requires 'stdin' to be true. Default is false.

volumeMounts

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount objects

Pod volumes to mount into the container's filesystem. Cannot

be updated.

workingDir

String

Container's working directory. If not specified, the container

runtime's default will be used, which might be configured in the container

image. Cannot be updated. Only absolute paths are supported

表74 io.cci.api.pkg.apis.versioned.cci.v2.EnvVar

参数

参数类型

描述

name

String

Name of the environment variable. Must be a C_IDENTIFIER. If

the name is duplicated, the later value will overwrite the earlier value.

A valid environment variable name must consist of alphabetic characters,

digits, '_', '-', or '.', and must not start with a digit

value

String

Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

valueFrom

io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource object

Source for the environment variable's value. Select one from

configMapKeyRef, secretKeyRef, fieldRef and resourceFieldRef. The env value

may be rounded. Cannot be used if value is not empty.

表75 io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource

参数

参数类型

描述

configMapKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector object

Selects a key of a ConfigMap.

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu, requests.memory) are currently supported.

secretKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector object

Selects a key of a secret in the pod's namespace

表76 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector

参数

参数类型

描述

key

String

The key to select. A valid config key must consist of alphanumeric

characters, '-', '_' or '.', and length cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap or its key must be defined

表77 io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector

参数

参数类型

描述

key

String

The key of the secret to select from. Must be a valid secret

key which consist of alphanumeric characters, '-', '_' or '.', and length

cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret or its key must be defined

表78 io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource

参数

参数类型

描述

configMapRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource object

The ConfigMap to select from

prefix

String

An optional identifier to prepend to each key in the ConfigMap

or Secret. Must be a C_IDENTIFIER. A valid environment variable name must

consist of alphabetic characters, digits, '_', '-', or '.', and must not

start with a digit

secretRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource object

The Secret to select from

表79 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource

参数

参数类型

描述

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap must be defined

表80 io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource

参数

参数类型

描述

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret must be defined

表81 io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle

参数

参数类型

描述

postStart

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

表82 io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler

参数

参数类型

描述

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

表83 io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort

参数

参数类型

描述

containerPort

Integer

Number of port to expose on the pod's IP address. This must be

a valid port number, 0 < x < 65536.

name

String

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. Complies with RFC 6335 standards. More info: https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/identifiers.md

protocol

String

Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".

Possible enum values:

  • "SCTP" is the SCTP protocol.

  • "TCP" is the TCP protocol.

  • "UDP" is the UDP protocol.

表84 io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements

参数

参数类型

描述

limits

Map<String,String>

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

Map<String,String>

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

表85 io.cci.api.pkg.apis.versioned.cci.v2.Probe

参数

参数类型

描述

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

failureThreshold

Integer

Minimum consecutive failures for the probe to be considered failed

after having succeeded. Defaults to 3. Minimum value is 1.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

initialDelaySeconds

Integer

Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

Integer

How often (in seconds) to perform the probe. Default to 10 seconds.

Minimum value is 1.

successThreshold

Integer

Minimum consecutive successes for the probe to be considered

successful after having failed. Defaults to 1. Must be 1 for liveness and

startup. Minimum value is 1.

tcpSocket

io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction object

TCPSocket specifies an action involving a TCP port.

timeoutSeconds

Integer

Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

表86 io.cci.api.pkg.apis.versioned.cci.v2.ExecAction

参数

参数类型

描述

command

Array of strings

Command is the command line to execute inside the container,

the working directory for the command is root ('/') in the container's

filesystem. The command is simply exec'd, it is not run inside a shell,

so traditional shell instructions ('|', etc) won't work. To use a shell,

you need to explicitly call out to that shell. Exit status of 0 is treated

as live/healthy and non-zero is unhealthy.

表87 io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction

参数

参数类型

描述

host

String

Host name to connect to, defaults to the pod IP. You probably

want to set "Host" in httpHeaders instead.

httpHeaders

Array of io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader objects

Custom headers to set in the request. HTTP allows repeated headers.

path

String

Path to access on the HTTP server.

port

String

Name or number of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

scheme

String

Scheme to use for connecting to the host. Defaults to HTTP.

Possible enum values:

  • "HTTP" means that the scheme used will be http://

  • "HTTPS" means that the scheme used will be https://

表88 io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader

参数

参数类型

描述

name

String

The header field name

value

String

The header field value

表89 io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction

参数

参数类型

描述

host

String

Optional: Host name to connect to, defaults to the pod IP.

port

String

Number or name of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

表90 io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount

参数

参数类型

描述

extendPathMode

String

Extend the volume path by appending the pod metadata to the path

according to specified pattern. which provide a way of directory isolation

and help prevent the writing conflict between different pods.

mountPath

String

Path within the container at which the volume should be mounted.

name

String

This must match the Name of a Volume.

readOnly

Boolean

Mounted read-only if true, read-write otherwise (false or unspecified).

Defaults to false.

subPath

String

Path within the volume from which the container's volume should

be mounted. Defaults to "" (volume's root). Absolute paths cannot be used.

subPathExpr

String

Expanded path within the volume from which the container's volume

should be mounted. Behaves similarly to SubPath but environment variable

references $(VAR_NAME) are expanded using the container's environment. Defaults

to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.

表91 io.cci.api.pkg.apis.versioned.cci.v2.Volume

参数

参数类型

描述

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource object

configMap represents a configMap that should populate this volume

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource object

downwardAPI represents downward API about the pod that should

populate this volume

emptyDir

io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource object

emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

name

String

name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

persistentVolumeClaim

io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource object

persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

projected

io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource object

projected items for all in one resources secrets, configmaps,

and downward API

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource object

secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

表92 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource

参数

参数类型

描述

defaultMode

Integer

defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be covered. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

表93 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource

参数

参数类型

描述

defaultMode

Integer

Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of downward API volume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be covered.

表94 io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource

参数

参数类型

描述

medium

String

medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

String

sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. It takes effect only when medium is memory. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

表95 io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource

参数

参数类型

描述

claimName

String

claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

Boolean

readOnly Will force the ReadOnly setting in VolumeMounts. Default

false.

表96 io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource

参数

参数类型

描述

defaultMode

Integer

defaultMode are the mode bits used to set permissions on created

files by default. Must be an octal value between 0000 and 0777 or a decimal

value between 0 and 511. YAML accepts both octal and decimal values, JSON

requires decimal values for mode bits. Directories within the path are not

affected by this setting. This might be in conflict with other options that

affect the file mode, like fsGroup, and the result can be other mode bits

set.

sources

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection objects

sources is the list of volume projections

表97 io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection

参数

参数类型

描述

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection object

configMap information about the configMap data to project

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection object

downwardAPI information about the downwardAPI data to project

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection object

secret information about the secret data to project

表98 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection

参数

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be rejected. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

表99 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection

参数

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of DownwardAPIVolume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be rejected.

表100 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile

参数

参数类型

描述

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Required: Selects a field of the pod: only annotations, labels, uid, name and namespace are supported.

mode

Integer

Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

表101 io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector

参数

参数类型

描述

apiVersion

String

Version of the schema the FieldPath is written in terms of, defaults

to "v1". Only "v1" is supported currently

fieldPath

String

Path of the field to select in the specified API version. Only

annotations, labels, uid, name and namespace are supported.

表102 io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector

参数

参数类型

描述

containerName

String

Container name: required for volumes, optional for env vars

divisor

String

Specifies the output format of the exposed resources, defaults to "1". If divisor is set to zero or is not set, the configuration is displayed as zero, but actually still use the default "1". More info: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/#Quantity

resource

String

Required: resource to select, only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

表103 io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection

参数

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be rejected. Paths must be relative and may not contain the

'..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional field specify whether the Secret or its key must be

defined

表104 io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource

参数

参数类型

描述

defaultMode

Integer

defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items If unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be covered. Paths must be relative and may not contain the

'..' path or start with '..'.

optional

Boolean

optional field specify whether the Secret or its keys must be

defined

secretName

String

secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

表105 io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath

参数

参数类型

描述

key

String

key is the key to project.

mode

Integer

mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

path is the relative path of the file to map the key to. May

not be an absolute path. May not contain the path element '..'. May not

start with the string '..'.

表106 io.cci.api.pkg.apis.versioned.cci.v2.PodStatus

参数

参数类型

描述

conditions

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodCondition objects

Current service state of pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

containerStatuses

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerStatus objects

The list has one entry per container in the manifest. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status

initContainerStatuses

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerStatus objects

The list has one entry per init container in the manifest. The most recent successful init container will have ready = true, the most recently started container will have startTime set. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status

message

String

A human readable message indicating details about why the pod

is in this condition.

phase

String

The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle. The conditions array, the reason and message fields, and the individual container status arrays contain more detail about the pod's status. There are five possible phase values:

Pending: The pod has been accepted by the Kubernetes system, but one or more of the container images has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while. Running: The pod has been bound to a node, and all of the containers have been created. At least one container is still running, or is in the process of starting or restarting. Succeeded: All containers in the pod have terminated in success, and will not be restarted. Failed: All containers in the pod have terminated, and at least one container has terminated in failure. The container either exited with non-zero status or was terminated by the system. Unknown: For some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod.

More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase

Possible enum values:

  • "Failed" means that all containers in the pod have terminated, and at least one container has terminated in a failure (exited with a non-zero exit code or was stopped by the system).

  • "Pending" means the pod has been accepted by the system, but one or more of the containers has not been started. This includes time before being bound to a node, as well as time spent pulling images onto the host.

  • "Running" means the pod has been bound to a node and all of the containers have been started. At least one container is still running or is in the process of being restarted.

  • "Stopped" means that the pod has been stopped

  • "Succeeded" means that all containers in the pod have voluntarily terminated with a container exit code of 0, and the system is not going to restart any of these containers.

  • "Unknown" means that for some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod. Deprecated: It isn't being set since 2015 (74da3b14b0c0f658b3bb8d2def5094686d0e9095)

podIP

String

IP address allocated to the pod. Routable at least within the

cluster. Empty if not yet allocated.

podIPs

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodIP objects

podIPs holds the IP addresses allocated to the pod. If this field

is specified, the 0th entry must match the podIP field. Pods may be allocated

at most 1 value for each of IPv4 and IPv6. This list is empty if no IPs

have been allocated yet.

qosClass

String

The Quality of Service (QOS) classification assigned to the pod based on resource requirements See PodQOSClass type for available QOS classes More info: https://git.k8s.io/community/contributors/design-proposals/node/resource-qos.md

Possible enum values:

  • "BestEffort" is the BestEffort qos class.

  • "Burstable" is the Burstable qos class.

  • "Guaranteed" is the Guaranteed qos class.

reason

String

A brief CamelCase message indicating details about why the pod

is in this state. e.g. 'Evicted'

startTime

String

RFC 3339 date and time at which the object was acknowledged by

the Kubelet. This is before the Kubelet pulled the container image(s) for

the pod.

表107 io.cci.api.pkg.apis.versioned.cci.v2.PodCondition

参数

参数类型

描述

lastProbeTime

String

Last time we probed the condition.

lastTransitionTime

String

Last time the condition transitioned from one status to another.

message

String

Human-readable message indicating details about last transition.

reason

String

Unique, one-word, CamelCase reason for the condition's last transition.

status

String

Status is the status of the condition. Can be True, False, Unknown. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

type

String

Type is the type of the condition. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

表108 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStatus

参数

参数类型

描述

containerID

String

Container's ID in the format '[/topic/body/section/table/tgroup/tbody/row/entry/p/br {""})(br]://<container_id>'.

image

String

The image the container is running. More info: https://kubernetes.io/docs/concepts/containers/images.

imageID

String

ImageID of the container's image.

lastState

io.cci.api.pkg.apis.versioned.cci.v2.ContainerState object

Details about the container's last termination condition.

name

String

This must be a DNS_LABEL. Each container in a pod must have a

unique name. Cannot be updated.

ready

Boolean

Specifies whether the container has passed its readiness probe.

restartCount

Integer

The number of times the container has been restarted.

started

Boolean

Specifies whether the container has passed its startup probe.

Initialized as false, becomes true after startupProbe is considered successful.

Resets to false when the container is restarted, or if kubelet loses state

temporarily. Is always true when no startupProbe is defined.

state

io.cci.api.pkg.apis.versioned.cci.v2.ContainerState object

Details about the container's current condition.

表109 io.cci.api.pkg.apis.versioned.cci.v2.ContainerState

参数

参数类型

描述

running

io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateRunning object

Details about a running container

terminated

io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateTerminated object

Details about a terminated container

waiting

io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateWaiting object

Details about a waiting container

表110 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateRunning

参数

参数类型

描述

startedAt

String

Time at which the container was last (re-)started

表111 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateTerminated

参数

参数类型

描述

containerID

String

Container's ID in the format '[/topic/body/section/table/tgroup/tbody/row/entry/p/br {""})(br]://<container_id>'

exitCode

Integer

Exit status from the last termination of the container

finishedAt

String

Time at which the container last terminated

message

String

Message regarding the last termination of the container

reason

String

(brief) reason from the last termination of the container

signal

Integer

Signal from the last termination of the container

startedAt

String

Time at which previous execution of the container started

表112 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateWaiting

参数

参数类型

描述

message

String

Message regarding why the container is not yet running.

reason

String

(brief) reason the container is not yet running.

表113 io.cci.api.pkg.apis.versioned.cci.v2.PodIP

参数

参数类型

描述

ip

String

ip is an IP address (IPv4 or IPv6) assigned to the pod

状态码:201

表114 响应Body参数

参数

参数类型

描述

apiVersion

String

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

String

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

io.cci.api.pkg.apis.versioned.cci.v2.PodMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

io.cci.api.pkg.apis.versioned.cci.v2.PodSpec object

Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

status

io.cci.api.pkg.apis.versioned.cci.v2.PodStatus object

Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

表115 io.cci.api.pkg.apis.versioned.cci.v2.PodMeta

参数

参数类型

描述

annotations

Map<String,String>

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. Here is the support annotations of CCI: CCI Pod Annotations. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations

creationTimestamp

String

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

deletionGracePeriodSeconds

Long

Number of seconds allowed for this object to gracefully terminate

before it will be removed from the system. Only set when deletionTimestamp

is also set. May only be shortened. Read-only.

deletionTimestamp

String

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

finalizers

Array of strings

Must be empty before the object is deleted from the registry.

Each entry is an identifier for the responsible component that will remove

the entry from the list. If the deletionTimestamp of the object is non-nil,

entries in this list can only be removed. Finalizers may be processed and

removed in any order. Order is NOT enforced because it introduces significant

risk of stuck finalizers. finalizers is a shared field, any actor with permission

can reorder it. If the finalizer list is processed in order, then this can

lead to a situation in which the component responsible for the first finalizer

in the list is waiting for a signal (field value, external system, or other)

produced by a component responsible for a finalizer later in the list, resulting

in a deadlock. Without enforced ordering finalizers are free to order amongst

themselves and are not vulnerable to ordering changes in the list.

generateName

String

GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.

If this field is specified and the generated name exists, the server will return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

generation

Long

A sequence number representing a specific generation of the desired

state. Populated by the system. Read-only.

labels

Map<String,String>

Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

name

String

Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

String

Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.

Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces

ownerReferences

Array of io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference objects

List of objects depended by this object. If ALL objects in the

list have been deleted, this object will be garbage collected. If this object

is managed by a controller, then an entry in this list will point to this

controller, with the controller field set to true. There cannot be more

than one managing controller.

resourceVersion

String

An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.

Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

selfLink

String

Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.

uid

String

UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

表116 io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference

参数

参数类型

描述

apiVersion

String

API version of the referent.

blockOwnerDeletion

Boolean

If true, AND if the owner has the "foregroundDeletion" finalizer,

then the owner cannot be deleted from the key-value store until this reference

is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion

for how the garbage collector interacts with this field and enforces the

foreground deletion. Defaults to false. To set this field, a user needs

"delete" permission of the owner, otherwise 422 (Unprocessable Entity) will

be returned.

controller

Boolean

If true, this reference points to the managing controller.

kind

String

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

String

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

uid

String

UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

表117 io.cci.api.pkg.apis.versioned.cci.v2.PodSpec

参数

参数类型

描述

activeDeadlineSeconds

Long

Optional duration in seconds the pod may be active on the node

relative to StartTime before the system will actively try to mark it failed

and kill associated containers. Value must be a positive integer.

affinity

io.cci.api.pkg.apis.versioned.cci.v2.Affinity object

If specified, the pod's scheduling constraints

containers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of containers belonging to the pod. Containers cannot currently

be added or removed. There must be at least one container in a Pod. Cannot

be updated.

dnsConfig

io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig object

Specifies the DNS parameters of a pod. Parameters specified here

will be merged to the generated DNS configuration based on DNSPolicy. When

DNSPolicy is 'None', DNSConfig must be provided.

dnsPolicy

String

Set DNS policy for the pod. Valid values are 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. Possible enum values:

  • "Default" indicates that the pod should use the default (as determined by kubelet) DNS settings.

  • "None" indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.

extraEphemeralStorage

io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage object

By default, pods receive a minimum of 30GiB of ephemeral storage.

The total amount of ephemeral storage can be increased. User can do this

by specifying the extra ephemeralStorage parameter.

hostAliases

Array of io.cci.api.pkg.apis.versioned.cci.v2.HostAlias objects

HostAliases is an optional list of hosts and IPs that will be

injected into the pod's hosts file if specified. This is only valid for

non-hostNetwork pods.

hostname

String

Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. Generally, the DNS_LABLE definition in RFC 1123 must be met. In burst scenarios, the DNS_SUBDOMAIN definition with a maximum length of 63 characters must be met. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

imagePullSecrets

Array of io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference objects

ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

initContainers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

restartPolicy

String

Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

Possible enum values:

  • "Always"

  • "Never"

  • "OnFailure"

setHostnameAsFQDN

Boolean

If true the pod's hostname will be configured as the pod's FQDN,

rather than the leaf name (the default). In Linux containers, this means

setting the FQDN in the hostname field of the kernel (the nodename field

of struct utsname). In Windows containers, this means setting the registry

value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

to FQDN. If a pod does not have FQDN, this has no effect. Default to false.

shareProcessNamespace

Boolean

Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.

terminationGracePeriodSeconds

Long

Optional duration in seconds the pod needs to terminate gracefully.

May be decreased in delete request. Value must be non-negative integer.

The value zero indicates stop immediately via the kill signal (no opportunity

to shut down). If this value is nil, the default grace period will be used

instead. The grace period is the duration in seconds after the processes

running in the pod are sent a termination signal and the time when the processes

are forcibly halted with a kill signal. Set this value longer than the expected

cleanup time for your process. Defaults to 30 seconds.

volumes

Array of io.cci.api.pkg.apis.versioned.cci.v2.Volume objects

List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes

表118 io.cci.api.pkg.apis.versioned.cci.v2.Affinity

参数

参数类型

描述

nodeAffinity

io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity object

Describes node affinity scheduling rules for the pod.

podAntiAffinity

io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity object

Describes pod anti-affinity scheduling rules (e.g. avoid putting

this pod in the same zone, etc. as some other pod(s)).

表119 io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity

参数

参数类型

描述

requiredDuringSchedulingIgnoredDuringExecution

io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector object

If the affinity requirements specified by this field are not

met at scheduling time, the pod will not be scheduled onto the node. If

the affinity requirements specified by this field cease to be met at some

point during pod execution (e.g. due to an update), the system may or may

not try to eventually evict the pod from its node.

表120 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector

参数

参数类型

描述

nodeSelectorTerms

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm objects

Required. A list of node selector terms. The terms are ORed.

表121 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm

参数

参数类型

描述

matchExpressions

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement objects

A list of node selector requirements by node's labels.

表122 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement

参数

参数类型

描述

key

String

The label key that the selector applies to. Only 'topology.kubernetes.io/zone',

'topology.kubernetes.io/region', 'failure-domain.beta.kubernetes.io/zone'

and 'failure-domain.beta.kubernetes.io/region' are supported. If other keys

are used, the affinity will be left empty

operator

String

Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Possible enum values:

  • "DoesNotExist"

  • "Exists"

  • "Gt"

  • "In"

  • "Lt"

  • "NotIn"

values

Array of strings

An array of string values. If the operator is In or NotIn, the

values array must be non-empty. If the operator is Exists or DoesNotExist,

the values array must be empty. If the operator is Gt or Lt, the values

array must have a single element, which will be interpreted as an integer.

This array is replaced during a strategic merge patch.

表123 io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity

参数

参数类型

描述

preferredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm objects

The scheduler will prefer to schedule pods to nodes that satisfy

the anti-affinity expressions specified by this field, but it may choose

a node that violates one or more of the expressions. The node that is most

preferred is the one with the greatest sum of weights, i.e. for each node

that meets all of the scheduling requirements (resource request, requiredDuringScheduling

anti-affinity expressions, etc.), compute a sum by iterating through the

elements of this field and adding "weight" to the sum if the node has pods

which matches the corresponding podAffinityTerm; the node(s) with the highest

sum are the most preferred.

requiredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm objects

If the anti-affinity requirements specified by this field are

not met at scheduling time, the pod will not be scheduled onto the node.

If the anti-affinity requirements specified by this field cease to be met

at some point during pod execution (e.g. due to a pod label update), the

system may or may not try to eventually evict the pod from its node. When

there are multiple elements, the lists of nodes corresponding to each podAffinityTerm

are intersected, i.e. all terms must be satisfied.

表124 io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm

参数

参数类型

描述

podAffinityTerm

io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm object

Required. A pod affinity term, associated with the corresponding

weight.

weight

Integer

weight associated with matching the corresponding podAffinityTerm,

in the range 1-100.

表125 io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm

参数

参数类型

描述

labelSelector

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

A label query over a set of resources, in this case pods.

namespaces

Array of strings

namespaces specifies a static list of namespace names that the

term applies to. The term is applied to the union of the namespaces listed

in this field and the ones selected by namespaceSelector. null or empty

namespaces list and null namespaceSelector means "this pod's namespace".

topologyKey

String

This pod should be co-located (affinity) or not co-located (anti-affinity)

with the pods matching the labelSelector in the specified namespaces, where

co-located is defined as running on a node whose value of the label with

key topologyKey matches that of any node on which any of the selected pods

is running. Empty topologyKey is not allowed.

表126 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector

参数

参数类型

描述

matchExpressions

Array of io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement objects

matchExpressions is a list of label selector requirements. The

requirements are ANDed.

matchLabels

Map<String,String>

matchLabels is a map of {key,value} pairs. A single {key,value}

in the matchLabels map is equivalent to an element of matchExpressions,

whose key field is "key", the operator is "In", and the values array contains

only "value". The requirements are ANDed.

表127 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement

参数

参数类型

描述

key

String

key is the label key that the selector applies to.

operator

String

operator represents a key's relationship to a set of values.

Valid operators are In, NotIn, Exists and DoesNotExist.

values

Array of strings

values is an array of string values. If the operator is In or

NotIn, the values array must be non-empty. If the operator is Exists or

DoesNotExist, the values array must be empty. This array is replaced during

a strategic merge patch.

表128 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig

参数

参数类型

描述

nameservers

Array of strings

A list of DNS name server IP addresses and the max length of

the list is 3. This will be appended to the base nameservers generated from

DNSPolicy. Duplicated nameservers will be removed and total number of nameservers

cannot exceed three, if exceeds, the extra part will be discarded and an

event alarm will be reported.

options

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption objects

A list of DNS resolver options. This will be merged with the

base options generated from DNSPolicy. Duplicated entries will be removed.

Resolution options given in Options will override those that appear in the

base DNSPolicy.

searches

Array of strings

A list of DNS search domains for host-name lookup. The max length

of the list is 3. Unless ExpandDNSConfig is enabled, the max length is 32.

This will be appended to the base search paths generated from DNSPolicy.

Duplicated search paths will be removed.

表129 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption

参数

参数类型

描述

name

String

Name is this DNS resolver option's name. Required.

value

String

Value is this DNS resolver option's value.

表130 io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage

参数

参数类型

描述

sizeInGiB

Integer

The size of the ephemeralStorage volume in gibibytes (GiB).

表131 io.cci.api.pkg.apis.versioned.cci.v2.HostAlias

参数

参数类型

描述

hostnames

Array of strings

Hostnames for the above IP address.

ip

String

IP address of the host file entry.

表132 io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference

参数

参数类型

描述

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

表133 io.cci.api.pkg.apis.versioned.cci.v2.Container

参数

参数类型

描述

args

Array of strings

Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

Array of strings

Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvVar objects

List of environment variables to set in the container. Cannot

be updated.

envFrom

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource objects

List of sources to populate environment variables in the container.

One source can only selected configMapRef or secretRef. The keys defined

within a source must be a C_IDENTIFIER. All invalid keys will be reported

as an event when the container is starting. When a key exists in multiple

sources, the value associated with the last source will take precedence.

Values defined by an Env with a duplicate key will take precedence. Cannot

be updated.

image

String

Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

lifecycle

io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle object

Actions that the management system should take in response to

container lifecycle events. Cannot be updated.

livenessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

name

String

Name of the container specified as a DNS_LABEL. Each container

in a pod must have a unique name (DNS_LABEL). Cannot be updated.

ports

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort objects

List of ports to expose from the container. Not specifying a

port here DOES NOT prevent that port from being exposed. Any port which

is listening on the default "0.0.0.0" address inside a container will be

accessible from the network. Modifying this array with strategic merge patch

may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255.

Cannot be updated.

readinessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

resources

io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements object

Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

startupProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

stdin

Boolean

Whether this container should allocate a buffer for stdin in

the container runtime. If this is not set, reads from stdin in the container

will always result in EOF. Default is false.

terminationMessagePath

String

Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.

terminationMessagePolicy

String

Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.

Possible enum values:

  • "FallbackToLogsOnError" will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents.

  • "File" is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.

tty

Boolean

Whether this container should allocate a TTY for itself, also

requires 'stdin' to be true. Default is false.

volumeMounts

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount objects

Pod volumes to mount into the container's filesystem. Cannot

be updated.

workingDir

String

Container's working directory. If not specified, the container

runtime's default will be used, which might be configured in the container

image. Cannot be updated. Only absolute paths are supported

表134 io.cci.api.pkg.apis.versioned.cci.v2.EnvVar

参数

参数类型

描述

name

String

Name of the environment variable. Must be a C_IDENTIFIER. If

the name is duplicated, the later value will overwrite the earlier value.

A valid environment variable name must consist of alphabetic characters,

digits, '_', '-', or '.', and must not start with a digit

value

String

Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

valueFrom

io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource object

Source for the environment variable's value. Select one from

configMapKeyRef, secretKeyRef, fieldRef and resourceFieldRef. The env value

may be rounded. Cannot be used if value is not empty.

表135 io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource

参数

参数类型

描述

configMapKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector object

Selects a key of a ConfigMap.

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu, requests.memory) are currently supported.

secretKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector object

Selects a key of a secret in the pod's namespace

表136 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector

参数

参数类型

描述

key

String

The key to select. A valid config key must consist of alphanumeric

characters, '-', '_' or '.', and length cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap or its key must be defined

表137 io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector

参数

参数类型

描述

key

String

The key of the secret to select from. Must be a valid secret

key which consist of alphanumeric characters, '-', '_' or '.', and length

cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret or its key must be defined

表138 io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource

参数

参数类型

描述

configMapRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource object

The ConfigMap to select from

prefix

String

An optional identifier to prepend to each key in the ConfigMap

or Secret. Must be a C_IDENTIFIER. A valid environment variable name must

consist of alphabetic characters, digits, '_', '-', or '.', and must not

start with a digit

secretRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource object

The Secret to select from

表139 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource

参数

参数类型

描述

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap must be defined

表140 io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource

参数

参数类型

描述

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret must be defined

表141 io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle

参数

参数类型

描述

postStart

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

表142 io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler

参数

参数类型

描述

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

表143 io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort

参数

参数类型

描述

containerPort

Integer

Number of port to expose on the pod's IP address. This must be

a valid port number, 0 < x < 65536.

name

String

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. Complies with RFC 6335 standards. More info: https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/identifiers.md

protocol

String

Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".

Possible enum values:

  • "SCTP" is the SCTP protocol.

  • "TCP" is the TCP protocol.

  • "UDP" is the UDP protocol.

表144 io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements

参数

参数类型

描述

limits

Map<String,String>

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

Map<String,String>

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

表145 io.cci.api.pkg.apis.versioned.cci.v2.Probe

参数

参数类型

描述

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

failureThreshold

Integer

Minimum consecutive failures for the probe to be considered failed

after having succeeded. Defaults to 3. Minimum value is 1.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

initialDelaySeconds

Integer

Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

Integer

How often (in seconds) to perform the probe. Default to 10 seconds.

Minimum value is 1.

successThreshold

Integer

Minimum consecutive successes for the probe to be considered

successful after having failed. Defaults to 1. Must be 1 for liveness and

startup. Minimum value is 1.

tcpSocket

io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction object

TCPSocket specifies an action involving a TCP port.

timeoutSeconds

Integer

Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

表146 io.cci.api.pkg.apis.versioned.cci.v2.ExecAction

参数

参数类型

描述

command

Array of strings

Command is the command line to execute inside the container,

the working directory for the command is root ('/') in the container's

filesystem. The command is simply exec'd, it is not run inside a shell,

so traditional shell instructions ('|', etc) won't work. To use a shell,

you need to explicitly call out to that shell. Exit status of 0 is treated

as live/healthy and non-zero is unhealthy.

表147 io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction

参数

参数类型

描述

host

String

Host name to connect to, defaults to the pod IP. You probably

want to set "Host" in httpHeaders instead.

httpHeaders

Array of io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader objects

Custom headers to set in the request. HTTP allows repeated headers.

path

String

Path to access on the HTTP server.

port

String

Name or number of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

scheme

String

Scheme to use for connecting to the host. Defaults to HTTP.

Possible enum values:

  • "HTTP" means that the scheme used will be http://

  • "HTTPS" means that the scheme used will be https://

表148 io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader

参数

参数类型

描述

name

String

The header field name

value

String

The header field value

表149 io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction

参数

参数类型

描述

host

String

Optional: Host name to connect to, defaults to the pod IP.

port

String

Number or name of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

表150 io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount

参数

参数类型

描述

extendPathMode

String

Extend the volume path by appending the pod metadata to the path

according to specified pattern. which provide a way of directory isolation

and help prevent the writing conflict between different pods.

mountPath

String

Path within the container at which the volume should be mounted.

name

String

This must match the Name of a Volume.

readOnly

Boolean

Mounted read-only if true, read-write otherwise (false or unspecified).

Defaults to false.

subPath

String

Path within the volume from which the container's volume should

be mounted. Defaults to "" (volume's root). Absolute paths cannot be used.

subPathExpr

String

Expanded path within the volume from which the container's volume

should be mounted. Behaves similarly to SubPath but environment variable

references $(VAR_NAME) are expanded using the container's environment. Defaults

to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.

表151 io.cci.api.pkg.apis.versioned.cci.v2.Volume

参数

参数类型

描述

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource object

configMap represents a configMap that should populate this volume

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource object

downwardAPI represents downward API about the pod that should

populate this volume

emptyDir

io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource object

emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

name

String

name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

persistentVolumeClaim

io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource object

persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

projected

io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource object

projected items for all in one resources secrets, configmaps,

and downward API

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource object

secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

表152 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource

参数

参数类型

描述

defaultMode

Integer

defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be covered. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

表153 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource

参数

参数类型

描述

defaultMode

Integer

Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of downward API volume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be covered.

表154 io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource

参数

参数类型

描述

medium

String

medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

String

sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. It takes effect only when medium is memory. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

表155 io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource

参数

参数类型

描述

claimName

String

claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

Boolean

readOnly Will force the ReadOnly setting in VolumeMounts. Default

false.

表156 io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource

参数

参数类型

描述

defaultMode

Integer

defaultMode are the mode bits used to set permissions on created

files by default. Must be an octal value between 0000 and 0777 or a decimal

value between 0 and 511. YAML accepts both octal and decimal values, JSON

requires decimal values for mode bits. Directories within the path are not

affected by this setting. This might be in conflict with other options that

affect the file mode, like fsGroup, and the result can be other mode bits

set.

sources

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection objects

sources is the list of volume projections

表157 io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection

参数

参数类型

描述

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection object

configMap information about the configMap data to project

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection object

downwardAPI information about the downwardAPI data to project

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection object

secret information about the secret data to project

表158 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection

参数

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be rejected. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

表159 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection

参数

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of DownwardAPIVolume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be rejected.

表160 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile

参数

参数类型

描述

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Required: Selects a field of the pod: only annotations, labels, uid, name and namespace are supported.

mode

Integer

Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

表161 io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector

参数

参数类型

描述

apiVersion

String

Version of the schema the FieldPath is written in terms of, defaults

to "v1". Only "v1" is supported currently

fieldPath

String

Path of the field to select in the specified API version. Only

annotations, labels, uid, name and namespace are supported.

表162 io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector

参数

参数类型

描述

containerName

String

Container name: required for volumes, optional for env vars

divisor

String

Specifies the output format of the exposed resources, defaults to "1". If divisor is set to zero or is not set, the configuration is displayed as zero, but actually still use the default "1". More info: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/#Quantity

resource

String

Required: resource to select, only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

表163 io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection

参数

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be rejected. Paths must be relative and may not contain the

'..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional field specify whether the Secret or its key must be

defined

表164 io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource

参数

参数类型

描述

defaultMode

Integer

defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items If unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be covered. Paths must be relative and may not contain the

'..' path or start with '..'.

optional

Boolean

optional field specify whether the Secret or its keys must be

defined

secretName

String

secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

表165 io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath

参数

参数类型

描述

key

String

key is the key to project.

mode

Integer

mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

path is the relative path of the file to map the key to. May

not be an absolute path. May not contain the path element '..'. May not

start with the string '..'.

表166 io.cci.api.pkg.apis.versioned.cci.v2.PodStatus

参数

参数类型

描述

conditions

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodCondition objects

Current service state of pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

containerStatuses

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerStatus objects

The list has one entry per container in the manifest. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status

initContainerStatuses

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerStatus objects

The list has one entry per init container in the manifest. The most recent successful init container will have ready = true, the most recently started container will have startTime set. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status

message

String

A human readable message indicating details about why the pod

is in this condition.

phase

String

The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle. The conditions array, the reason and message fields, and the individual container status arrays contain more detail about the pod's status. There are five possible phase values:

Pending: The pod has been accepted by the Kubernetes system, but one or more of the container images has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while. Running: The pod has been bound to a node, and all of the containers have been created. At least one container is still running, or is in the process of starting or restarting. Succeeded: All containers in the pod have terminated in success, and will not be restarted. Failed: All containers in the pod have terminated, and at least one container has terminated in failure. The container either exited with non-zero status or was terminated by the system. Unknown: For some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod.

More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase

Possible enum values:

  • "Failed" means that all containers in the pod have terminated, and at least one container has terminated in a failure (exited with a non-zero exit code or was stopped by the system).

  • "Pending" means the pod has been accepted by the system, but one or more of the containers has not been started. This includes time before being bound to a node, as well as time spent pulling images onto the host.

  • "Running" means the pod has been bound to a node and all of the containers have been started. At least one container is still running or is in the process of being restarted.

  • "Stopped" means that the pod has been stopped

  • "Succeeded" means that all containers in the pod have voluntarily terminated with a container exit code of 0, and the system is not going to restart any of these containers.

  • "Unknown" means that for some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod. Deprecated: It isn't being set since 2015 (74da3b14b0c0f658b3bb8d2def5094686d0e9095)

podIP

String

IP address allocated to the pod. Routable at least within the

cluster. Empty if not yet allocated.

podIPs

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodIP objects

podIPs holds the IP addresses allocated to the pod. If this field

is specified, the 0th entry must match the podIP field. Pods may be allocated

at most 1 value for each of IPv4 and IPv6. This list is empty if no IPs

have been allocated yet.

qosClass

String

The Quality of Service (QOS) classification assigned to the pod based on resource requirements See PodQOSClass type for available QOS classes More info: https://git.k8s.io/community/contributors/design-proposals/node/resource-qos.md

Possible enum values:

  • "BestEffort" is the BestEffort qos class.

  • "Burstable" is the Burstable qos class.

  • "Guaranteed" is the Guaranteed qos class.

reason

String

A brief CamelCase message indicating details about why the pod

is in this state. e.g. 'Evicted'

startTime

String

RFC 3339 date and time at which the object was acknowledged by

the Kubelet. This is before the Kubelet pulled the container image(s) for

the pod.

表167 io.cci.api.pkg.apis.versioned.cci.v2.PodCondition

参数

参数类型

描述

lastProbeTime

String

Last time we probed the condition.

lastTransitionTime

String

Last time the condition transitioned from one status to another.

message

String

Human-readable message indicating details about last transition.

reason

String

Unique, one-word, CamelCase reason for the condition's last transition.

status

String

Status is the status of the condition. Can be True, False, Unknown. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

type

String

Type is the type of the condition. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

表168 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStatus

参数

参数类型

描述

containerID

String

Container's ID in the format '[/topic/body/section/table/tgroup/tbody/row/entry/p/br {""})(br]://<container_id>'.

image

String

The image the container is running. More info: https://kubernetes.io/docs/concepts/containers/images.

imageID

String

ImageID of the container's image.

lastState

io.cci.api.pkg.apis.versioned.cci.v2.ContainerState object

Details about the container's last termination condition.

name

String

This must be a DNS_LABEL. Each container in a pod must have a

unique name. Cannot be updated.

ready

Boolean

Specifies whether the container has passed its readiness probe.

restartCount

Integer

The number of times the container has been restarted.

started

Boolean

Specifies whether the container has passed its startup probe.

Initialized as false, becomes true after startupProbe is considered successful.

Resets to false when the container is restarted, or if kubelet loses state

temporarily. Is always true when no startupProbe is defined.

state

io.cci.api.pkg.apis.versioned.cci.v2.ContainerState object

Details about the container's current condition.

表169 io.cci.api.pkg.apis.versioned.cci.v2.ContainerState

参数

参数类型

描述

running

io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateRunning object

Details about a running container

terminated

io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateTerminated object

Details about a terminated container

waiting

io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateWaiting object

Details about a waiting container

表170 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateRunning

参数

参数类型

描述

startedAt

String

Time at which the container was last (re-)started

表171 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateTerminated

参数

参数类型

描述

containerID

String

Container's ID in the format '[/topic/body/section/table/tgroup/tbody/row/entry/p/br {""})(br]://<container_id>'

exitCode

Integer

Exit status from the last termination of the container

finishedAt

String

Time at which the container last terminated

message

String

Message regarding the last termination of the container

reason

String

(brief) reason from the last termination of the container

signal

Integer

Signal from the last termination of the container

startedAt

String

Time at which previous execution of the container started

表172 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateWaiting

参数

参数类型

描述

message

String

Message regarding why the container is not yet running.

reason

String

(brief) reason the container is not yet running.

表173 io.cci.api.pkg.apis.versioned.cci.v2.PodIP

参数

参数类型

描述

ip

String

ip is an IP address (IPv4 or IPv6) assigned to the pod

状态码:202

表174 响应Body参数

参数

参数类型

描述

apiVersion

String

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

String

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

io.cci.api.pkg.apis.versioned.cci.v2.PodMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

io.cci.api.pkg.apis.versioned.cci.v2.PodSpec object

Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

status

io.cci.api.pkg.apis.versioned.cci.v2.PodStatus object

Most recently observed status of the pod. This data may not be up to date. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

表175 io.cci.api.pkg.apis.versioned.cci.v2.PodMeta

参数

参数类型

描述

annotations

Map<String,String>

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. Here is the support annotations of CCI: CCI Pod Annotations. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations

creationTimestamp

String

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

deletionGracePeriodSeconds

Long

Number of seconds allowed for this object to gracefully terminate

before it will be removed from the system. Only set when deletionTimestamp

is also set. May only be shortened. Read-only.

deletionTimestamp

String

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

finalizers

Array of strings

Must be empty before the object is deleted from the registry.

Each entry is an identifier for the responsible component that will remove

the entry from the list. If the deletionTimestamp of the object is non-nil,

entries in this list can only be removed. Finalizers may be processed and

removed in any order. Order is NOT enforced because it introduces significant

risk of stuck finalizers. finalizers is a shared field, any actor with permission

can reorder it. If the finalizer list is processed in order, then this can

lead to a situation in which the component responsible for the first finalizer

in the list is waiting for a signal (field value, external system, or other)

produced by a component responsible for a finalizer later in the list, resulting

in a deadlock. Without enforced ordering finalizers are free to order amongst

themselves and are not vulnerable to ordering changes in the list.

generateName

String

GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.

If this field is specified and the generated name exists, the server will return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

generation

Long

A sequence number representing a specific generation of the desired

state. Populated by the system. Read-only.

labels

Map<String,String>

Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

name

String

Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

String

Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.

Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces

ownerReferences

Array of io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference objects

List of objects depended by this object. If ALL objects in the

list have been deleted, this object will be garbage collected. If this object

is managed by a controller, then an entry in this list will point to this

controller, with the controller field set to true. There cannot be more

than one managing controller.

resourceVersion

String

An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.

Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

selfLink

String

Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.

uid

String

UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

表176 io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference

参数

参数类型

描述

apiVersion

String

API version of the referent.

blockOwnerDeletion

Boolean

If true, AND if the owner has the "foregroundDeletion" finalizer,

then the owner cannot be deleted from the key-value store until this reference

is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion

for how the garbage collector interacts with this field and enforces the

foreground deletion. Defaults to false. To set this field, a user needs

"delete" permission of the owner, otherwise 422 (Unprocessable Entity) will

be returned.

controller

Boolean

If true, this reference points to the managing controller.

kind

String

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

String

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

uid

String

UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

表177 io.cci.api.pkg.apis.versioned.cci.v2.PodSpec

参数

参数类型

描述

activeDeadlineSeconds

Long

Optional duration in seconds the pod may be active on the node

relative to StartTime before the system will actively try to mark it failed

and kill associated containers. Value must be a positive integer.

affinity

io.cci.api.pkg.apis.versioned.cci.v2.Affinity object

If specified, the pod's scheduling constraints

containers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of containers belonging to the pod. Containers cannot currently

be added or removed. There must be at least one container in a Pod. Cannot

be updated.

dnsConfig

io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig object

Specifies the DNS parameters of a pod. Parameters specified here

will be merged to the generated DNS configuration based on DNSPolicy. When

DNSPolicy is 'None', DNSConfig must be provided.

dnsPolicy

String

Set DNS policy for the pod. Valid values are 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. Possible enum values:

  • "Default" indicates that the pod should use the default (as determined by kubelet) DNS settings.

  • "None" indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.

extraEphemeralStorage

io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage object

By default, pods receive a minimum of 30GiB of ephemeral storage.

The total amount of ephemeral storage can be increased. User can do this

by specifying the extra ephemeralStorage parameter.

hostAliases

Array of io.cci.api.pkg.apis.versioned.cci.v2.HostAlias objects

HostAliases is an optional list of hosts and IPs that will be

injected into the pod's hosts file if specified. This is only valid for

non-hostNetwork pods.

hostname

String

Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. Generally, the DNS_LABLE definition in RFC 1123 must be met. In burst scenarios, the DNS_SUBDOMAIN definition with a maximum length of 63 characters must be met. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

imagePullSecrets

Array of io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference objects

ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod

initContainers

Array of io.cci.api.pkg.apis.versioned.cci.v2.Container objects

List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

restartPolicy

String

Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy

Possible enum values:

  • "Always"

  • "Never"

  • "OnFailure"

setHostnameAsFQDN

Boolean

If true the pod's hostname will be configured as the pod's FQDN,

rather than the leaf name (the default). In Linux containers, this means

setting the FQDN in the hostname field of the kernel (the nodename field

of struct utsname). In Windows containers, this means setting the registry

value of hostname for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

to FQDN. If a pod does not have FQDN, this has no effect. Default to false.

shareProcessNamespace

Boolean

Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.

terminationGracePeriodSeconds

Long

Optional duration in seconds the pod needs to terminate gracefully.

May be decreased in delete request. Value must be non-negative integer.

The value zero indicates stop immediately via the kill signal (no opportunity

to shut down). If this value is nil, the default grace period will be used

instead. The grace period is the duration in seconds after the processes

running in the pod are sent a termination signal and the time when the processes

are forcibly halted with a kill signal. Set this value longer than the expected

cleanup time for your process. Defaults to 30 seconds.

volumes

Array of io.cci.api.pkg.apis.versioned.cci.v2.Volume objects

List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes

表178 io.cci.api.pkg.apis.versioned.cci.v2.Affinity

参数

参数类型

描述

nodeAffinity

io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity object

Describes node affinity scheduling rules for the pod.

podAntiAffinity

io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity object

Describes pod anti-affinity scheduling rules (e.g. avoid putting

this pod in the same zone, etc. as some other pod(s)).

表179 io.cci.api.pkg.apis.versioned.cci.v2.NodeAffinity

参数

参数类型

描述

requiredDuringSchedulingIgnoredDuringExecution

io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector object

If the affinity requirements specified by this field are not

met at scheduling time, the pod will not be scheduled onto the node. If

the affinity requirements specified by this field cease to be met at some

point during pod execution (e.g. due to an update), the system may or may

not try to eventually evict the pod from its node.

表180 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelector

参数

参数类型

描述

nodeSelectorTerms

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm objects

Required. A list of node selector terms. The terms are ORed.

表181 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorTerm

参数

参数类型

描述

matchExpressions

Array of io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement objects

A list of node selector requirements by node's labels.

表182 io.cci.api.pkg.apis.versioned.cci.v2.NodeSelectorRequirement

参数

参数类型

描述

key

String

The label key that the selector applies to. Only 'topology.kubernetes.io/zone',

'topology.kubernetes.io/region', 'failure-domain.beta.kubernetes.io/zone'

and 'failure-domain.beta.kubernetes.io/region' are supported. If other keys

are used, the affinity will be left empty

operator

String

Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.

Possible enum values:

  • "DoesNotExist"

  • "Exists"

  • "Gt"

  • "In"

  • "Lt"

  • "NotIn"

values

Array of strings

An array of string values. If the operator is In or NotIn, the

values array must be non-empty. If the operator is Exists or DoesNotExist,

the values array must be empty. If the operator is Gt or Lt, the values

array must have a single element, which will be interpreted as an integer.

This array is replaced during a strategic merge patch.

表183 io.cci.api.pkg.apis.versioned.cci.v2.PodAntiAffinity

参数

参数类型

描述

preferredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm objects

The scheduler will prefer to schedule pods to nodes that satisfy

the anti-affinity expressions specified by this field, but it may choose

a node that violates one or more of the expressions. The node that is most

preferred is the one with the greatest sum of weights, i.e. for each node

that meets all of the scheduling requirements (resource request, requiredDuringScheduling

anti-affinity expressions, etc.), compute a sum by iterating through the

elements of this field and adding "weight" to the sum if the node has pods

which matches the corresponding podAffinityTerm; the node(s) with the highest

sum are the most preferred.

requiredDuringSchedulingIgnoredDuringExecution

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm objects

If the anti-affinity requirements specified by this field are

not met at scheduling time, the pod will not be scheduled onto the node.

If the anti-affinity requirements specified by this field cease to be met

at some point during pod execution (e.g. due to a pod label update), the

system may or may not try to eventually evict the pod from its node. When

there are multiple elements, the lists of nodes corresponding to each podAffinityTerm

are intersected, i.e. all terms must be satisfied.

表184 io.cci.api.pkg.apis.versioned.cci.v2.WeightedPodAffinityTerm

参数

参数类型

描述

podAffinityTerm

io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm object

Required. A pod affinity term, associated with the corresponding

weight.

weight

Integer

weight associated with matching the corresponding podAffinityTerm,

in the range 1-100.

表185 io.cci.api.pkg.apis.versioned.cci.v2.PodAffinityTerm

参数

参数类型

描述

labelSelector

io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector object

A label query over a set of resources, in this case pods.

namespaces

Array of strings

namespaces specifies a static list of namespace names that the

term applies to. The term is applied to the union of the namespaces listed

in this field and the ones selected by namespaceSelector. null or empty

namespaces list and null namespaceSelector means "this pod's namespace".

topologyKey

String

This pod should be co-located (affinity) or not co-located (anti-affinity)

with the pods matching the labelSelector in the specified namespaces, where

co-located is defined as running on a node whose value of the label with

key topologyKey matches that of any node on which any of the selected pods

is running. Empty topologyKey is not allowed.

表186 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector

参数

参数类型

描述

matchExpressions

Array of io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement objects

matchExpressions is a list of label selector requirements. The

requirements are ANDed.

matchLabels

Map<String,String>

matchLabels is a map of {key,value} pairs. A single {key,value}

in the matchLabels map is equivalent to an element of matchExpressions,

whose key field is "key", the operator is "In", and the values array contains

only "value". The requirements are ANDed.

表187 io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement

参数

参数类型

描述

key

String

key is the label key that the selector applies to.

operator

String

operator represents a key's relationship to a set of values.

Valid operators are In, NotIn, Exists and DoesNotExist.

values

Array of strings

values is an array of string values. If the operator is In or

NotIn, the values array must be non-empty. If the operator is Exists or

DoesNotExist, the values array must be empty. This array is replaced during

a strategic merge patch.

表188 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfig

参数

参数类型

描述

nameservers

Array of strings

A list of DNS name server IP addresses and the max length of

the list is 3. This will be appended to the base nameservers generated from

DNSPolicy. Duplicated nameservers will be removed and total number of nameservers

cannot exceed three, if exceeds, the extra part will be discarded and an

event alarm will be reported.

options

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption objects

A list of DNS resolver options. This will be merged with the

base options generated from DNSPolicy. Duplicated entries will be removed.

Resolution options given in Options will override those that appear in the

base DNSPolicy.

searches

Array of strings

A list of DNS search domains for host-name lookup. The max length

of the list is 3. Unless ExpandDNSConfig is enabled, the max length is 32.

This will be appended to the base search paths generated from DNSPolicy.

Duplicated search paths will be removed.

表189 io.cci.api.pkg.apis.versioned.cci.v2.PodDNSConfigOption

参数

参数类型

描述

name

String

Name is this DNS resolver option's name. Required.

value

String

Value is this DNS resolver option's value.

表190 io.cci.api.pkg.apis.versioned.cci.v2.EphemeralStorage

参数

参数类型

描述

sizeInGiB

Integer

The size of the ephemeralStorage volume in gibibytes (GiB).

表191 io.cci.api.pkg.apis.versioned.cci.v2.HostAlias

参数

参数类型

描述

hostnames

Array of strings

Hostnames for the above IP address.

ip

String

IP address of the host file entry.

表192 io.cci.api.pkg.apis.versioned.cci.v2.LocalObjectReference

参数

参数类型

描述

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

表193 io.cci.api.pkg.apis.versioned.cci.v2.Container

参数

参数类型

描述

args

Array of strings

Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

command

Array of strings

Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

env

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvVar objects

List of environment variables to set in the container. Cannot

be updated.

envFrom

Array of io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource objects

List of sources to populate environment variables in the container.

One source can only selected configMapRef or secretRef. The keys defined

within a source must be a C_IDENTIFIER. All invalid keys will be reported

as an event when the container is starting. When a key exists in multiple

sources, the value associated with the last source will take precedence.

Values defined by an Env with a duplicate key will take precedence. Cannot

be updated.

image

String

Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.

lifecycle

io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle object

Actions that the management system should take in response to

container lifecycle events. Cannot be updated.

livenessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

name

String

Name of the container specified as a DNS_LABEL. Each container

in a pod must have a unique name (DNS_LABEL). Cannot be updated.

ports

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort objects

List of ports to expose from the container. Not specifying a

port here DOES NOT prevent that port from being exposed. Any port which

is listening on the default "0.0.0.0" address inside a container will be

accessible from the network. Modifying this array with strategic merge patch

may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255.

Cannot be updated.

readinessProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

resources

io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements object

Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

startupProbe

io.cci.api.pkg.apis.versioned.cci.v2.Probe object

StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

stdin

Boolean

Whether this container should allocate a buffer for stdin in

the container runtime. If this is not set, reads from stdin in the container

will always result in EOF. Default is false.

terminationMessagePath

String

Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.

terminationMessagePolicy

String

Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.

Possible enum values:

  • "FallbackToLogsOnError" will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents.

  • "File" is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.

tty

Boolean

Whether this container should allocate a TTY for itself, also

requires 'stdin' to be true. Default is false.

volumeMounts

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount objects

Pod volumes to mount into the container's filesystem. Cannot

be updated.

workingDir

String

Container's working directory. If not specified, the container

runtime's default will be used, which might be configured in the container

image. Cannot be updated. Only absolute paths are supported

表194 io.cci.api.pkg.apis.versioned.cci.v2.EnvVar

参数

参数类型

描述

name

String

Name of the environment variable. Must be a C_IDENTIFIER. If

the name is duplicated, the later value will overwrite the earlier value.

A valid environment variable name must consist of alphabetic characters,

digits, '_', '-', or '.', and must not start with a digit

value

String

Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".

valueFrom

io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource object

Source for the environment variable's value. Select one from

configMapKeyRef, secretKeyRef, fieldRef and resourceFieldRef. The env value

may be rounded. Cannot be used if value is not empty.

表195 io.cci.api.pkg.apis.versioned.cci.v2.EnvVarSource

参数

参数类型

描述

configMapKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector object

Selects a key of a ConfigMap.

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels['<KEY>'], metadata.annotations['<KEY>'], spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu, requests.memory) are currently supported.

secretKeyRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector object

Selects a key of a secret in the pod's namespace

表196 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapKeySelector

参数

参数类型

描述

key

String

The key to select. A valid config key must consist of alphanumeric

characters, '-', '_' or '.', and length cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap or its key must be defined

表197 io.cci.api.pkg.apis.versioned.cci.v2.SecretKeySelector

参数

参数类型

描述

key

String

The key of the secret to select from. Must be a valid secret

key which consist of alphanumeric characters, '-', '_' or '.', and length

cannot exceed 253

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret or its key must be defined

表198 io.cci.api.pkg.apis.versioned.cci.v2.EnvFromSource

参数

参数类型

描述

configMapRef

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource object

The ConfigMap to select from

prefix

String

An optional identifier to prepend to each key in the ConfigMap

or Secret. Must be a C_IDENTIFIER. A valid environment variable name must

consist of alphabetic characters, digits, '_', '-', or '.', and must not

start with a digit

secretRef

io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource object

The Secret to select from

表199 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapEnvSource

参数

参数类型

描述

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the ConfigMap must be defined

表200 io.cci.api.pkg.apis.versioned.cci.v2.SecretEnvSource

参数

参数类型

描述

name

String

Name of the referent. Complies with the definition of DNS_SUBDOMAIN in RFC 1123. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

Specify whether the Secret must be defined

表201 io.cci.api.pkg.apis.versioned.cci.v2.Lifecycle

参数

参数类型

描述

postStart

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PostStart is called immediately after a container is created. If the handler fails, the container is terminated and restarted according to its restart policy. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

preStop

io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler object

PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The Pod's termination grace period countdown begins before the PreStop hook is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period (unless delayed by finalizers). Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks

表202 io.cci.api.pkg.apis.versioned.cci.v2.LifecycleHandler

参数

参数类型

描述

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

表203 io.cci.api.pkg.apis.versioned.cci.v2.ContainerPort

参数

参数类型

描述

containerPort

Integer

Number of port to expose on the pod's IP address. This must be

a valid port number, 0 < x < 65536.

name

String

If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services. Complies with RFC 6335 standards. More info: https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/identifiers.md

protocol

String

Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".

Possible enum values:

  • "SCTP" is the SCTP protocol.

  • "TCP" is the TCP protocol.

  • "UDP" is the UDP protocol.

表204 io.cci.api.pkg.apis.versioned.cci.v2.ResourceRequirements

参数

参数类型

描述

limits

Map<String,String>

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

Map<String,String>

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

表205 io.cci.api.pkg.apis.versioned.cci.v2.Probe

参数

参数类型

描述

exec

io.cci.api.pkg.apis.versioned.cci.v2.ExecAction object

Exec specifies the action to take.

failureThreshold

Integer

Minimum consecutive failures for the probe to be considered failed

after having succeeded. Defaults to 3. Minimum value is 1.

httpGet

io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction object

HTTPGet specifies the http request to perform.

initialDelaySeconds

Integer

Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

periodSeconds

Integer

How often (in seconds) to perform the probe. Default to 10 seconds.

Minimum value is 1.

successThreshold

Integer

Minimum consecutive successes for the probe to be considered

successful after having failed. Defaults to 1. Must be 1 for liveness and

startup. Minimum value is 1.

tcpSocket

io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction object

TCPSocket specifies an action involving a TCP port.

timeoutSeconds

Integer

Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

表206 io.cci.api.pkg.apis.versioned.cci.v2.ExecAction

参数

参数类型

描述

command

Array of strings

Command is the command line to execute inside the container,

the working directory for the command is root ('/') in the container's

filesystem. The command is simply exec'd, it is not run inside a shell,

so traditional shell instructions ('|', etc) won't work. To use a shell,

you need to explicitly call out to that shell. Exit status of 0 is treated

as live/healthy and non-zero is unhealthy.

表207 io.cci.api.pkg.apis.versioned.cci.v2.HTTPGetAction

参数

参数类型

描述

host

String

Host name to connect to, defaults to the pod IP. You probably

want to set "Host" in httpHeaders instead.

httpHeaders

Array of io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader objects

Custom headers to set in the request. HTTP allows repeated headers.

path

String

Path to access on the HTTP server.

port

String

Name or number of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

scheme

String

Scheme to use for connecting to the host. Defaults to HTTP.

Possible enum values:

  • "HTTP" means that the scheme used will be http://

  • "HTTPS" means that the scheme used will be https://

表208 io.cci.api.pkg.apis.versioned.cci.v2.HTTPHeader

参数

参数类型

描述

name

String

The header field name

value

String

The header field value

表209 io.cci.api.pkg.apis.versioned.cci.v2.TCPSocketAction

参数

参数类型

描述

host

String

Optional: Host name to connect to, defaults to the pod IP.

port

String

Number or name of the port to access on the container. Number

must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.

表210 io.cci.api.pkg.apis.versioned.cci.v2.VolumeMount

参数

参数类型

描述

extendPathMode

String

Extend the volume path by appending the pod metadata to the path

according to specified pattern. which provide a way of directory isolation

and help prevent the writing conflict between different pods.

mountPath

String

Path within the container at which the volume should be mounted.

name

String

This must match the Name of a Volume.

readOnly

Boolean

Mounted read-only if true, read-write otherwise (false or unspecified).

Defaults to false.

subPath

String

Path within the volume from which the container's volume should

be mounted. Defaults to "" (volume's root). Absolute paths cannot be used.

subPathExpr

String

Expanded path within the volume from which the container's volume

should be mounted. Behaves similarly to SubPath but environment variable

references $(VAR_NAME) are expanded using the container's environment. Defaults

to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.

表211 io.cci.api.pkg.apis.versioned.cci.v2.Volume

参数

参数类型

描述

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource object

configMap represents a configMap that should populate this volume

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource object

downwardAPI represents downward API about the pod that should

populate this volume

emptyDir

io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource object

emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

name

String

name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

persistentVolumeClaim

io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource object

persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

projected

io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource object

projected items for all in one resources secrets, configmaps,

and downward API

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource object

secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

表212 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapVolumeSource

参数

参数类型

描述

defaultMode

Integer

defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be covered. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

表213 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeSource

参数

参数类型

描述

defaultMode

Integer

Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of downward API volume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be covered.

表214 io.cci.api.pkg.apis.versioned.cci.v2.EmptyDirVolumeSource

参数

参数类型

描述

medium

String

medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir

sizeLimit

String

sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. It takes effect only when medium is memory. More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir

表215 io.cci.api.pkg.apis.versioned.cci.v2.PersistentVolumeClaimVolumeSource

参数

参数类型

描述

claimName

String

claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims

readOnly

Boolean

readOnly Will force the ReadOnly setting in VolumeMounts. Default

false.

表216 io.cci.api.pkg.apis.versioned.cci.v2.ProjectedVolumeSource

参数

参数类型

描述

defaultMode

Integer

defaultMode are the mode bits used to set permissions on created

files by default. Must be an octal value between 0000 and 0777 or a decimal

value between 0 and 511. YAML accepts both octal and decimal values, JSON

requires decimal values for mode bits. Directories within the path are not

affected by this setting. This might be in conflict with other options that

affect the file mode, like fsGroup, and the result can be other mode bits

set.

sources

Array of io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection objects

sources is the list of volume projections

表217 io.cci.api.pkg.apis.versioned.cci.v2.VolumeProjection

参数

参数类型

描述

configMap

io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection object

configMap information about the configMap data to project

downwardAPI

io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection object

downwardAPI information about the downwardAPI data to project

secret

io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection object

secret information about the secret data to project

表218 io.cci.api.pkg.apis.versioned.cci.v2.ConfigMapProjection

参数

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced ConfigMap will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the ConfigMap, the

volume setup will error unless it is marked optional. Different keys point

to the same path will be rejected. Paths must be relative and may not contain

the '..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional specify whether the ConfigMap or its keys must be defined

表219 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIProjection

参数

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile objects

Items is a list of DownwardAPIVolume file. Select one between

resourceFieldRef and fieldRef to reference. Different references point to

the same path will be rejected.

表220 io.cci.api.pkg.apis.versioned.cci.v2.DownwardAPIVolumeFile

参数

参数类型

描述

fieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector object

Required: Selects a field of the pod: only annotations, labels, uid, name and namespace are supported.

mode

Integer

Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'

resourceFieldRef

io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector object

Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

表221 io.cci.api.pkg.apis.versioned.cci.v2.ObjectFieldSelector

参数

参数类型

描述

apiVersion

String

Version of the schema the FieldPath is written in terms of, defaults

to "v1". Only "v1" is supported currently

fieldPath

String

Path of the field to select in the specified API version. Only

annotations, labels, uid, name and namespace are supported.

表222 io.cci.api.pkg.apis.versioned.cci.v2.ResourceFieldSelector

参数

参数类型

描述

containerName

String

Container name: required for volumes, optional for env vars

divisor

String

Specifies the output format of the exposed resources, defaults to "1". If divisor is set to zero or is not set, the configuration is displayed as zero, but actually still use the default "1". More info: https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/#Quantity

resource

String

Required: resource to select, only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.

表223 io.cci.api.pkg.apis.versioned.cci.v2.SecretProjection

参数

参数类型

描述

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items if unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be rejected. Paths must be relative and may not contain the

'..' path or start with '..'.

name

String

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

optional

Boolean

optional field specify whether the Secret or its key must be

defined

表224 io.cci.api.pkg.apis.versioned.cci.v2.SecretVolumeSource

参数

参数类型

描述

defaultMode

Integer

defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

items

Array of io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath objects

items If unspecified, each key-value pair in the Data field of

the referenced Secret will be projected into the volume as a file whose

name is the key and content is the value. If specified, the listed keys

will be projected into the specified paths, and unlisted keys will not be

present. If a key is specified which is not present in the Secret, the volume

setup will error unless it is marked optional. Different keys point to the

same path will be covered. Paths must be relative and may not contain the

'..' path or start with '..'.

optional

Boolean

optional field specify whether the Secret or its keys must be

defined

secretName

String

secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret

表225 io.cci.api.pkg.apis.versioned.cci.v2.KeyToPath

参数

参数类型

描述

key

String

key is the key to project.

mode

Integer

mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.

path

String

path is the relative path of the file to map the key to. May

not be an absolute path. May not contain the path element '..'. May not

start with the string '..'.

表226 io.cci.api.pkg.apis.versioned.cci.v2.PodStatus

参数

参数类型

描述

conditions

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodCondition objects

Current service state of pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

containerStatuses

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerStatus objects

The list has one entry per container in the manifest. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status

initContainerStatuses

Array of io.cci.api.pkg.apis.versioned.cci.v2.ContainerStatus objects

The list has one entry per init container in the manifest. The most recent successful init container will have ready = true, the most recently started container will have startTime set. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status

message

String

A human readable message indicating details about why the pod

is in this condition.

phase

String

The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle. The conditions array, the reason and message fields, and the individual container status arrays contain more detail about the pod's status. There are five possible phase values:

Pending: The pod has been accepted by the Kubernetes system, but one or more of the container images has not been created. This includes time before being scheduled as well as time spent downloading images over the network, which could take a while. Running: The pod has been bound to a node, and all of the containers have been created. At least one container is still running, or is in the process of starting or restarting. Succeeded: All containers in the pod have terminated in success, and will not be restarted. Failed: All containers in the pod have terminated, and at least one container has terminated in failure. The container either exited with non-zero status or was terminated by the system. Unknown: For some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod.

More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase

Possible enum values:

  • "Failed" means that all containers in the pod have terminated, and at least one container has terminated in a failure (exited with a non-zero exit code or was stopped by the system).

  • "Pending" means the pod has been accepted by the system, but one or more of the containers has not been started. This includes time before being bound to a node, as well as time spent pulling images onto the host.

  • "Running" means the pod has been bound to a node and all of the containers have been started. At least one container is still running or is in the process of being restarted.

  • "Stopped" means that the pod has been stopped

  • "Succeeded" means that all containers in the pod have voluntarily terminated with a container exit code of 0, and the system is not going to restart any of these containers.

  • "Unknown" means that for some reason the state of the pod could not be obtained, typically due to an error in communicating with the host of the pod. Deprecated: It isn't being set since 2015 (74da3b14b0c0f658b3bb8d2def5094686d0e9095)

podIP

String

IP address allocated to the pod. Routable at least within the

cluster. Empty if not yet allocated.

podIPs

Array of io.cci.api.pkg.apis.versioned.cci.v2.PodIP objects

podIPs holds the IP addresses allocated to the pod. If this field

is specified, the 0th entry must match the podIP field. Pods may be allocated

at most 1 value for each of IPv4 and IPv6. This list is empty if no IPs

have been allocated yet.

qosClass

String

The Quality of Service (QOS) classification assigned to the pod based on resource requirements See PodQOSClass type for available QOS classes More info: https://git.k8s.io/community/contributors/design-proposals/node/resource-qos.md

Possible enum values:

  • "BestEffort" is the BestEffort qos class.

  • "Burstable" is the Burstable qos class.

  • "Guaranteed" is the Guaranteed qos class.

reason

String

A brief CamelCase message indicating details about why the pod

is in this state. e.g. 'Evicted'

startTime

String

RFC 3339 date and time at which the object was acknowledged by

the Kubelet. This is before the Kubelet pulled the container image(s) for

the pod.

表227 io.cci.api.pkg.apis.versioned.cci.v2.PodCondition

参数

参数类型

描述

lastProbeTime

String

Last time we probed the condition.

lastTransitionTime

String

Last time the condition transitioned from one status to another.

message

String

Human-readable message indicating details about last transition.

reason

String

Unique, one-word, CamelCase reason for the condition's last transition.

status

String

Status is the status of the condition. Can be True, False, Unknown. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

type

String

Type is the type of the condition. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions

表228 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStatus

参数

参数类型

描述

containerID

String

Container's ID in the format '[/topic/body/section/table/tgroup/tbody/row/entry/p/br {""})(br]://<container_id>'.

image

String

The image the container is running. More info: https://kubernetes.io/docs/concepts/containers/images.

imageID

String

ImageID of the container's image.

lastState

io.cci.api.pkg.apis.versioned.cci.v2.ContainerState object

Details about the container's last termination condition.

name

String

This must be a DNS_LABEL. Each container in a pod must have a

unique name. Cannot be updated.

ready

Boolean

Specifies whether the container has passed its readiness probe.

restartCount

Integer

The number of times the container has been restarted.

started

Boolean

Specifies whether the container has passed its startup probe.

Initialized as false, becomes true after startupProbe is considered successful.

Resets to false when the container is restarted, or if kubelet loses state

temporarily. Is always true when no startupProbe is defined.

state

io.cci.api.pkg.apis.versioned.cci.v2.ContainerState object

Details about the container's current condition.

表229 io.cci.api.pkg.apis.versioned.cci.v2.ContainerState

参数

参数类型

描述

running

io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateRunning object

Details about a running container

terminated

io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateTerminated object

Details about a terminated container

waiting

io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateWaiting object

Details about a waiting container

表230 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateRunning

参数

参数类型

描述

startedAt

String

Time at which the container was last (re-)started

表231 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateTerminated

参数

参数类型

描述

containerID

String

Container's ID in the format '[/topic/body/section/table/tgroup/tbody/row/entry/p/br {""})(br]://<container_id>'

exitCode

Integer

Exit status from the last termination of the container

finishedAt

String

Time at which the container last terminated

message

String

Message regarding the last termination of the container

reason

String

(brief) reason from the last termination of the container

signal

Integer

Signal from the last termination of the container

startedAt

String

Time at which previous execution of the container started

表232 io.cci.api.pkg.apis.versioned.cci.v2.ContainerStateWaiting

参数

参数类型

描述

message

String

Message regarding why the container is not yet running.

reason

String

(brief) reason the container is not yet running.

表233 io.cci.api.pkg.apis.versioned.cci.v2.PodIP

参数

参数类型

描述

ip

String

ip is an IP address (IPv4 or IPv6) assigned to the pod

请求示例

{
  "apiVersion" : "v1",
  "kind" : "Pod",
  "metadata" : {
    "annotations" : {
      "resource.cci.io/pod-size-specs" : "2.00_4.0"
    },
    "name" : "test"
  },
  "spec" : {
    "containers" : [ {
      "env" : [ {
        "name" : "ENV1",
        "value" : "false"
      }, {
        "name" : "ENV2",
        "value" : "xxx"
      } ],
      "image" : "nginx:latest",
      "imagePullPolicy" : "IfNotPresent",
      "name" : "deploy-example",
      "resources" : {
        "limits" : {
          "cpu" : "500m",
          "memory" : "1Gi"
        },
        "requests" : {
          "cpu" : "500m",
          "memory" : "1Gi"
        }
      },
      "terminationMessagePath" : "/dev/termination-log",
      "terminationMessagePolicy" : "File"
    } ],
    "dnsPolicy" : "Default",
    "enableServiceLinks" : false,
    "imagePullSecrets" : [ {
      "name" : "imagepull-secret"
    } ],
    "restartPolicy" : "Always",
    "securityContext" : { },
    "terminationGracePeriodSeconds" : 30
  }
}

响应示例

状态码:201

Created

{
  "apiVersion" : "cci/v2",
  "kind" : "Pod",
  "metadata" : {
    "annotations" : {
      "openvessel.io/monitoring-aominfo" : "08a2*************************c03:4257ecf3-7c47-43a3-86d2-d2b4d4aa3a20",
      "resource.cci.io/pod-size-specs" : "2.00_4.0",
      "resource.cci.io/size" : "2.00_4.0",
      "tenant.cci.io/tenant-id" : "08a2*************************c03"
    },
    "creationTimestamp" : "2024-10-09T16:11:23Z",
    "finalizers" : [ "billing.kubernetes.io/podbilling-finalizer" ],
    "labels" : {
      "sys_enterprise_project_id" : "0",
      "tenant.cci.io/tenant-id" : "08a2*************************c03",
      "tenant.kubernetes.io/domain-id" : "08a*************************ee60",
      "tenant.kubernetes.io/project-id" : "08a2*************************c03"
    },
    "name" : "test",
    "namespace" : "test-api",
    "resourceVersion" : "391095523",
    "uid" : "ade5799e-9371-4c9f-ab77-0472e97211f8"
  },
  "spec" : {
    "containers" : [ {
      "env" : [ {
        "name" : "ENV1",
        "value" : "false"
      }, {
        "name" : "ENV2",
        "value" : "xxx"
      } ],
      "image" : "nginx:latest",
      "name" : "deploy-example",
      "resources" : {
        "limits" : {
          "cpu" : "500m",
          "memory" : "1Gi"
        },
        "requests" : {
          "cpu" : "500m",
          "memory" : "1Gi"
        }
      },
      "terminationMessagePath" : "/dev/termination-log",
      "terminationMessagePolicy" : "File"
    } ],
    "dnsPolicy" : "Default",
    "imagePullSecrets" : [ {
      "name" : "imagepull-secret"
    } ],
    "restartPolicy" : "Always",
    "schedulerName" : "volcano",
    "securityContext" : { },
    "terminationGracePeriodSeconds" : 30
  },
  "status" : {
    "phase" : "Pending",
    "qosClass" : "Guaranteed"
  }
}

状态码

状态码

描述

200

OK

201

Created

202

Accepted

400

BadRequest

401

Unauthorized

403

Forbidden

404

NotFound

405

MethodNotAllowed

406

NotAcceptable

409

AlreadyExists

415

UnsupportedMediaType

422

Invalid

429

TooManyRequests

500

InternalError

503

ServiceUnavailable

504

ServerTimeout

相关文档