边车 v1.5.0 自定义资源定义

选择文档版本:

规范架构

SidecarSpec 指定边车的期望状态。

additionalVolumes:
- awsElasticBlockStore:
    fsType: string
    partition: integer
    readOnly: boolean
    volumeID: string
  azureDisk:
    cachingMode: string
    diskName: string
    diskURI: string
    fsType: string
    kind: string
    readOnly: boolean
  azureFile:
    readOnly: boolean
    secretName: string
    shareName: string
  cephfs:
    monitors:
    - string
    path: string
    readOnly: boolean
    secretFile: string
    secretRef:
      name: string
    user: string
  cinder:
    fsType: string
    readOnly: boolean
    secretRef:
      name: string
    volumeID: string
  configMap:
    defaultMode: integer
    items:
    - key: string
      mode: integer
      path: string
    name: string
    optional: boolean
  csi:
    driver: string
    fsType: string
    nodePublishSecretRef:
      name: string
    readOnly: boolean
    volumeAttributes:
  downwardAPI:
    defaultMode: integer
    items:
    - fieldRef:
        apiVersion: string
        fieldPath: string
      mode: integer
      path: string
      resourceFieldRef:
        containerName: string
        divisor: integer or string
        resources: string
  emptyDir:
    medium: string
    sizeLimit: integer or string
  ephemeral:
    volumeClaimTemplate:
      metadata:
      spec:
        accessModes:
        - string
        dataSource:
          apiGroup: string
          kind: string
          name: string
        dataSourceRef:
          apiGroup: string
          kind: string
          name: string
          namespace: string
        resources:
          claims:
          - name: string
          limits: integer or string
          requests: integer or string
        selector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels:
        storageClassName: string
        volumeAttributesClassName: string
        volumeMode: string
        volumeName: string
  fc:
    fsType: string
    lun: integer
    readOnly: boolean
    targetWWNs:
    - string
    wwids:
    - string
  flexVolume:
    driver: string
    fsType: string
    options:
    readOnly: boolean
    secretRef:
      name: string
  flocker:
    datasetName: string
    datasetUUID: string
  gcePersistentDisk:
    fsType: string
    partition: integer
    pdName: string
    readOnly: boolean
  gitRepo:
    directory: string
    repository: string
    revision: string
  glusterfs:
    endpoints: string
    path: string
    readOnly: boolean
  hostPath:
    path: string
    type: string
  iscsi:
    chapAuthDiscovery: boolean
    chapAuthSession: boolean
    fsType: string
    initiatorName: string
    iqn: string
    iscsiInterface: string
    lun: integer
    portals:
    - string
    readOnly: boolean
    secretRef:
      name: string
  name: string
  nfs:
    path: string
    readOnly: boolean
    server: string
  persistentVolumeClaim:
    claimName: string
    readOnly: boolean
  photonPersistentDisk:
    fsType: string
    pdID: string
  portworxVolume:
    fsType: string
    readOnly: boolean
    volumeID: string
  projected:
    defaultMode: integer
    sources:
      clusterTrustBundle:
        labelSelector:
            matchExpressions:
              key: string
              operator: string
              type: string
            matchLabels: object
          namespaceSelector:
            matchExpressions:
              key: string
              operator: string
              values: string
            matchLabels: object
        name: string
        optional: boolean
        paht: string
        signerName: string
    - configMap:
        items:
        - key: string
          mode: integer
          path: string
        name: string
        optional: boolean
      downwardAPI:
        items:
        - fieldRef:
            apiVersion: string
            fieldPath: string
          mode: integer
          path: string
          resourceFieldRef:
            containerName: string
            divisor: integer or string
            resource: string
      secret:
        items:
        - key: string
          mode: integer
          path: string
        name: string
        optional: boolean
      serviceAccountToken:
        audience: string
        expirationSeconds: integer
        path: string
  quobyte:
    group: string
    readOnly: boolean
    registry: string
    tenant: string
    user: string
    volume: string
  rbd:
    fsType: string
    image: string
    keyring: string
    monitors:
    - string
    pool: string
    readOnly: boolean
    secretRef:
      name: string
    user: string
  scaleIO:
    fsType: string
    gateway: string
    protectionDomain: string
    readonly: boolean
    secretRef:
      name: string
    sslEnabled: boolean
    storageMode: string
    storagePool: string
    system: string
    volumeName: string
  secret:
    defaultMode: integer
    items:
    - key: string
      mode: integer
      path: string
    optional: boolean
    secretName: string
  storageos:
    fsType: string
    readOnly: boolean
    secretRef:
      name: string
    volumeName: string
    volumeNamespace: string
  vsphereVolume:
    fsType: string
    storagePolicyID: string
    storagePolicyName: string
    volumePath: string
sidecars:
- args:
  - string
  command:
  - string
  env:
  - name: string
    value: string
    valueFrom:
      configMapKeyRef:
        key: string
        name: string
        optional: boolean
      fieldRef:
        apiVersion: string
        fieldPath: string
      resourceFieldRef:
        containerName: string
        divisor: integer or string
        resource: string
      secretKeyRef:
        key: string
        name: string
        optional: boolean
  envFrom:
  - configMapRef:
      name: string
      optional: boolean
    prefix: string
    secretRef:
      name: string
      optional: boolean
  image: string
  imagePullPolicy: string
  lifecycle:
    postStart:
      exec:
        command:
        - string
      httpGet:
        host: string
        httpHeaders:
        - name: string
          value: string
        path: string
        port: integer or string
        scheme: string
      sleep:
        seconds: integer64
      tcpSocket:
        host: string
        port: integer or string
    preStop:
      exec:
        command:
        - string
      httpGet:
        host: string
        httpHeaders:
        - name: string
          value: string
        path: string
        port: integer or string
        scheme: string
      sleep:
        seconds: integer64
      tcpSocket:
        host: string
        port: integer or string
  livenessProbe:
    exec:
      command:
      - string
    failureThreshold: integer
    grpc:
      port: integer
      service: string
    httpGet:
      host: string
      httpHeaders:
      - name: string
        value: string
      path: string
      port: integer or string
      scheme: string
    initialDelaySeconds: integer
    periodSeconds: integer
    successThreshold: integer
    tcpSocket:
      host: string
      port: integer or string
    terminationGracePeriodSeconds: integer
    timeoutSeconds: integer
  name: string
  ports:
  - containerPort: integer
    hostIP: string
    hostPort: integer
    name: string
    protocol: string
  readinessProbe:
    exec:
      command:
      - string
    failureThreshold: integer
    grpc:
      port: integer
      service: string
    httpGet:
      host: string
      httpHeaders:
      - name: string
        value: string
      path: string
      port: integer or string
      scheme: string
    initialDelaySeconds: integer
    periodSeconds: integer
    successThreshold: integer
    tcpSocket:
      host: string
      port: integer or string
    terminationGracePeriodSeconds: integer
    timeoutSeconds: integer
  resizePolicy:
  - resourceName: string
    restartPolicy: string
  resources:
    claims:
    - name: string
    limits: integer or string
    requests: integer or string
  restartPolicy: string
  securityContext:
    allowPrivilegeEscalation: boolean
    capabilities:
      add:
      - string
      drop:
      - string
    privileged: boolean
    procMount: string
    readOnlyRootFilesystem: boolean
    runAsGroup: integer
    runAsNonRoot: boolean
    runAsUser: integer
    seLinuxOptions:
      level: string
      role: string
      type: string
      user: string
    seccompProfile:
      localhostProfile: string
      type: string
    windowsOptions:
      gmsaCredentialSpec: string
      gmsaCredentialSpecName: string
      hostProcess: boolean
      runAsUserName: string
  startupProbe:
    exec:
      command:
      - string
    failureThreshold: integer
    grpc:
      port: integer
      service: string
    httpGet:
      host: string
      httpHeaders:
      - name: string
        value: string
      path: string
      port: integer or string
      scheme: string
    initialDelaySeconds: integer
    periodSeconds: integer
    successThreshold: integer
    tcpSocket:
      host: string
      port: integer or string
    terminationGracePeriodSeconds: integer
    timeoutSeconds: integer
  stdin: boolean
  stdinOnce: boolean
  terminationMessagePath: string
  terminationMessagePolicy: string
  tty: boolean
  volumeDevices:
  - devicePath: string
    name: string
  volumeMounts:
  - mountPath: string
    mountPropagation: string
    name: string
    readOnly: boolean
    subPath: string
    subPathExpr: string
  workingDir: string

字段

类型
必需或可选

 

说明
additionalVolumes
list (object)
可选
AdditionalVolumes 指定要装载到边车容器中的现有卷的列表。如需了解详情,请参阅 https://kubernetes.io/docs/concepts/storage/volumes/
additionalVolumes[]
object
可选
Volume 表示 Pod 中的已命名卷,可供 Pod 中的任何容器访问。
additionalVolumes[].awsElasticBlockStore
object
可选
awsElasticBlockStore 表示挂接到 kubelet 的宿主机并随后公开给 Pod 的 AWS 磁盘资源。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
additionalVolumes[].awsElasticBlockStore.fsType
string
可选
fsType 是您要装载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
additionalVolumes[].awsElasticBlockStore.partition
integer
可选
partition 是您要装载的卷中的分区。如果省略,则默认按卷名称进行装载。示例:对于卷 /dev/sda1,您可以将分区指定为“1”。同样,/dev/sda 的卷分区为“0”(您也可以将该属性留空)。
additionalVolumes[].awsElasticBlockStore.readOnly
boolean
可选
readOnly 值为 true 会强制在 VolumeMounts 中使用 readOnly 设置。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
additionalVolumes[].awsElasticBlockStore.volumeID
string
必需
volumeID 是 AWS 中的永久性磁盘资源(Amazon EBS 卷)的唯一 ID。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
additionalVolumes[].azureDisk
object
可选
azureDisk 表示主机上的 Azure 数据磁盘装载并将该装载绑定到 Pod。
additionalVolumes[].azureDisk.cachingMode
string
可选
cachingMode 是主机缓存模式:无、只读、读写。
additionalVolumes[].azureDisk.diskName
string
必需
diskName 是 blob 存储中数据磁盘的名称
additionalVolumes[].azureDisk.diskURI
string
必需
diskURI 是 blob 存储中数据磁盘的 URI
additionalVolumes[].azureDisk.fsType
string
可选
fsType 是要装载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。
additionalVolumes[].azureDisk.kind
string
可选
kind 的预期值为:Shared:每个存储账号有多个 blob 磁盘;Dedicated:每个存储账号有一个 blob 磁盘;Managed:Azure 管理的数据磁盘(仅在托管式可用性集中使用)。默认为 shared
additionalVolumes[].azureDisk.readOnly
boolean
可选
readOnly 默认为 false(读写)。此处的 ReadOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。
additionalVolumes[].azureFile
object
可选
azureFile 表示主机上的 Azure 文件服务装载并将该装载绑定到 Pod。
additionalVolumes[].azureFile.readOnly
boolean
可选
readOnly 默认为 false(读写)。此处的 ReadOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。
additionalVolumes[].azureFile.secretName
string
必需
secretName 是包含 Azure Storage 账号名称和密钥的 Secret 的名称
additionalVolumes[].azureFile.shareName
string
必需
shareName 是 Azure 共享名称
additionalVolumes[].cephfs
object
可选
cephFS 表示主机上的 Ceph FS 装载,它会共享 Pod 的生命周期
additionalVolumes[].cephfs.monitors
list (string)
必需
monitors 是必需的:Monitors 是 Ceph 监控器的集合。详细信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
additionalVolumes[].cephfs.path
string
可选
path 是可选的:用作已装载的根,而不是完整的 Ceph 树,默认为 /
additionalVolumes[].cephfs.readOnly
boolean
可选
readOnly 是可选的:默认为 false(读写)。此处的 ReadOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。详细信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
additionalVolumes[].cephfs.secretFile
string
可选
secretFile 是可选的:SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret。详细信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
additionalVolumes[].cephfs.secretRef
object
可选
secretRef 是可选的:SecretRef 是对用户的身份验证 Secret 的引用,默认为空。详细信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
additionalVolumes[].cephfs.secretRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].cephfs.user
string
可选
user 是可选的:User 是 rados 用户名,默认为 administrator。详细信息:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
additionalVolumes[].cinder
object
可选
cinder 表示在 kubelet 宿主机上挂接并装载的 cinder 卷。详细信息:https://examples.k8s.io/mysql-cinder-pd/README.md
additionalVolumes[].cinder.fsType
string
可选
fsType 是要装载的文件系统类型。必须是主机操作系统支持的文件系统类型。示例:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。详细信息:https://examples.k8s.io/mysql-cinder-pd/README.md
additionalVolumes[].cinder.readOnly
boolean
可选
readOnly 默认为 false(读写)。此处的 ReadOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。详细信息:https://examples.k8s.io/mysql-cinder-pd/README.md
additionalVolumes[].cinder.secretRef
object
可选
secretRef 是可选的:指向包含用于连接到 OpenStack 的参数的 Secret 对象
additionalVolumes[].cinder.secretRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].cinder.volumeID
string
必需
用于在 cinder 中标识卷的 volumeID。详细信息:https://examples.k8s.io/mysql-cinder-pd/README.md
additionalVolumes[].configMap
object
可选
configMap 表示应填充此卷的 configMap
additionalVolumes[].configMap.defaultMode
integer
可选
defaultMode 是可选的:默认情况下是用于对创建的文件设置权限的模式位。必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].configMap.items
list (object)
可选
items:如果未指定,则引用的 ConfigMap 的数据字段中的每个键值对都将作为文件投影到卷中,键值对中的键作为相应文件的名称,值作为文件的内容。如果指定,则列出的键将投影到指定路径中,而未列出的键则不会出现。如果指定的键在 ConfigMap 中不存在,则卷设置会出错,除非该键被标记为可选。路径必须是相对路径,不得包含“..”路径或以“..”开头。
additionalVolumes[].configMap.items[]
object
可选
将字符串键映射到卷中的路径。
additionalVolumes[].configMap.items[].key
string
必需
key 是项目的键。
additionalVolumes[].configMap.items[].mode
integer
可选
mode 是可选的:用于对此文件设置权限的模式位。必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。如果未指定,系统会使用卷的 defaultMode。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].configMap.items[].path
string
必需
path 是要将键映射到的文件的相对路径。不得是绝对路径。不得包含路径元素“..”。不得以字符串“..”开头。
additionalVolumes[].csi
object
可选
csi(容器存储接口)表示由某些外部 CSI 驱动程序处理(Beta 版功能)的临时存储。
additionalVolumes[].csi.driver
string
必需
driver 是处理此卷的 CSI 驱动程序的名称。请咨询您的管理员,了解集群中注册的正确名称。
additionalVolumes[].csi.fsType
string
可选
要装载的 fsType。例如:“ext4”“xfs”“ntfs”。如果未提供,则系统会将空值传递给关联的 CSI 驱动程序,该驱动程序将确定要应用的默认文件系统。
additionalVolumes[].csi.nodePublishSecretRef
object
可选
nodePublishSecretRef 是对包含以下信息的 Secret 对象的引用:为完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用而传递给 CSI 驱动程序的敏感信息。此字段是可选的,在不需要 Secret 时可以为空。如果 Secret 对象包含多个 Secret,则系统会传递所有 Secret 引用。
additionalVolumes[].csi.nodePublishSecretRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].csi.readOnly
boolean
可选
readOnly 指定卷的只读配置。默认为 false(读写)。
additionalVolumes[].csi.volumeAttributes
object (string)
可选
volumeAttributes 存储传递给 CSI 驱动程序的驱动程序特有的属性。如需了解支持的值,请参阅驱动程序的文档。
additionalVolumes[].downwardAPI
object
可选
downwardAPI 表示应填充此卷的 Pod 的 Downward API
additionalVolumes[].downwardAPI.defaultMode
integer
可选
可选:默认情况下是对创建的文件使用的模式位。必须是可选:默认情况下是对创建的文件设置权限的模式位。必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].downwardAPI.items
list (object)
可选
Items 是 Downward API 卷文件的列表
additionalVolumes[].downwardAPI.items[]
object
可选
DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息
additionalVolumes[].downwardAPI.items[].fieldRef
object
可选
必需:选择 Pod 的字段:仅支持注解、标签、名称和命名空间。
additionalVolumes[].downwardAPI.items[].fieldRef.apiVersion
string
可选
用于编写 FieldPath 的架构的版本,默认为“v1”。
additionalVolumes[].downwardAPI.items[].fieldRef.fieldPath
string
必需
要在指定的 API 版本中选择的字段的路径。
additionalVolumes[].downwardAPI.items[].mode
integer
可选
可选:用于对此文件设置权限的模式位,必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。如果未指定,系统会使用卷的 defaultMode。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].downwardAPI.items[].path
string
必需
必需:Path 是要创建的文件的相对路径。不得是绝对路径或包含“..”路径。必须采用 UTF-8 编码。相对路径的第一项不得以“..”开头。
additionalVolumes[].downwardAPI.items[].resourceFieldRef
object
可选
选择容器的资源:仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。
additionalVolumes[].downwardAPI.items[].resourceFieldRef.containerName
string
可选
容器名称:对于卷来说是必需的,对于环境变量来说是可选的
additionalVolumes[].downwardAPI.items[].resourceFieldRef.divisor
integer or string
可选
指定公开的资源的输出格式,默认为“1”
additionalVolumes[].downwardAPI.items[].resourceFieldRef.resource
string
必需
必需:要选择的资源
additionalVolumes[].emptyDir
object
可选
emptyDir 表示共享 Pod 生命周期的临时目录。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#emptydir
additionalVolumes[].emptyDir.medium
string
可选
medium 表示应为此目录提供支持的存储介质类型。默认为“”,表示使用节点的默认介质。必须为空字符串(默认值)或 Memory。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#emptydir
additionalVolumes[].emptyDir.sizeLimit
integer or string
可选
sizeLimit 是此 EmptyDir 卷所需的本地存储空间总量。该大小限制也适用于内存介质。内存介质 EmptyDir 的用量上限是此处指定的 SizeLimit 与 Pod 中所有容器的内存限制总和之间的较小值。默认为 nil,表示未定义限制。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#emptydir
additionalVolumes[].ephemeral
object
可选
ephemeral 表示由集群存储驱动程序处理的卷。卷的生命周期与定义它的 Pod 相关联;它将在 Pod 启动之前创建,并在 Pod 移除时删除。\n 请在以下情况下使用此字段:a) 仅在 Pod 运行时才需要卷;b) 需要常规卷的功能,例如从快照恢复或进行容量跟踪;c) 存储驱动程序是通过存储类别指定的;d) 存储驱动程序支持通过 PersistentVolumeClaim 进行动态卷预配(如需详细了解此卷类型与 PersistentVolumeClaim 之间的关联,请参阅 EphemeralVolumeSource)。\n 对于持续存在时间长于单个 Pod 的生命周期的卷,请使用 PersistentVolumeClaim 或供应商特有的某个 API 来处理。\n 如果 CSI 驱动程序旨在用于轻量级本地临时卷,请将 CSI 用于这类卷;如需了解详情,请参阅驱动程序的文档。\n Pod 可以同时使用临时卷和永久性卷类型。
additionalVolumes[].ephemeral.volumeClaimTemplate
object
可选
将用于创建独立 PVC 以预配卷。在其中嵌入此 EphemeralVolumeSource 的 Pod 将成为 PVC 的所有者,或者 PVC 将随 Pod 一同删除。PVC 的名称将为 <pod name>-<volume name>,其中 <volume name> 是来自 PodSpec.Volumes 数组条目的名称。如果串联的名称对 PVC 无效(例如太长),Pod 验证将拒绝 Pod。\n 不归 Pod 所有的具有该名称的现有 PVC 不会* 用于 Pod,以避免误用不相关的卷。系统随后会阻止启动 Pod,直到移除不相关的 PVC。如果此类预先创建的 PVC 旨在由 Pod 使用,则在 Pod 存在后,必须使用对 Pod 的所有者引用来更新 PVC。通常不需要这样做,但在手动重建损坏的集群时,这可能会有所帮助。\n 此字段是只读字段,在 PVC 创建后,Kubernetes 不会对其进行任何更改。\n 必需,不得为 nil。
additionalVolumes[].ephemeral.volumeClaimTemplate.metadata
object
可选
可能包含在创建 PVC 时复制到 PVC 中的标签和注解。不允许使用其他字段,否则将在验证期间被拒绝。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec
object
必需
PersistentVolumeClaim 的规范。整个内容会复制到通过此模板创建的 PVC 中,且内容保持不变。与 PersistentVolumeClaim 中相同的字段在此处也有效。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.accessModes
list (string)
可选
accessModes 包含卷应具有的所需访问模式。详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.accessModes[]
string
可选
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.dataSource
object
可选
dataSource 字段可用于指定以下任一项:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim)。如果预配工具或外部控制器可以支持指定数据源,则会根据指定数据源的内容创建新卷。启用了 AnyVolumeDataSource 特性门控时,dataSource 内容会复制到 dataSourceRef,而在未指定 dataSourceRef.namespace 时,dataSourceRef 内容会复制到 dataSource。如果指定了命名空间,则 dataSourceRef 不会复制到 dataSource。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.dataSource.apiGroup
string
可选
APIGroup 是所引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,APIGroup 都是必需的。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.dataSource.kind
string
必需
Kind 是所引用资源的类型
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.dataSource.name
string
必需
Name 是所引用资源的名称
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef
object
可选
如果需要非空卷,dataSourceRef 会指定要从中向卷填充数据的对象。这可以是来自非空 API 组的任何对象(非核心对象)或 PersistentVolumeClaim 对象。指定此字段后,只有在指定对象的类型与某个已安装的卷填充器或动态预配工具匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,因而如果这两个字段均非空,则它们必须具有相同的值。为了向后兼容,当 dataSourceRef 中未指定命名空间时,如果两个字段(dataSource 和 dataSourceRef)中的一个字段为空而另一个字段不为空,它们将自动设置为相同的值。当 dataSourceRef 中指定了命名空间时,dataSource 不会设置为相同的值,并且必须为空。dataSource 和 dataSourceRef 之间存在三个重要区别:* dataSource 仅允许使用两种特定类型的对象,而 dataSourceRef 允许使用任何非核心对象以及 PersistentVolumeClaim 对象。* dataSource 会忽略不允许的值(将其丢弃),而 dataSourceRef 会保留所有值,并在指定了不允许的值时生成错误。* dataSource 仅允许使用本地对象,而 dataSourceRef 允许使用任何命名空间中的对象。(Beta 版)使用此字段需要启用 AnyVolumeDataSource 特性门控。(Alpha 版)使用 dataSourceRef 的命名空间字段需要启用 CrossNamespaceVolumeDataSource 特性门控。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef.apiGroup
string
可选
APIGroup 是所引用资源的组。如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。对于任何其他第三方类型,APIGroup 都是必需的。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef.kind
string
必需
Kind 是所引用资源的类型
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef.name
string
必需
Name 是所引用资源的名称
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.dataSourceRef.namespace
string
可选
Namespace 是所引用资源的命名空间。请注意,指定命名空间时,引用对象命名空间中需要有一个 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的所有者接受引用。如需了解详情,请参阅 ReferenceGrant 文档。(Alpha 版)此字段需要启用 CrossNamespaceVolumeDataSource 特性门控。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.resources
object
可选
resources 表示卷应具有的最少资源。如果启用了 RecoverVolumeExpansionFailure 功能,则用户指定的资源要求可以低于之前的值,但必须高于声明的状态字段中记录的容量。详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.resources.claims
list (object)
可选
Claims 列出此容器使用的资源的名称(在 spec.resourceClaims 中定义)。\n 此字段为 Alpha 版字段,需要启用 DynamicResourceAllocation 特性门控。\n 此字段不可更改。只能为容器设置此字段。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.resources.claims[]
object
可选
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.resources.claims[].name
string
必需
Name 必须与使用此字段的 Pod pod.spec.resourceClaims 中的一个条目的名称匹配。通过它可在容器内使用该资源。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.resources.limits
integer or string
可选
Limits 描述允许的计算资源数量上限。详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.resources.requests
integer or string
可选
Requests 描述所需的计算资源数量下限。如果对容器省略了 Requests,则它默认为 Limits(如果明确指定了该内容),否则默认为实现定义的值。Requests 不得超过 Limits。详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.selector
object
可选
selector 是针对考虑进行绑定的卷的标签查询。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions
list (object)
可选
matchExpressions 是标签选择器要求的列表。这些要求会进行 AND 运算。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[]
object
可选
标签选择器要求是包含值、键以及将键与值相关联的运算符的选择器。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[].key
string
必需
key 是选择器所应用于的标签键。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[].operator
string
必需
operator 表示键与一组值之间的关系。有效的运算符包括 In、NotIn、Exists 和 DoesNotExist。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[].values
string
可选
values 是字符串值的数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组会在策略合并补丁运行期间被替换。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.selector.matchLabels
object
可选
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其键字段为“key”,运算符为“In”,值数组仅包含“value”。这些要求会进行 AND 运算。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.storageClassName
string
可选
storageClassName 是声明所需的 StorageClass 的名称。详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.volumeAttributesClassName
string
可选
volumeAttributesClassName 可用于设置此声明所使用的 VolumeAttributesClass。如果进行了指定,CSI 驱动程序将使用相应 VolumeAttributesClass 中定义的属性创建或更新卷。此字段的用途与 storageClassName 不同,可以在创建声明后更改。空字符串值表示不会向声明应用 VolumeAttributesClass,但一旦设置了此字段,则不允许将其重置为空字符串。如果未指定,且 PersistentVolumeClaim 未绑定,则默认的 VolumeAttributesClass 将由永久性卷控制器(如果存在)设置。如果 volumeAttributesClass 引用的资源不存在,则此 PersistentVolumeClaim 将设置为 Pending 状态(通过 modifyVolumeStatus 字段反映),直到存在此类资源为止。详细信息:永久性卷 - VolumeAttributesClass(Alpha 版)。使用此字段需要启用 VolumeAttributesClass 特性门控。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.volumeMode
string
可选
volumeMode 定义声明所需的卷的类型。如果未在声明规范中包含,则隐式使用 Filesystem 值。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.volumeName
string
可选
volumeName 是为此声明提供支持的 PersistentVolume 的绑定引用。
additionalVolumes[].fc
object
可选
fc 表示挂接到 kubelet 宿主机并随后公开给 Pod 的光纤通道资源。
additionalVolumes[].fc.fsType
string
可选
fsType 是要装载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。
additionalVolumes[].fc.lun
integer
可选
lun 是可选的:FC 目标 lun 编号
additionalVolumes[].fc.readOnly
boolean
可选
readOnly 是可选的:默认为 false(读写)。此处的 ReadOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。
additionalVolumes[].fc.targetWWNs
list (string)
可选
targetWWNs 是可选的:FC 目标全球名称 (WWN)
additionalVolumes[].fc.targetWWNs[]
string
可选
additionalVolumes[].fc.wwids
list (string)
可选
wwids 可选:FC 卷全球标识符 (wwids)。必须设置 wwids 或 targetWWNs 和 lun 的组合,但不能同时设置这两者。
additionalVolumes[].fc.wwids[]
string
可选
additionalVolumes[].flexVolume
object
可选
flexVolume 表示使用基于 exec 的插件预配/挂接的通用卷资源。
additionalVolumes[].flexVolume.driver
string
必需
driver 是要用于此卷的驱动程序的名称。
additionalVolumes[].flexVolume.fsType
string
可选
fsType 是要装载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”“xfs”“ntfs”。默认文件系统取决于 FlexVolume 脚本。
additionalVolumes[].flexVolume.options
object
可选
options 是可选的:此字段包含额外的命令选项(如果有)。
additionalVolumes[].flexVolume.readOnly
boolean
可选
readOnly 是可选的:默认为 false(读写)。此处的 ReadOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。
additionalVolumes[].flexVolume.secretRef
object
可选
secretRef 是可选的:secretRef 是对包含要传递给插件脚本的敏感信息的 Secret 对象的引用。如果未指定 Secret 对象,则此字段可以为空。如果 Secret 对象包含多个 Secret,则所有 Secret 都会传递给插件脚本。
additionalVolumes[].flexVolume.secretRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].flocker
object
可选
flocker 表示挂接到 kubelet 的宿主机的 Flocker 卷。这取决于所运行的 Flocker 控制服务
additionalVolumes[].flocker.datasetName
string
可选
datasetName 是存储为元数据的数据集的名称 -> Flocker 的数据集中的名称应被视为已弃用
additionalVolumes[].flocker.datasetUUID
string
可选
datasetUUID 是数据集的 UUID。这是 Flocker 数据集的唯一标识符
additionalVolumes[].gcePersistentDisk
object
可选
gcePersistentDisk 表示挂接到 kubelet 的宿主机并随后公开给 Pod 的 Compute Engine 磁盘资源。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
additionalVolumes[].gcePersistentDisk.fsType
string
可选
fsType 是要装载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
additionalVolumes[].gcePersistentDisk.partition
integer
可选
partition 是您要装载的卷中的分区。如果省略,则默认按卷名称进行装载。示例:对于卷 /dev/sda1,您可以将分区指定为“1”。同样,/dev/sda 的卷分区为“0”(您也可以将该属性留空)。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
additionalVolumes[].gcePersistentDisk.pdName
string
必需
pdName 是 Compute Engine 中永久性磁盘资源的唯一名称。用于标识 Compute Engine 中的磁盘。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
additionalVolumes[].gcePersistentDisk.readOnly
boolean
可选
此处的 readOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。默认值为 false。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
additionalVolumes[].gitRepo
object
可选
gitRepo 表示特定修订版本的 Git 代码库。已弃用:GitRepo 已弃用。如需使用 Git 代码库预配容器,请将 EmptyDir 装载到使用 Git 克隆代码库的 InitContainer 中,然后将 EmptyDir 装载到 Pod 的容器中。
additionalVolumes[].gitRepo.directory
string
可选
directory 是目标目录名称。不得包含“..”或以“..”开头。如果提供“.”,则卷目录是 Git 代码库。否则,如果指定,则该卷会包含具有给定名称的子目录中的 Git 代码库。
additionalVolumes[].gitRepo.repository
string
必需
repository 是网址
additionalVolumes[].gitRepo.revision
string
可选
revision 是指定修订版本的提交哈希值。
additionalVolumes[].glusterfs
object
可选
glusterfs 表示主机上的 Glusterfs 装载,它会共享 Pod 的生命周期。详细信息:https://examples.k8s.io/volumes/glusterfs/README.md
additionalVolumes[].glusterfs.endpoints
string
必需
endpoints 是详细说明 Glusterfs 拓扑的端点名称。详细信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
additionalVolumes[].glusterfs.path
string
必需
path 是 Glusterfs 卷路径。详细信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
additionalVolumes[].glusterfs.readOnly
boolean
可选
此处的 readOnly 会强制使用只读权限装载 Glusterfs 卷。默认为 false。详细信息:https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
additionalVolumes[].hostPath
object
可选
hostPath 表示宿主机上直接公开给容器的现有文件或目录。这通常用于系统代理或其他允许查看宿主机的特权对象。大多数容器不需要此字段。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#hostpath
additionalVolumes[].hostPath.path
string
必需
主机上目录的路径。如果路径是符号链接,则会遵循链接跳转到实际路径。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#hostpath
additionalVolumes[].hostPath.type
string
可选
HostPath 卷的类型。默认为“”。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#hostpath
additionalVolumes[].iscsi
object
可选
iscsi 表示挂接到 kubelet 的宿主机并随后公开给 Pod 的 ISCSI 磁盘资源。详细信息:https://examples.k8s.io/volumes/iscsi/README.md
additionalVolumes[].iscsi.chapAuthDiscovery
boolean
可选
chapAuthDiscovery 定义是否支持 iSCSI 发现 CHAP 身份验证
additionalVolumes[].iscsi.chapAuthSession
boolean
可选
chapAuthSession 定义是否支持 iSCSI 会话 CHAP 身份验证
additionalVolumes[].iscsi.fsType
string
可选
fsType 是您要装载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#iscsi
additionalVolumes[].iscsi.initiatorName
string
可选
initiatorName 是自定义 iSCSI 启动器名称。如果 initiatorName 与 iscsiInterface 同时指定,系统会为连接创建新的 iSCSI 接口 <目标门户>:<卷名称>。
additionalVolumes[].iscsi.iqn
string
必需
iqn 是目标 iSCSI 限定名称。
additionalVolumes[].iscsi.iscsiInterface
string
可选
iscsiInterface 是使用 iSCSI 传输的接口名称。默认为“default”(tcp)。
additionalVolumes[].iscsi.lun
integer
必需
lun 表示 iSCSI 目标 LUN 编号。
additionalVolumes[].iscsi.portals
list (string)
可选
portals 是 iSCSI 目标门户列表。门户为 IP 地址,如果端口不是默认端口(通常是 TCP 端口 860 和 3260),则为 ip_addr:port。
additionalVolumes[].iscsi.portals[]
string
可选
additionalVolumes[].iscsi.readOnly
boolean
可选
此处的 readOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。默认值为 false。
additionalVolumes[].iscsi.secretRef
object
可选
secretRef 是用于 iSCSI 目标和启动器身份验证的 CHAP Secret
additionalVolumes[].iscsi.secretRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].iscsi.targetPortal
string
必需
targetPortal 是 iSCSI 目标门户。门户为 IP 地址,如果端口不是默认端口(通常是 TCP 端口 860 和 3260),则为 ip_addr:port。
additionalVolumes[].name
string
必需
卷的名称。必须是 DNS_LABEL,并且在 Pod 中必须是唯一的。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].nfs
object
可选
nfs 表示主机上的 NFS 装载,它会共享 Pod 的生命周期。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#nfs
additionalVolumes[].nfs.path
string
必需
由 NFS 服务器导出的路径。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#nfs
additionalVolumes[].nfs.readOnly
boolean
可选
此处的 readOnly 会强制使用只读权限装载 NFS 导出。默认值为 false。 详细信息:https://kubernetes.io/docs/concepts/storage/volumes#nfs
additionalVolumes[].nfs.server
string
必需
server 是 NFS 服务器的主机名或 IP 地址。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#nfs
additionalVolumes[].persistentVolumeClaim
object
可选
persistentVolumeClaimVolumeSource 表示对同一命名空间中的 PersistentVolumeClaim 的引用。详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
additionalVolumes[].persistentVolumeClaim.claimName
string
必需
claimName 是与使用此卷的 Pod 位于同一命名空间中的 PersistentVolumeClaim 的名称。详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
additionalVolumes[].persistentVolumeClaim.readOnly
boolean
可选
readOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。默认值为 false。
additionalVolumes[].photonPersistentDisk
object
可选
photonPersistentDisk 表示在 kubelet 宿主机上挂接并装载的 PhotonController 永久性磁盘
additionalVolumes[].photonPersistentDisk.fsType
string
可选
fsType 是要装载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。
additionalVolumes[].photonPersistentDisk.pdID
string
必需
pdID 是用于标识 Photon 控制器永久性磁盘的 ID
additionalVolumes[].portworxVolume
object
可选
portworxVolume 表示在 kubelet 宿主机上挂接并装载的 portworx 卷
additionalVolumes[].portworxVolume.fsType
string
可选
fSType 表示要装载的文件系统类型,必须是主机操作系统支持的文件系统类型。例如:“ext4”“xfs”。如果未指定,则会隐式推断为“ext4”。
additionalVolumes[].portworxVolume.readOnly
boolean
可选
readOnly 默认为 false(读写)。此处的 ReadOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。
additionalVolumes[].portworxVolume.volumeID
string
必需
volumeID 用于唯一标识 Portworx 卷
additionalVolumes[].projected
object
可选
一体化 (all in one) 资源 Secret、ConfigMap 和 Downward API 的投影项
additionalVolumes[].projected.defaultMode
integer
可选
defaultMode 在默认情况下是用于对创建的文件设置权限的模式位。必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].projected.sources
list (object)
可选
sources 是卷投影的列表
additionalVolumes[].projected.sources[]
object
可选
可与其他受支持的卷类型一起进行投影的投影。
additionalVolumes[].projected.sources[].clusterTrustBundle
object
可选
ClusterTrustBundle 允许 Pod 访问自动更新文件中 ClusterTrustBundle 对象的 .spec.trustBundle 字段。
Alpha 版,通过 ClusterTrustBundleProjection 特性门控进行门控。
ClusterTrustBundle 对象可以按名称选择,也可以按签名者名称和标签选择器的组合选择。
Kubelet 会对写入 Pod 文件系统的 PEM 内容执行严格的标准化处理。会去除非常规的 PEM 功能,例如块间注释和块标头。证书会进行去重。文件中的证书顺序是任意的,Kubelet 可能会随时间更改顺序。
additionalVolumes[].projected.sources[].clusterTrustBundle.labelSelector
object
可选
选择与此标签选择器匹配的所有 ClusterTrustBundle。仅当设置了 signerName 时才会生效。与名称相互排斥。如果未设置,则会被解释为“不匹配任何内容”。如果进行了设置但为空,则会被解释为“匹配所有内容”。
additionalVolumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions
object
可选
matchExpressions 是标签选择器要求的列表。这些要求会进行 AND 运算。
additionalVolumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions.key
string
必需
key 是选择器所应用于的标签键。
additionalVolumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions.operator
string
必需
operator 表示键与一组值之间的关系。有效的运算符包括 In、NotIn、Exists 和 DoesNotExist。
additionalVolumes[].projected.sources[].clusterTrustBundle.labelSelector.matchExpressions.values
string
可选
values 是字符串值的数组。如果运算符为 In 或 NotIn,则值数组必须为非空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组会在策略合并补丁运行期间被替换。
additionalVolumes[].projected.sources[].clusterTrustBundle.labelSelector.matchLabels
object
可选
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其键字段为“key”,运算符为“In”,值数组仅包含“value”。这些要求会进行 AND 运算。
additionalVolumes[].projected.sources[].configMap
object
可选
有关要投影的 configMap 数据的 configMap 信息
additionalVolumes[].projected.sources[].configMap.items
list (object)
可选
items:如果未指定,则引用的 ConfigMap 的数据字段中的每个键值对都将作为文件投影到卷中,键值对中的键作为相应文件的名称,值作为文件的内容。如果指定,则列出的键将投影到指定路径中,而未列出的键则不会出现。如果指定的键在 ConfigMap 中不存在,则卷设置会出错,除非该键被标记为可选。路径必须是相对路径,不得包含“..”路径或以“..”开头。
additionalVolumes[].projected.sources[].configMap.items[]
object
可选
将字符串键映射到卷中的路径。
additionalVolumes[].projected.sources[].configMap.items[].key
string
必需
key 是项目的键。
additionalVolumes[].projected.sources[].configMap.items[].mode
integer
可选
mode 是可选的:用于对此文件设置权限的模式位。必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。如果未指定,系统会使用卷的 defaultMode。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].projected.sources[].configMap.items[].path
string
必需
path 是要将键映射到的文件的相对路径。不得是绝对路径。不得包含路径元素“..”。不得以字符串“..”开头。
additionalVolumes[].projected.sources[].configMap.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].projected.sources[].configMap.optional
boolean
可选
可选,用于指定是否必须定义 ConfigMap 或其键
additionalVolumes[].projected.sources[].downwardAPI
object
可选
有关要投影的 downwardAPI 数据的 downwardAPI 信息
additionalVolumes[].projected.sources[].downwardAPI.items
list (object)
可选
Items 是 DownwardAPIVolume 文件的列表
additionalVolumes[].projected.sources[].downwardAPI.items[]
object
可选
DownwardAPIVolumeFile 表示用于创建包含 Pod 字段的文件的信息
additionalVolumes[].projected.sources[].downwardAPI.items[].fieldRef
object
可选
必需:选择 Pod 的字段:仅支持注解、标签、名称和命名空间。
additionalVolumes[].projected.sources[].downwardAPI.items[].fieldRef.apiVersion
string
可选
用于编写 FieldPath 的架构的版本,默认为“v1”。
additionalVolumes[].projected.sources[].downwardAPI.items[].fieldRef.fieldPath
string
必需
要在指定的 API 版本中选择的字段的路径。
additionalVolumes[].projected.sources[].downwardAPI.items[].mode
integer
可选
可选:用于对此文件设置权限的模式位,必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。如果未指定,系统会使用卷的 defaultMode。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].projected.sources[].downwardAPI.items[].path
string
必需
必需:Path 是要创建的文件的相对路径。不得是绝对路径或包含“..”路径。必须采用 UTF-8 编码。相对路径的第一项不得以“..”开头
additionalVolumes[].projected.sources[].downwardAPI.items[].resourceFieldRef
object
可选
选择容器的资源:仅支持资源限制和请求(limits.cpu、limits.memory、requests.cpu 和 requests.memory)。
additionalVolumes[].projected.sources[].downwardAPI.items[].resourceFieldRef.containerName
string
可选
容器名称:对于卷来说是必需的,对于环境变量来说是可选的
additionalVolumes[].projected.sources[].downwardAPI.items[].resourceFieldRef.divisor
integer or string
可选
指定公开的资源的输出格式,默认为“1”
additionalVolumes[].projected.sources[].downwardAPI.items[].resourceFieldRef.resource
string
必需
必需:要选择的资源
additionalVolumes[].projected.sources[].secret
object
可选
有关要投影的 Secret 数据的 Secret 信息
additionalVolumes[].projected.sources[].secret.items
list (object)
可选
items:如果未指定,则引用的 Secret 的数据字段中的每个键值对都将作为文件投影到卷中,键值对中的键作为相应文件的名称,值作为文件的内容。如果指定,则列出的键将投影到指定路径中,而未列出的键则不会出现。如果指定的键在 Secret 中不存在,则卷设置会出错,除非该键被标记为可选。路径必须是相对路径,不得包含“..”路径或以“..”开头。
additionalVolumes[].projected.sources[].secret.items[]
object
可选
将字符串键映射到卷中的路径。
additionalVolumes[].projected.sources[].secret.items[].key
string
必需
key 是项目的键。
additionalVolumes[].projected.sources[].secret.items[].mode
integer
可选
mode 是可选的:用于对此文件设置权限的模式位。必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。如果未指定,系统会使用卷的 defaultMode。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].projected.sources[].secret.items[].path
string
必需
path 是要将键映射到的文件的相对路径。不得是绝对路径。不得包含路径元素“..”。不得以字符串“..”开头。
additionalVolumes[].projected.sources[].secret.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].projected.sources[].secret.optional
boolean
可选
可选字段,用于指定是否必须定义 Secret 或其键
additionalVolumes[].projected.sources[].serviceAccountToken
object
可选
serviceAccountToken 是有关要投影的 serviceAccountToken 数据的信息
additionalVolumes[].projected.sources[].serviceAccountToken.audience
string
可选
audience 是令牌的目标受众群体。令牌的接收者必须使用令牌受众群体中指定的标识符来标识自己,否则应拒绝令牌。受众群体默认为 apiserver 的标识符。
additionalVolumes[].projected.sources[].serviceAccountToken.expirationSeconds
integer
可选
expirationSeconds 是请求的服务账号令牌有效期限。当令牌即将到期时,kubelet 卷插件会主动轮替服务账号令牌。如果令牌的存在时间已超过其存留时间 (TTL) 的 80%,或者令牌的存在时间已超过 24 小时,kubelet 将开始尝试轮替令牌。默认为 1 小时,且必须至少为 10 分钟。
additionalVolumes[].projected.sources[].serviceAccountToken.path
string
必需
path 是相对于要将令牌投影到的文件的装载点的路径。
additionalVolumes[].quobyte
object
可选
quobyte 表示主机上的 Quobyte 装载,它会共享 Pod 的生命周期
additionalVolumes[].quobyte.group
string
可选
要将卷访问权限映射到的组。默认值是没有任何组
additionalVolumes[].quobyte.readOnly
boolean
可选
此处的 readOnly 会强制使用只读权限装载 Quobyte 卷。默认为 false。
additionalVolumes[].quobyte.registry
string
必需
registry 表示单个或多个 Quobyte 注册表服务,以“主机:端口”对的形式作为字符串指定(多个条目用英文逗号分隔),充当卷的中央注册表
additionalVolumes[].quobyte.tenant
string
可选
在后端中拥有给定 Quobyte 卷的租户。与动态预配的 Quobyte 卷搭配使用,值由插件设置
additionalVolumes[].quobyte.user
string
可选
要将卷访问权限映射到的用户。默认为 serivceaccount 用户
additionalVolumes[].quobyte.volume
string
必需
volume 是一个字符串,用于按名称引用已创建的 Quobyte 卷。
additionalVolumes[].rbd
object
可选
rbd 表示主机上的 Rados 块存储设备装载,它会共享 Pod 的生命周期。详细信息:https://examples.k8s.io/volumes/rbd/README.md
additionalVolumes[].rbd.fsType
string
可选
fsType 是您要装载的卷的文件系统类型。提示:请确保主机操作系统支持该文件系统类型。示例:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#rbd
additionalVolumes[].rbd.image
string
必需
image 是 rados 映像名称。详细信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
additionalVolumes[].rbd.keyring
string
可选
keyring 是 RBDUser 的密钥环的路径。默认为 /etc/ceph/keyring。详细信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
additionalVolumes[].rbd.monitors
list (string)
必需
monitors 是 Ceph 监控器的集合。详细信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
additionalVolumes[].rbd.monitors[]
string
可选
additionalVolumes[].rbd.pool
string
可选
pool 是 rados 池名称。默认为 rbd。详细信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
additionalVolumes[].rbd.readOnly
boolean
可选
此处的 readOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。默认值为 false。详细信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
additionalVolumes[].rbd.secretRef
object
可选
secretRef 是 RBDUser 的身份验证 Secret 的名称。如果提供,则会替换 keyring。默认为 nil。详细信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
additionalVolumes[].rbd.secretRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].rbd.user
string
可选
user 是 rados 用户名。默认为 admin。详细信息:https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
additionalVolumes[].scaleIO
object
可选
scaleIO 表示在 Kubernetes 节点上挂接并装载的 ScaleIO 永久性卷。
additionalVolumes[].scaleIO.fsType
string
可选
fsType 是要装载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”“xfs”“ntfs”。默认为“xfs”。
additionalVolumes[].scaleIO.gateway
string
必需
gateway 是 ScaleIO API 网关的主机地址。
additionalVolumes[].scaleIO.protectionDomain
string
可选
protectionDomain 是配置的存储的 ScaleIO 保护域的名称。
additionalVolumes[].scaleIO.readOnly
boolean
可选
readOnly 默认为 false(读写)。此处的 ReadOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。
additionalVolumes[].scaleIO.secretRef
object
必需
secretRef 引用 ScaleIO 用户和其他敏感信息的 Secret。如果未提供此字段,登录操作会失败。
additionalVolumes[].scaleIO.secretRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].scaleIO.sslEnabled
boolean
可选
sslEnabled 标志用于启用/停用与网关的 SSL 通信,默认为 false
additionalVolumes[].scaleIO.storageMode
string
可选
storageMode 指示卷的存储应是 ThickProvisioned 还是 ThinProvisioned。默认为 ThinProvisioned。
additionalVolumes[].scaleIO.storagePool
string
可选
storagePool 是与保护域关联的 ScaleIO 存储池。
additionalVolumes[].scaleIO.system
string
必需
system 是在 ScaleIO 中配置的存储系统的名称。
additionalVolumes[].scaleIO.volumeName
TYPE
可选
volumeName 是已在 ScaleIO 系统中创建且与此卷来源关联的卷的名称。
additionalVolumes[].secret
object
可选
secret 表示应填充此卷的 Secret。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#secret
additionalVolumes[].secret.defaultMode
integer
可选
defaultMode 是可选的:默认情况下是用于对创建的文件设置权限的模式位。必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。默认为 0644。路径中的目录不受此设置的影响。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].secret.items
list (object)
可选
items:如果未指定,则引用的 Secret 的数据字段中的每个键值对都将作为文件投影到卷中,键值对中的键作为相应文件的名称,值作为文件的内容。如果指定,则列出的键将投影到指定路径中,而未列出的键则不会出现。如果指定的键在 Secret 中不存在,则卷设置会出错,除非该键被标记为可选。路径必须是相对路径,不得包含“..”路径或以“..”开头。
additionalVolumes[].secret.items[]
object
可选
将字符串键映射到卷中的路径。
additionalVolumes[].secret.items[].key
string
必需
key 是项目的键。
additionalVolumes[].secret.items[].mode
integer
可选
mode 是可选的:用于对此文件设置权限的模式位。必须是介于 0000 到 0777 之间的八进制值或介于 0 到 511 之间的十进制值。YAML 可接受八进制和十进制值,而 JSON 要求对模式位使用十进制值。如果未指定,系统会使用卷的 defaultMode。这可能会与影响文件模式的其他选项(例如 fsGroup)冲突,结果可能会设置其他模式位。
additionalVolumes[].secret.items[].path
string
必需
path 是要将键映射到的文件的相对路径。不得是绝对路径。不得包含路径元素“..”。不得以字符串“..”开头。
additionalVolumes[].secret.optional
boolean
可选
可选字段,用于指定是否必须定义 Secret 或其键
additionalVolumes[].secret.secretName
string
可选
secretName 是要使用的 Pod 命名空间中 Secret 的名称。详细信息:https://kubernetes.io/docs/concepts/storage/volumes#secret
additionalVolumes[].storageos
object
可选
storageOS 表示在 Kubernetes 节点上挂接并装载的 StorageOS 卷。
additionalVolumes[].storageos.fsType
string
可选
fsType 是要装载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。
additionalVolumes[].storageos.readOnly
boolean
可选
readOnly 默认为 false(读写)。此处的 ReadOnly 会强制在 VolumeMounts 中使用 ReadOnly 设置。
additionalVolumes[].storageos.secretRef
object
可选
secretRef 指定要用于获取 StorageOS API 凭据的 Secret。如果未指定,系统会尝试使用默认值。
additionalVolumes[].storageos.secretRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].storageos.volumeName
string
可选
volumeName 是 StorageOS 卷的人类可读名称。卷名称仅在命名空间内具有唯一性。
additionalVolumes[].storageos.volumeNamespace
string
可选
volumeNamespace 指定 StorageOS 中卷的范围。如果未指定命名空间,则系统会使用 Pod 的命名空间。这样便可以在 StorageOS 中镜像 Kubernetes 名称范围限定,从而实现更紧密的集成。将 VolumeName 设置为任何名称可替换默认行为。如果您未在 StorageOS 中使用命名空间,请设置为“default”。系统会创建 StorageOS 中预先不存在的命名空间。
additionalVolumes[].vsphereVolume
object
可选
vsphereVolume 表示在 kubelet 宿主机上挂接并装载的 vSphere 卷
additionalVolumes[].vsphereVolume.fsType
string
可选
fsType 是要装载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如:“ext4”“xfs”“ntfs”。如果未指定,则会隐式推断为“ext4”。
additionalVolumes[].vsphereVolume.storagePolicyID
string
可选
storagePolicyID 是与 StoragePolicyName 相关联的基于存储政策的管理 (SPBM) 配置文件 ID。
additionalVolumes[].vsphereVolume.storagePolicyName
string
可选
storagePolicyName 是基于存储政策的管理 (SPBM) 配置文件名称。
additionalVolumes[].vsphereVolume.volumePath
string
必需
volumePath 是用于标识 vSphere 卷 vmdk 的路径
sidecars
list (object)
可选
Sidecar 指定要注入到数据库 Pod 中的边车容器的列表。如需了解详情,请参阅 https://kubernetes.io/docs/concepts/containers/。
sidecars[]
object
可选
您要在 Pod 中运行的单个应用容器。
sidecars[].args
list (string)
可选
入口点的参数。如果未提供此字段,则系统会使用容器映像的 CMD。系统会使用容器的环境来展开变量引用 $(VAR_NAME)。如果无法解析变量,输入字符串中的引用将保持不变。“Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax:; on other words, "$$(VAR_NAME)”会生成字符串字面量“$(VAR_NAME)”。无论变量是否存在,系统都从不会展开转义的引用。无法更新。 详细信息:https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
sidecars[].args[]
string
可选
sidecars[].command
list (string)
可选
入口点数组。不在 shell 中执行。如果未提供此字段,则系统会使用容器映像的 ENTRYPOINT。系统会使用容器的环境来展开变量引用 $(VAR_NAME)。如果无法解析变量,输入字符串中的引用将保持不变。“Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax; in other words, "$$(VAR_NAME)”会生成字符串字面量“$(VAR_NAME)”。无论变量是否存在,系统都从不会展开转义的引用。无法更新。 详细信息:https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
sidecars[].command[]
string
可选
sidecars[].env
list (object)
可选
要在容器中设置的环境变量的列表。无法更新。
sidecars[].env[]
object
可选
EnvVar 表示容器中存在的环境变量。
sidecars[].env[].name
string
必需
环境变量的名称。必须是 C_IDENTIFIER。
sidecars[].env[].value
string
可选
变量引用 $(VAR_NAME) 会使用容器中之前定义的环境变量和任何服务环境变量展开。如果无法解析变量,输入字符串中的引用将保持不变。“Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax; in other words, "$$(VAR_NAME)”会生成字符串字面量“$(VAR_NAME)”。无论变量是否存在,系统都从不会展开转义的引用。默认为“”。
sidecars[].env[].valueFrom
object
可选
环境变量值的来源。如果值不为空,则无法使用。
sidecars[].env[].valueFrom.configMapKeyRef
object
可选
选择 ConfigMap 的键。
sidecars[].env[].valueFrom.configMapKeyRef.key
string
必需
要选择的密钥。
sidecars[].env[].valueFrom.configMapKeyRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sidecars[].env[].valueFrom.configMapKeyRef.optional
boolean
可选
指定是否必须定义 ConfigMap 或其键
sidecars[].env[].valueFrom.fieldRef
object
可选
选择 Pod 的字段:支持 metadata.name、metadata.namespace、metadata.labels['<KEY>']、metadata.annotations['<KEY>']、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。
sidecars[].env[].valueFrom.fieldRef.apiVersion
string
可选
用于编写 FieldPath 的架构的版本,默认为“v1”。
sidecars[].env[].valueFrom.fieldRef.fieldPath
string
必需
要在指定的 API 版本中选择的字段的路径。
sidecars[].env[].valueFrom.resourceFieldRef
object
可选
选择容器的资源:仅支持资源限制和请求(limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory 和 requests.ephemeral-storage)。
sidecars[].env[].valueFrom.resourceFieldRef.containerName
string
可选
容器名称:对于卷来说是必需的,对于环境变量来说是可选的
sidecars[].env[].valueFrom.resourceFieldRef.divisor
integer or string
可选
指定公开的资源的输出格式,默认为“1”
sidecars[].env[].valueFrom.resourceFieldRef.resource
string
必需
必需:要选择的资源
sidecars[].env[].valueFrom.secretKeyRef
object
可选
选择 Pod 命名空间中的 Secret 的键
sidecars[].env[].valueFrom.secretKeyRef.key
string
必需
要从中选择的 Secret 的键。必须是有效的 Secret 键。
sidecars[].env[].valueFrom.secretKeyRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sidecars[].env[].valueFrom.secretKeyRef.optional
boolean
可选
指定是否必须定义 Secret 或其键
sidecars[].envFrom
list (object)
可选
要在容器中填充环境变量的来源的列表。在来源中定义的键必须是 C_IDENTIFIER。当容器启动时,所有无效键都会作为事件进行报告。如果某个键存在于多个来源中,则与最后一个来源关联的值的优先级更高。存在重复键时,Env 定义的值的优先级更高。无法更新。
sidecars[].envFrom[]
object
可选
EnvFromSource 表示一组 ConfigMap 的来源
sidecars[].envFrom[].configMapRef
object
可选
要从中选择的 ConfigMap
sidecars[].envFrom[].configMapRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sidecars[].envFrom[].configMapRef.optional
boolean
可选
指定是否必须定义 ConfigMap
sidecars[].envFrom[].prefix
string
可选
可选标识符,用于附加到 ConfigMap 中的每个键前面。必须是 C_IDENTIFIER。
sidecars[].envFrom[].secretRef
object
可选
要从中选择的 Secret
sidecars[].envFrom[].secretRef.name
string
可选
引用对象的名称。详细信息:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sidecars[].envFrom[].secretRef.optional
boolean
可选
指定是否必须定义 Secret
sidecars[].image
string
可选
容器映像名称。详细信息:https://kubernetes.io/docs/concepts/containers/images。此字段是可选字段,可让更高级别的配置管理成为默认设置或替换工作负载控制器(如 Deployment 和 StatefulSet)中的容器映像。
sidecars[].imagePullPolicy
string
可选
映像拉取政策。值为 Always、Never、IfNotPresent 之一。如果指定了 :{{ .Chart.Version }} 标记,则默认为 Always;否则默认为 IfNotPresent。无法更新。 详细信息:https://kubernetes.io/docs/concepts/containers/images#updating-images
sidecars[].lifecycle
object
可选
管理系统为响应容器生命周期事件而应执行的操作。无法更新。
sidecars[].lifecycle.postStart
object
可选
PostStart 会在容器创建后立即调用。如果处理程序失败,容器会终止并根据其重启政策进行重启。容器的其他管理功能会阻塞,直到钩子完成。详细信息:https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
sidecars[].lifecycle.postStart.exec
object
可选
Exec 指定要执行的操作。
sidecars[].lifecycle.postStart.exec.command
list (string)
可选
Command 是要在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录(“/”)。命令会直接执行,而不在 shell 中运行,因此标准 shell 指令(“|”等)将不起作用。如需使用 shell,您需要明确调用该 shell。退出状态 0 被视为有效/健康状况良好,非零表示健康状况不佳。
sidecars[].lifecycle.postStart.exec.command[]
string
可选
sidecars[].lifecycle.postStart.httpGet
object
可选
HTTPGet 指定要执行的 HTTP 请求。
sidecars[].lifecycle.postStart.httpGet.host
string
可选
要连接的主机名,默认为 Pod IP。您可能需要改为在 httpHeaders 中设置“Host”。
sidecars[].lifecycle.postStart.httpGet.httpHeaders
list (object)
可选
要在请求中设置的自定义标头。 HTTP 允许使用重复的标头。
sidecars[].lifecycle.postStart.httpGet.httpHeaders[]
object
可选
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
sidecars[].lifecycle.postStart.httpGet.httpHeaders[].name
string
必需
标头字段名称。该名称将在输出时进行规范化,因此大小写变体名称会被视为同一个标头。
sidecars[].lifecycle.postStart.httpGet.httpHeaders[].value
string
必需
标头字段值
sidecars[].lifecycle.postStart.httpGet.path
string
可选
HTTP 服务器上的访问路径。
sidecars[].lifecycle.postStart.httpGet.port
integer or string
必需
要在容器上访问的端口的名称或端口号。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].lifecycle.postStart.httpGet.scheme
string
可选
用于连接到主机的架构。默认为 HTTP。
sidecars[].lifecycle.postStart.sleep
object
可选
Sleep 表示容器在终止之前必须处于睡眠状态的时长。
sidecars[].lifecycle.postStart.sleep.seconds
object
必需
Seconds 是采用 int64 格式的睡眠秒数。
sidecars[].lifecycle.postStart.tcpSocket
object
可选
已弃用。不支持将 TCPSocket 用作 LifecycleHandler,保留它是为了实现向后兼容性。此字段不进行验证,并且在指定了 TCP 处理程序时,生命周期钩子将在运行时失败。
sidecars[].lifecycle.postStart.tcpSocket.host
string
可选
可选:要连接的主机名,默认为 Pod IP。
sidecars[].lifecycle.postStart.tcpSocket.port
integer or string
必需
要在容器上访问的端口的端口号或名称。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].lifecycle.preStop
object
可选
PreStop 会在容器因 API 请求或管理事件(例如活跃性/启动探测失败、抢占和资源争用)而终止之前立即调用。如果容器崩溃或退出,则系统不会调用处理程序。Pod 的终止宽限期倒计时在 PreStop 钩子执行之前开始。无论处理程序的结果如何,容器最终都会在 Pod 的终止宽限期内终止(除非由终结器延迟)。容器的其他管理功能会阻塞,直到钩子完成或达到终止宽限期。详细信息:https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
sidecars[].lifecycle.preStop.exec
object
可选
Exec 指定要执行的操作。
sidecars[].lifecycle.preStop.exec.command
list (string)
可选
Command 是要在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录(“/”)。命令只是直接执行,而不在 shell 中运行,因此传统 shell 指令(“|”等)将不起作用。如需使用 shell,您需要明确调用该 shell。退出状态 0 被视为有效/健康状况良好,非零表示健康状况不佳。
sidecars[].lifecycle.preStop.exec.command[]
string
可选
sidecars[].lifecycle.preStop.httpGet
object
可选
HTTPGet 指定要执行的 HTTP 请求。
sidecars[].lifecycle.preStop.httpGet.host
string
可选
要连接的主机名,默认为 Pod IP。您可能需要改为在 httpHeaders 中设置“Host”。
sidecars[].lifecycle.preStop.httpGet.httpHeaders
list (object)
可选
要在请求中设置的自定义标头。 HTTP 允许使用重复的标头。
sidecars[].lifecycle.preStop.httpGet.httpHeaders[]
object
可选
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
sidecars[].lifecycle.preStop.httpGet.httpHeaders[].name
string
必需
标头字段名称。该名称将在输出时进行规范化,因此大小写变体名称会被视为同一个标头。
sidecars[].lifecycle.preStop.httpGet.httpHeaders[].value
string
必需
标头字段值
sidecars[].lifecycle.preStop.httpGet.path
string
可选
HTTP 服务器上的访问路径。
sidecars[].lifecycle.preStop.httpGet.port
integer or string
必需
要在容器上访问的端口的名称或端口号。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].lifecycle.preStop.httpGet.scheme
string
可选
用于连接到主机的架构。默认为 HTTP。
sidecars[].lifecycle.preStop.sleep
object
可选
Sleep 表示容器在终止之前必须应睡眠状态的时长。
sidecars[].lifecycle.preStop.sleep.seconds
object
必需
Seconds 是采用 int64 格式的睡眠秒数。
sidecars[].lifecycle.preStop.tcpSocket
object
可选
已弃用。不支持将 TCPSocket 用作 LifecycleHandler,保留它是为了实现向后兼容性。此字段不进行验证,并且在指定了 TCP 处理程序时,生命周期钩子将在运行时失败。
sidecars[].lifecycle.preStop.tcpSocket.host
string
可选
可选:要连接的主机名,默认为 Pod IP。
sidecars[].lifecycle.preStop.tcpSocket.port
integer or string
必需
要在容器上访问的端口的端口号或名称。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].livenessProbe
object
可选
定期探测容器活跃性。如果探测失败,容器将重启。无法更新。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
sidecars[].livenessProbe.exec
object
可选
Exec 指定要执行的操作。
sidecars[].livenessProbe.exec.command
list (string)
可选
Command 是要在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录(“/”)。命令会直接执行,而不在 shell 中运行,因此标准 shell 指令(“|”等)将不起作用。如需使用 shell,您需要明确调用该 shell。退出状态 0 被视为有效/健康状况良好,非零表示健康状况不佳。
sidecars[].livenessProbe.exec.command[]
string
可选
sidecars[].livenessProbe.failureThreshold
integer
可选
探测在成功后被视为失败所需的连续失败次数下限。默认值为 3。最小值为 1。
sidecars[].livenessProbe.grpc
object
可选
GRPC 指定涉及 GRPC 端口的操作。
sidecars[].livenessProbe.grpc.port
integer
必需
gRPC 服务的端口号。端口号必须介于 1 到 65535 之间。
sidecars[].livenessProbe.grpc.service
string
可选
Service 是要放入 gRPC HealthCheckRequest 中的服务的名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。\n 如果未指定此字段,则默认行为由 gRPC 定义。
sidecars[].livenessProbe.httpGet
object
可选
HTTPGet 指定要执行的 HTTP 请求。
sidecars[].livenessProbe.httpGet.host
string
可选
要连接的主机名,默认为 Pod IP。您可能需要改为在 httpHeaders 中设置“Host”。
sidecars[].livenessProbe.httpGet.httpHeaders
list (object)
可选
要在请求中设置的自定义标头。HTTP 允许使用重复的标头。
sidecars[].livenessProbe.httpGet.httpHeaders[]
object
可选
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
sidecars[].livenessProbe.httpGet.httpHeaders[].name
string
必需
标头字段名称。该名称将在输出时进行规范化,因此大小写变体名称会被视为同一个标头。
sidecars[].livenessProbe.httpGet.httpHeaders[].value
string
必需
标头字段值
sidecars[].livenessProbe.httpGet.path
string
可选
HTTP 服务器上的访问路径。
sidecars[].livenessProbe.httpGet.port
integer or string
必需
要在容器上访问的端口的名称或端口号。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].livenessProbe.httpGet.scheme
string
可选
用于连接到主机的架构。默认为 HTTP。
sidecars[].livenessProbe.initialDelaySeconds
integer
可选
容器启动后,活跃性探测启动前经过的秒数。详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
sidecars[].livenessProbe.periodSeconds
integer
可选
执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。
sidecars[].livenessProbe.successThreshold
integer
可选
探测在失败后被视为成功所需的连续成功次数下限。默认值为 1。对于活跃性探测和启动探测,必须为 1。最小值为 1。
sidecars[].livenessProbe.tcpSocket
object
可选
TCPSocket 指定涉及 TCP 端口的操作。
sidecars[].livenessProbe.tcpSocket.host
string
可选
可选:要连接的主机名,默认为 Pod IP。
sidecars[].livenessProbe.tcpSocket.port
integer or string
必需
要在容器上访问的端口的端口号或名称。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].livenessProbe.terminationGracePeriodSeconds
integer
可选
可选,Pod 在探测失败时正常终止所需的时长(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号后,到使用强制终止 (kill) 信号强制停止进程时的时长(以秒为单位)。请将此值设置为长于进程的预期清理时间。如果此值为 nil,系统会使用 Pod 的 terminationGracePeriodSeconds。否则,此值会替换 Pod 规范提供的值。值必须是非负整数。值为零表示立即使用强制终止信号停止(没有机会关闭)。此字段为 Beta 版字段,需要启用 ProbeTerminationGracePeriod 特性门控。最小值为 1。如果未设置,则系统会使用 spec.terminationGracePeriodSeconds。
sidecars[].livenessProbe.timeoutSeconds
integer
可选
探测的超时秒数。默认值为 1 秒。最小值为 1。详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
sidecars[].name
string
必需
以 DNS_LABEL 形式指定的容器的名称。Pod 中的每个容器都必须具有唯一的名称 (DNS_LABEL)。无法更新。
sidecars[].ports
list (object)
可选
要从容器公开的端口的列表。在此处不指定端口不会阻止公开该端口。在容器内监听默认“0.0.0.0”地址的任何端口都可以通过网络访问。使用策略合并补丁修改此数组可能会损坏数据。如需了解详情,请参阅 https://github.com/kubernetes/kubernetes/issues/108255。无法更新。
sidecars[].ports[]
object
可选
ContainerPort 表示单个容器中的网络端口。
sidecars[].ports[].containerPort
integer
必需
要在 Pod 的 IP 地址上公开的端口的端口号。这必须是有效的端口号,0 < x < 65536。
sidecars[].ports[].hostIP
string
可选
要将外部端口绑定到的主机 IP。
sidecars[].ports[].hostPort
integer
可选
要在主机上公开的端口的端口号。如果指定,则此字段必须是有效的端口号,0 < x < 65536。如果指定了 HostNetwork,则此字段必须与 ContainerPort 匹配。大多数容器不需要此字段。
sidecars[].ports[].name
string
可选
如果指定,则此字段必须为 IANA_SVC_NAME,并且在 Pod 中必须是唯一的。Pod 中的每个已命名端口都必须具有唯一的名称。可由服务引用的端口的名称。
sidecars[].ports[].protocol
string
可选

默认值:TCP

端口的协议。必须是 UDP、TCP 或 SCTP。默认为“TCP”。
sidecars[].readinessProbe
object
可选
定期探测容器服务就绪性。 如果探测失败,则容器会从服务端点中移除。无法更新。 详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
sidecars[].readinessProbe.exec
object
可选
Exec 指定要执行的操作。
sidecars[].readinessProbe.exec.command
list (string)
可选
Command 是要在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录(“/”)。命令会直接执行,而不在 shell 中运行,因此标准 shell 指令(“|”等)将不起作用。如需使用 shell,您需要明确调用该 shell。退出状态 0 被视为有效/健康状况良好,非零表示健康状况不佳。
sidecars[].readinessProbe.exec.command[]
string
可选
sidecars[].readinessProbe.failureThreshold
integer
可选
探测在成功后被视为失败所需的连续失败次数下限。默认值为 3。最小值为 1。
sidecars[].readinessProbe.grpc
object
可选
GRPC 指定涉及 GRPC 端口的操作。
sidecars[].readinessProbe.grpc.port
integer
必需
gRPC 服务的端口号。端口号必须介于 1 到 65535 之间。
sidecars[].readinessProbe.grpc.service
string
可选
Service 是要放入 gRPC HealthCheckRequest 中的服务的名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。\n 如果未指定此字段,则默认行为由 gRPC 定义。
sidecars[].readinessProbe.httpGet
object
可选
HTTPGet 指定要执行的 HTTP 请求。
sidecars[].readinessProbe.httpGet.host
string
可选
要连接的主机名,默认为 Pod IP。您可能需要改为在 httpHeaders 中设置“Host”。
sidecars[].readinessProbe.httpGet.httpHeaders
list (object)
可选
要在请求中设置的自定义标头。HTTP 允许使用重复的标头。
sidecars[].readinessProbe.httpGet.httpHeaders[]
object
可选
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
sidecars[].readinessProbe.httpGet.httpHeaders[].name
string
必需
标头字段名称。该名称将在输出时进行规范化,因此大小写变体名称会被视为同一个标头。
sidecars[].readinessProbe.httpGet.httpHeaders[].value
string
必需
标头字段值
sidecars[].readinessProbe.httpGet.path
string
可选
HTTP 服务器上的访问路径。
sidecars[].readinessProbe.httpGet.port
integer or string
必需
要在容器上访问的端口的名称或端口号。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].readinessProbe.httpGet.scheme
string
可选
用于连接到主机的架构。默认为 HTTP。
sidecars[].readinessProbe.initialDelaySeconds
integer
可选
容器启动后,活跃性探测启动前经过的秒数。详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
sidecars[].readinessProbe.periodSeconds
integer
可选
执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。
sidecars[].readinessProbe.successThreshold
integer
可选
探测在失败后被视为成功所需的连续成功次数下限。默认值为 1。对于活跃性探测和启动探测,必须为 1。最小值为 1。
sidecars[].readinessProbe.tcpSocket
object
可选
TCPSocket 指定涉及 TCP 端口的操作。
sidecars[].readinessProbe.tcpSocket.host
string
可选
可选:要连接的主机名,默认为 Pod IP。
sidecars[].readinessProbe.tcpSocket.port
integer or string
必需
要在容器上访问的端口的端口号或名称。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].readinessProbe.terminationGracePeriodSeconds
integer
可选
可选,Pod 在探测失败时正常终止所需的时长(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号后,到使用强制终止 (kill) 信号强制停止进程时的时长(以秒为单位)。请将此值设置为长于进程的预期清理时间。如果此值为 nil,系统会使用 Pod 的 terminationGracePeriodSeconds。否则,此值会替换 Pod 规范提供的值。值必须是非负整数。值为零表示立即使用强制终止信号停止(没有机会关闭)。此字段为 Beta 版字段,需要启用 ProbeTerminationGracePeriod 特性门控。最小值为 1。如果未设置,则系统会使用 spec.terminationGracePeriodSeconds。
sidecars[].readinessProbe.timeoutSeconds
integer
可选
探测的超时秒数。默认值为 1 秒。最小值为 1。详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
sidecars[].resizePolicy
list (object)
可选
容器的资源调整大小政策。
sidecars[].resizePolicy[]
object
可选
ContainerResizePolicy 表示容器的资源调整大小政策。
sidecars[].resizePolicy[].resourceName
string
必需
此资源调整大小政策所适用的资源的名称。支持的值:cpu、memory。
sidecars[].resizePolicy[].restartPolicy
string
必需
要在指定资源调整大小时应用的重启政策。如果未指定,则默认为 NotRequired。
sidecars[].resources
object
可选
此容器所需的计算资源。无法更新。 详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
sidecars[].resources.claims
list (object)
可选
Claims 列出此容器使用的资源的名称(在 spec.resourceClaims 中定义)。\n 此字段为 Alpha 版字段,需要启用 DynamicResourceAllocation 特性门控。\n 此字段不可更改。只能为容器设置此字段。
sidecars[].resources.claims[]
object
可选
ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
sidecars[].resources.claims[].name
string
必需
Name 必须与使用此字段的 Pod pod.spec.resourceClaims 中的一个条目的名称匹配。通过它可在容器内使用该资源。
sidecars[].resources.limits
integer or string
可选
Limits 描述允许的计算资源数量上限。详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
sidecars[].resources.requests
integer or string
可选
Requests 描述所需的计算资源数量下限。如果对容器省略了 Requests,则它默认为 Limits(如果明确指定了该内容),否则默认为实现定义的值。Requests 不得超过 Limits。详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
sidecars[].restartPolicy
string
可选
RestartPolicy 定义 Pod 中各个容器的重启行为。只能为 init 容器设置此字段,且唯一允许的值为“Always”。对于非 init 容器或是未指定此字段时,重启行为由 Pod 的重启政策和容器类型定义。为 init 容器将 RestartPolicy 设置为“Always”会产生以下效果:此 init 容器将在退出时持续重启,直到所有常规容器都已终止。所有常规容器完成后,所有 restartPolicy 为“Always”的 init 容器都将关闭。此生命周期与普通 init 容器不同,通常称为“边车”容器。虽然此 init 容器仍会采用 init 容器序列启动,但是系统不会等待容器完成后再继续启动下一个 init 容器。相反,下一个 init 容器会在此 init 容器启动后或是任何 startupProbe 成功完成后立即启动。
sidecars[].securityContext
object
可选
SecurityContext 定义容器在运行时应使用的安全选项。如果设置,SecurityContext 的字段会替换 PodSecurityContext 的等效字段。详细信息:https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
sidecars[].securityContext.allowPrivilegeEscalation
boolean
可选
AllowPrivilegeEscalation 控制进程能否获得比其父进程更高的权限。此布尔值直接控制是否会对容器进程设置 no_new_privs 标志。当容器满足以下条件时,AllowPrivilegeEscalation 始终为 true:1) 以特权模式运行 2) 具有 CAP_SYS_ADMIN。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
sidecars[].securityContext.capabilities
object
可选
要在运行容器时添加/删除的功能。默认为容器运行时所授予的默认功能集。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
sidecars[].securityContext.capabilities.add
list (string)
可选
已添加功能
sidecars[].securityContext.capabilities.add[]
string
可选
Capability 表示 POSIX 功能类型
sidecars[].securityContext.capabilities.drop
list (string)
可选
已移除功能
sidecars[].securityContext.capabilities.drop[]
string
可选
Capability 表示 POSIX 功能类型
sidecars[].securityContext.privileged
boolean
可选
在特权模式下运行容器。特权容器中的进程本质上等同于主机上的 root。默认值为 false。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
sidecars[].securityContext.procMount
string
可选
procMount 表示要用于容器的 proc 装载类型。默认值为 DefaultProcMount,这会对只读路径和屏蔽路径使用容器运行时默认值。这需要启用 ProcMountType 功能标志。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
sidecars[].securityContext.readOnlyRootFilesystem
boolean
可选
此容器是否具有只读根文件系统。默认值为 False。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
sidecars[].securityContext.runAsGroup
integer
可选
用于运行容器进程入口点的 GID。如果未设置,则使用运行时默认值。也可以在 PodSecurityContext 中进行设置。如果在 SecurityContext 和 PodSecurityContext 中都进行了设置,则 SecurityContext 中指定的值的优先级更高。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
sidecars[].securityContext.runAsNonRoot
boolean
可选
指示容器必须以非根用户身份运行。如果为 true,Kubelet 将在运行时验证映像,以确保它不会以 UID 0(根)身份运行,在以该身份运行时无法启动容器。如果未设置或为 false,则不会执行此类验证。也可以在 PodSecurityContext 中进行设置。如果在 SecurityContext 和 PodSecurityContext 中都进行了设置,则 SecurityContext 中指定的值的优先级更高。
sidecars[].securityContext.runAsUser
integer
可选
用于运行容器进程入口点的 UID。如果未指定,则默认为映像元数据中指定的用户。也可以在 PodSecurityContext 中进行设置。如果在 SecurityContext 和 PodSecurityContext 中都进行了设置,则 SecurityContext 中指定的值的优先级更高。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
sidecars[].securityContext.seLinuxOptions
object
可选
要应用于容器的 SELinux 上下文。如果未指定,容器运行时会为每个容器分配随机 SELinux 上下文。也可以在 PodSecurityContext 中进行设置。如果在 SecurityContext 和 PodSecurityContext 中都进行了设置,则 SecurityContext 中指定的值的优先级更高。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
sidecars[].securityContext.seLinuxOptions.level
string
可选
Level 是应用于容器的 SELinux 级别标签。
sidecars[].securityContext.seLinuxOptions.role
string
可选
Role 是应用于容器的 SELinux 角色标签。
sidecars[].securityContext.seLinuxOptions.type
string
可选
Type 是应用于容器的 SELinux 类型标签。
sidecars[].securityContext.seLinuxOptions.user
string
可选
User 是应用于容器的 SELinux 用户标签。
sidecars[].securityContext.seccompProfile
object
可选
此容器要使用的 seccomp 选项。如果在 Pod 和容器级别都提供了 seccomp 选项,容器选项会替换 Pod 选项。请注意,当 spec.os.name 为 windows 时,无法设置此字段。
sidecars[].securityContext.seccompProfile.localhostProfile
string
可选
localhostProfile 指示应使用节点上的文件中定义的配置文件。配置文件必须在节点上进行预配置才能正常运行。必须是相对于 kubelet 的已配置 seccomp 配置文件位置的递减式路径 (descending path)。如果类型为“Localhost”,则必须设置此字段。不得为任何其他类型设置此字段。
sidecars[].securityContext.seccompProfile.type
string
必需
type 指示将应用的 seccomp 配置文件类型。有效选项包括:\n Localhost - 应使用节点上的文件中定义的配置文件。RuntimeDefault - 应使用容器运行时默认配置文件。Unconfined - 不应应用任何配置文件。
sidecars[].securityContext.windowsOptions
object
可选
应用于所有容器的 Windows 特定设置。如果未指定,系统会使用 PodSecurityContext 中的选项。如果在 SecurityContext 和 PodSecurityContext 中都进行了设置,则 SecurityContext 中指定的值的优先级更高。请注意,当 spec.os.name 为 linux 时,无法设置此字段。
sidecars[].securityContext.windowsOptions.gmsaCredentialSpec
string
可选
GMSACredentialSpec 是 GMSA 准入 webhook (https://github.com/kubernetes-sigs/windows-gmsa) 内嵌 GMSA 凭据规范(由 GMSACredentialSpecName 字段命名)的内容的位置。
sidecars[].securityContext.windowsOptions.gmsaCredentialSpecName
string
可选
GMSACredentialSpecName 是要使用的 GMSA 凭据规范的名称。
sidecars[].securityContext.windowsOptions.hostProcess
boolean
可选
HostProcess 确定容器是否应作为“主机进程”容器运行。Pod 的所有容器都必须具有相同的有效 HostProcess 值(不允许混合使用 HostProcess 容器和非 HostProcess 容器)。此外,如果 HostProcess 为 true,则 HostNetwork 也必须设置为 true。
sidecars[].securityContext.windowsOptions.runAsUserName
string
可选
Windows 中用于运行容器进程入口点的 UserName。如果未指定,则默认为映像元数据中指定的用户。也可以在 PodSecurityContext 中进行设置。如果在 SecurityContext 和 PodSecurityContext 中都进行了设置,则 SecurityContext 中指定的值的优先级更高。
sidecars[].startupProbe
object
可选
StartupProbe 指示 Pod 已成功初始化。如果指定,则只有在此探测成功完成后,系统才会执行其他探测。如果此探测失败,系统会重启 Pod,如同 livenessProbe 失败一样。当加载数据或预热缓存所需的时间可能较长时,这可用于在 Pod 生命周期的开始阶段提供与稳定状态操作期间不同的探测参数。无法更新此字段。详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
sidecars[].startupProbe.exec
object
可选
Exec 指定要执行的操作。
sidecars[].startupProbe.exec.command
list (string)
可选
Command 是要在容器内执行的命令行,命令的工作目录是容器文件系统中的根目录(“/”)。命令会直接执行,而不在 shell 中运行,因此标准 shell 指令(“|”等)将不起作用。如需使用 shell,您需要明确调用该 shell。退出状态 0 被视为有效/健康状况良好,非零表示健康状况不佳。
sidecars[].startupProbe.exec.command[]
string
可选
sidecars[].startupProbe.failureThreshold
integer
可选
探测在成功后被视为失败所需的连续失败次数下限。默认值为 3。最小值为 1。
sidecars[].startupProbe.grpc
object
可选
GRPC 指定涉及 GRPC 端口的操作。
sidecars[].startupProbe.grpc.port
integer
必需
gRPC 服务的端口号。端口号必须介于 1 到 65535 之间。
sidecars[].startupProbe.grpc.service
string
可选
Service 是要放入 gRPC HealthCheckRequest 中的服务的名称(请参阅 https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。\n 如果未指定此字段,则默认行为由 gRPC 定义。
sidecars[].startupProbe.httpGet
object
可选
HTTPGet 指定要执行的 HTTP 请求。
sidecars[].startupProbe.httpGet.host
string
可选
要连接的主机名,默认为 Pod IP。您可能需要改为在 httpHeaders 中设置“Host”。
sidecars[].startupProbe.httpGet.httpHeaders
list (object)
可选
要在请求中设置的自定义标头。HTTP 允许使用重复的标头。
sidecars[].startupProbe.httpGet.httpHeaders[]
object
可选
HTTPHeader 描述要在 HTTP 探测中使用的自定义标头
sidecars[].startupProbe.httpGet.httpHeaders[].name
string
必需
标头字段名称。该名称将在输出时进行规范化,因此大小写变体名称会被视为同一个标头。
sidecars[].startupProbe.httpGet.httpHeaders[].value
string
必需
标头字段值
sidecars[].startupProbe.httpGet.path
string
可选
HTTP 服务器上的访问路径。
sidecars[].startupProbe.httpGet.port
integer or string
必需
要在容器上访问的端口的名称或端口号。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].startupProbe.httpGet.scheme
string
可选
用于连接到主机的架构。默认为 HTTP。
sidecars[].startupProbe.initialDelaySeconds
integer
可选
容器启动后,活跃性探测启动前经过的秒数。详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
sidecars[].startupProbe.periodSeconds
integer
可选
执行探测的频率(以秒为单位)。默认值为 10 秒。最小值为 1。
sidecars[].startupProbe.successThreshold
integer
可选
探测在失败后被视为成功所需的连续成功次数下限。默认值为 1。对于活跃性探测和启动探测,必须为 1。最小值为 1。
sidecars[].startupProbe.tcpSocket
object
可选
TCPSocket 指定涉及 TCP 端口的操作。
sidecars[].startupProbe.tcpSocket.host
string
可选
可选:要连接的主机名,默认为 Pod IP。
sidecars[].startupProbe.tcpSocket.port
integer or string
必需
要在容器上访问的端口的端口号或名称。端口号必须介于 1 到 65535 之间。名称必须是 IANA_SVC_NAME。
sidecars[].startupProbe.terminationGracePeriodSeconds
integer
可选
可选,Pod 在探测失败时正常终止所需的时长(以秒为单位)。宽限期是在向 Pod 中运行的进程发送终止信号后,到使用强制终止 (kill) 信号强制停止进程时的时长(以秒为单位)。请将此值设置为长于进程的预期清理时间。如果此值为 nil,系统会使用 Pod 的 terminationGracePeriodSeconds。否则,此值会替换 Pod 规范提供的值。值必须是非负整数。值为零表示立即使用强制终止信号停止(没有机会关闭)。此字段为 Beta 版字段,需要启用 ProbeTerminationGracePeriod 特性门控。最小值为 1。如果未设置,则系统会使用 spec.terminationGracePeriodSeconds。
sidecars[].startupProbe.timeoutSeconds
integer
可选
探测的超时秒数。默认值为 1 秒。最小值为 1。详细信息:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
sidecars[].stdin
boolean
可选
此容器是否应在容器运行时中为 stdin 分配缓冲区。如果未设置此字段,则从容器中的 stdin 执行读取操作时会始终导致 EOF。默认值为 false。
sidecars[].stdinOnce
boolean
可选
容器运行时是否应在单个连接打开 stdin 通道后关闭该通道。如果 stdin 为 true,stdin 流会在多个连接会话中保持打开状态。如果 stdinOnce 设置为 true,stdin 会在容器启动时打开,并在第一个客户端连接到 stdin 之前为空,然后保持打开状态并接受数据,直到客户端断开连接,此时 stdin 会关闭,并在容器重启之前保持关闭状态。如果此标志为 false,则从 stdin 读取的容器进程将永远不会收到 EOF。默认值为 false
sidecars[].terminationMessagePath
string
可选
可选:容器的终止消息将写入的目标文件用于装载到容器文件系统中的路径。写入的消息旨在成为简要的最终状态,例如断言失败消息。如果大于 4096 字节,则会被节点截断。所有容器中的消息总长度限制为 12kb。默认为 /dev/termination-log。无法更新。
sidecars[].terminationMessagePolicy
string
可选
指示应如何填充终止消息。File 表示在成功和失败时都会使用 terminationMessagePath 的内容填充容器状态消息。FallbackToLogsOnError 表示在终止消息文件为空并且容器在发生错误的情况下退出时,会使用容器日志输出的最后一个块。日志输出限制为 2048 字节或 80 行,以较小者为准。默认为 File。无法更新。
sidecars[].tty
boolean
可选
此容器是否应为自身分配 TTY,还需要“stdin”为 true。默认值为 false。
sidecars[].volumeDevices
list (object)
可选
volumeDevices 是容器要使用的块存储设备的列表。
sidecars[].volumeDevices[]
object
可选
volumeDevice 描述容器中原始块存储设备的映射。
sidecars[].volumeDevices[].devicePath
string
必需
devicePath 是设备将映射到的容器内路径。
sidecars[].volumeDevices[].name
string
必需
name 必须与 Pod 中的 persistentVolumeClaim 的名称匹配
sidecars[].volumeMounts
list (object)
可选
要装载到容器文件系统中的 Pod 卷。无法更新。
sidecars[].volumeMounts[]
object
可选
VolumeMount 描述卷在容器内的装载。
sidecars[].volumeMounts[].mountPath
string
必需
容器中应装载卷的路径。不得包含“:”。
sidecars[].volumeMounts[].mountPropagation
string
可选
mountPropagation 用于确定如何将装载从主机传播到容器,以及如何进行反向传播。如果未设置,则系统会使用 MountPropagationNone。此字段在 1.10 中为 Beta 版。
sidecars[].volumeMounts[].name
string
必需
此字段必须与卷的名称匹配。
sidecars[].volumeMounts[].readOnly
boolean
可选
如果为 true,则表示以只读模式装载;否则(false 或未指定)表示以读写模式装载。默认值为 false。
sidecars[].volumeMounts[].subPath
string
可选
应通过其装载容器的卷的卷内路径。默认为“”(卷的根目录)。
sidecars[].volumeMounts[].subPathExpr
string
可选
应通过其装载容器的卷的卷内展开路径。行为类似于 SubPath,但环境变量引用 $(VAR_NAME) 会使用容器的环境进行展开。默认为“”(卷的根目录)。SubPathExpr 与 SubPath 相互排斥。
sidecars[].workingDir
string
可选
容器的工作目录。如果未指定,则系统会使用容器运行时的默认值,该值可能会在容器映像中进行配置。无法更新。

状态架构

SidecarStatus 指定观察到的边车状态。

conditions:
- lastTransitionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams:
  resource:
    component: string
    location:
      cluster: string
      group: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
observedGeneration: integer
reconciled: boolean

字段

类型
必需或可选

 

说明
conditions
list (object)
可选
Conditions 表示实体当前状态的最新可用观察结果。
conditions[]
object
可选
Condition 包含此 API 资源当前状态的一个方面的详细信息。--- 此结构体旨在直接用作字段路径 .status.conditions 处的数组。例如:\n type FooStatus struct{ // 表示 foo 当前状态的观察结果。// 已知 .status.conditions.type 包括:“Available”“Progressing”和“Degraded” // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // 其他字段 }
conditions[].lastTransitionTime
string
必需
lastTransitionTime 是条件上次从一种状态转换到另一种状态的时间。这应该是底层条件更改的时间。如果该信息未知,则可以使用 API 字段更改的时间。
conditions[].message
string
必需

长度上限:32768

message 是人类可读的消息,指示有关转换的详细信息。这可能是空字符串。
conditions[].observedGeneration
integer
可选
observedGeneration 表示设置条件所基于的 .metadata.generation。例如,如果 .metadata.generation 为 12,但 .status.conditions[x].observedGeneration 为 9,则表示条件相对于实例的当前状态已过时。
conditions[].reason
string
必需

长度下限:1;长度上限:1024

reason 包含一个程序化标识符,指示条件上次转换的原因。特定条件类型的生成者可以为此字段定义预期值和含义,以及这些值是否被视为有保证的 API。值应为 CamelCase 字符串。此字段不得为空。
conditions[].status
string
必需

有效值:"True""False"Unknown

条件的状态,为 True、False、Unknown 之一。
conditions[].type
string
必需

长度上限:316

条件的类型,采用 CamelCase 或 foo.example.com/CamelCase 形式。--- 许多 .condition.type 值(例如 Available)在各个资源中是一致的,但由于任意条件都可能会有用(请参阅 .node.status.conditions),因此能够解决冲突非常重要。它匹配的正则表达式为 (dns1123SubdomainFmt/)?(qualifiedNameFmt)
criticalIncidents
list (object)
可选
CriticalIncidents 是所有活跃的严重突发事件的扁平列表。
criticalIncidents[]
object
可选
CriticalIncident 包含有关正在进行的严重突发事件的所有信息。
criticalIncidents[].code
string
必需
Code 是此特定错误的错误代码。错误代码是 DBSE+数字字符串,例如“DBSE1012”。
criticalIncidents[].createTime
string
必需
CreateTime 是在来源创建此突发事件时的时间戳。
criticalIncidents[].message
string
可选
Message 描述发生的突发事件/错误。
criticalIncidents[].messageTemplateParams
object
可选
MessageTemplateParams 包含在界面中生成人性化数据驱动型消息版本所需的键值对。
criticalIncidents[].resource
object
必需
Resource 包含有关报告突发事件的数据库服务组件以及 Kubernetes 资源的信息。
criticalIncidents[].resource.component
string
必需
Component 是报告突发事件的数据库服务子系统的内部标识符。
criticalIncidents[].resource.location
object
可选
位置
criticalIncidents[].resource.location.cluster
string
可选
Cluster 是受影响的 Kubernetes 资源的集群名称。
criticalIncidents[].resource.location.group
string
可选
Group 是 Kubernetes 资源的组名称。
criticalIncidents[].resource.location.kind
string
可选
Kind 是 Kubernetes 资源的种类。
criticalIncidents[].resource.location.name
string
可选
Name 是受影响的 Kubernetes 资源的名称。
criticalIncidents[].resource.location.namespace
string
可选
Namespace 是受影响的 Kubernetes 资源的命名空间。
criticalIncidents[].resource.location.version
string
可选
Version 是 Kubernetes 资源的版本。
criticalIncidents[].stackTrace
list (object)
可选
StackTrace 包含来自堆栈轨迹的消息的非结构化列表。
criticalIncidents[].stackTrace[]
object
可选
CriticalIncidentStackTraceMessage 包含可用于突发事件的堆栈轨迹信息。
criticalIncidents[].stackTrace[].component
string
可选
Component 是记录消息的数据库服务组件的名称。
criticalIncidents[].stackTrace[].message
string
可选
记录的消息。
criticalIncidents[].transientUntil
string
可选
如果存在,则 TransientUntil 指示在指定时间之前,问题应被视为暂时性问题。
observedGeneration
integer
可选
内部:控制器观察到的生成。
reconciled
boolean
可选
内部:资源是否由控制器进行了协调。