Sidecar v1.1.1 自訂資源定義

選取說明文件版本:

規格結構定義

SidecarSpec 會指定 Sidecar 的所需狀態。

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
        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:
    - 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
      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
      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 會指定要掛接到 Sidecar 容器的現有磁碟區清單。詳情請參閱 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 中永久磁碟資源的專屬 ID (Amazon EBS 磁碟區)。詳情請參閱: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 儲存體帳戶名稱和金鑰的密碼名稱
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 是使用者驗證密鑰的參照,預設為空白。詳情請參閱: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 為選用項目:使用者是 rados 使用者名稱, 預設為管理員。詳情請參閱:https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
additionalVolumes[].cinder
object
選填
cinder 代表已附加並掛接至 kubelets 主體機器的 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 的參數的密鑰物件
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)
選填
如果未指定項目,參照的 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 (Container Storage Interface) 代表由特定外部 CSI 驅動程式處理的暫時性儲存空間 (Beta 版功能)。
additionalVolumes[].csi.driver
string
必填
driver 是處理這個磁碟區的 CSI 驅動程式名稱。請洽詢管理員,瞭解叢集中註冊的正確名稱。
additionalVolumes[].csi.fsType
string
選填
要掛接的 fsType。例如:"ext4"、"xfs"、"ntfs"。 如未提供,系統會將空白值傳遞至相關聯的 CSI 驅動程式,該驅動程式會決定要套用的預設檔案系統。
additionalVolumes[].csi.nodePublishSecretRef
object
選填
nodePublishSecretRef 是指包含機密資訊的 Secret 物件,可傳遞至 CSI 驅動程式,完成 CSI NodePublishVolume 和 NodeUnpublishVolume 呼叫。這是選填欄位,如果不需要密碼,可以留空。如果密鑰物件包含多個密鑰,系統會傳遞所有密鑰參照。
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 的向下 API,應會填入這個磁碟區
additionalVolumes[].downwardAPI.defaultMode
integer
選填
選用:預設要在建立的檔案上使用的模式位元。必須是選用項目:模式位元,用於預設設定所建立檔案的權限。必須是介於 0000 到 0777 之間的八進位值,或是介於 0 到 511 之間的十進位值。YAML 接受八進位和十進位值,JSON 則要求模式位元使用十進位值。預設值為 0644。路徑中的目錄不受這項設定影響。這可能會與影響檔案模式的其他選項 (例如 fsGroup) 發生衝突,導致設定其他模式位元。
additionalVolumes[].downwardAPI.items
list (object)
選填
Items 是向下 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
必填
必要:路徑是要建立的檔案相對路徑。不得為絕對路徑或包含「..」路徑。必須採用 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 代表應備份這個目錄的儲存媒體類型。預設值為「」,表示使用節點的預設媒體。必須是空字串 (預設) 或記憶體。詳情請參閱: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
選填
臨時磁碟區是由叢集儲存空間驅動程式處理的磁碟區。磁碟區的生命週期與定義該磁碟區的 Pod 息息相關,會在 Pod 啟動前建立,並在 Pod 移除時刪除。 在下列情況下使用這個選項:a) 只需要在 Pod 執行時使用磁碟區;b) 需要一般磁碟區的功能,例如從快照還原或容量追蹤;c) 透過儲存空間級別指定儲存空間驅動程式;d) 儲存空間驅動程式透過 PersistentVolumeClaim 支援動態磁碟區佈建 (如要進一步瞭解這個磁碟區類型與 PersistentVolumeClaim 之間的關聯,請參閱 EphemeralVolumeSource)。\n 如要使用在個別 Pod 生命週期結束後仍會保留的磁碟區,請使用 PersistentVolumeClaim 或其中一個廠商專屬的磁碟區 API。\n 如果 CSI 驅動程式的用途是這樣,請使用 CSI 建立輕量級的本機暫時性磁碟區。詳情請參閱驅動程式的說明文件。\nPod 可同時使用這兩種暫時性磁碟區和永久磁碟區。
additionalVolumes[].ephemeral.volumeClaimTemplate
object
選填
系統會使用這個值建立獨立的 PVC,以佈建磁碟區。內嵌這個 EphemeralVolumeSource 的 Pod 會是 PVC 的擁有者,否則 PVC 會連同 Pod 一併刪除。PVC 名稱為 <pod name>-<volume name>,其中 <volume name>PodSpec.Volumes 陣列項目中的名稱。如果串連的名稱不適用於 PVC (例如過長),Pod 驗證就會拒絕 Pod。\n 如果現有 PVC 的名稱與 Pod 相同,但並非由 Pod 擁有,系統將不會* 使用該 PVC,以免 Pod 誤用不相關的磁碟區。在移除不相關的 PVC 之前,系統會封鎖 Pod 的啟動作業。如果預先建立的 PVC 要供 Pod 使用,則 PVC 必須在 Pod 存在時,更新為 Pod 的擁有者參照。一般來說,這並非必要步驟,但手動重建損毀的叢集時,這項功能可能很有用。\n 這個欄位為唯讀,Kubernetes 不會在 PVC 建立後進行任何變更。\n 必要,不得為 nil。
additionalVolumes[].ephemeral.volumeClaimTemplate.metadata
object
選填
可能包含標籤和註解,建立 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 feature gate。
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 feature gate。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.resources
object
選填
資源代表音量應有的最低資源。如果啟用 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
必填
名稱必須與使用這個欄位的 Pod 中 pod.spec.resourceClaims 的其中一個項目名稱相符。讓容器可存取該資源。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.resources.limits
integer or string
選填
限制:說明允許的運算資源上限。詳情請參閱:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.resources.requests
integer or string
選填
要求說明所需運算資源的最低數量。如果省略容器的「Requests」,系統會預設為「Limits」(如果已明確指定),否則會設為實作定義的值。要求不得超過限制。詳情請參閱:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.selector
object
選填
選取器是磁碟區的標籤查詢,用於考量繫結。
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
必填
鍵是選取器套用的標籤鍵。
additionalVolumes[].ephemeral.volumeClaimTemplate.spec.selector.matchExpressions[].operator
string
必填
運算子代表鍵與一組值之間的關係。有效運算子包括 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.volumeMode
string
選填
volumeMode 定義聲明要求的磁碟區類型。如果未納入聲明規格,則表示檔案系統的值。
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 物件參照,可傳遞至外掛程式指令碼。如未指定密鑰物件,這個欄位可能會留空。如果密鑰物件包含多個密鑰,所有密鑰都會傳遞至外掛程式指令碼。
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 資料集的專屬 ID
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 掛接至 InitContainer,使用 Git 複製存放區,然後將 EmptyDir 掛接至 Pod 的容器。
additionalVolumes[].gitRepo.directory
string
選填
directory 是目標目錄名稱。不得包含或以「..」開頭。如果提供「.」,則磁碟區目錄會是 Git 存放區。否則,如果指定了,磁碟區會包含指定名稱的子目錄中的 git 存放區。
additionalVolumes[].gitRepo.repository
string
必填
repository 是網址
additionalVolumes[].gitRepo.revision
string
選填
修訂版本是指定修訂版本的提交雜湊。
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
選填
type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
additionalVolumes[].iscsi
object
選填
iscsi 代表附加至 kubelet 主體機器的 ISCSI 磁碟資源,然後公開至 Pod。詳情請參閱: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 介面 <target portal>:<volume name>。
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)
選填
入口網站是 iSCSI 目標入口網站清單。如果通訊埠不是預設通訊埠 (通常是 TCP 通訊埠 860 和 3260),入口網站就是 IP 或 ip_addr:port。
additionalVolumes[].iscsi.portals[]
string
選填
additionalVolumes[].iscsi.readOnly
boolean
選填
此處的 readOnly 會強制執行 VolumeMounts 中的 ReadOnly 設定。預設值為 false。
additionalVolumes[].iscsi.secretRef
object
選填
secretRef 是 iSCSI 目標和啟動器驗證的 CHAP 密碼
additionalVolumes[].iscsi.secretRef.name
string
選填
參照對象的名稱。詳情請參閱:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
additionalVolumes[].iscsi.targetPortal
string
必填
targetPortal 是 iSCSI 目標入口網站。如果通訊埠不是預設通訊埠 (通常是 TCP 通訊埠 860 和 3260),入口網站就是 IP 或 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 是 PersistentVolumeClaim 的名稱,與使用這個磁碟區的 Pod 位於相同命名空間。更多 資訊: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 Controller 永久磁碟的 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
選填
所有單一資源的投影項目,包括密鑰、configmap 和 downward API
additionalVolumes[].projected.defaultMode
integer
選填
defaultMode 是用來預設在建立的檔案上設定權限的模式位元。必須是介於 0000 和 0777 之間的八進位值,或是介於 0 和 511 之間的十進位值。YAML 接受八進位和十進位值,但 JSON 必須使用十進位值表示模式位元。路徑中的目錄不受這項設定影響。這可能會與影響檔案模式的其他選項 (例如 fsGroup) 發生衝突,導致設定其他模式位元。
additionalVolumes[].projected.sources
list (object)
選填
來源是磁碟區預測清單
additionalVolumes[].projected.sources[]
object
選填
可與其他支援的磁碟區類型一起投影
additionalVolumes[].projected.sources[].configMap
object
選填
configMap 資訊,說明要將 configMap 資料投影到專案
additionalVolumes[].projected.sources[].configMap.items
list (object)
選填
如果未指定項目,參照的 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 file 的清單
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
必填
必要:路徑是所要建立檔案的相對路徑。不得為絕對路徑或包含「..」路徑。必須採用 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
選填
將密鑰資料的私密資訊複製到專案
additionalVolumes[].projected.sources[].secret.items
list (object)
選填
如果未指定項目,參照 Secret 的 Data 欄位中每個鍵/值配對都會投影到磁碟區,做為名稱是鍵且內容是值的檔案。如果指定,列出的鍵會投影到指定路徑,未列出的鍵則不會出現。如果指定的金鑰不在 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
選填
選用欄位,用於指定是否必須定義密鑰或其金鑰
additionalVolumes[].projected.sources[].serviceAccountToken
object
選填
serviceAccountToken 是指將 serviceAccountToken 資料投影至專案的相關資訊
additionalVolumes[].projected.sources[].serviceAccountToken.audience
string
選填
audience 是權杖的目標對象。權杖接收者必須使用權杖目標對象中指定的 ID 識別自己,否則應拒絕權杖。目標對象預設為 apiserver 的 ID。
additionalVolumes[].projected.sources[].serviceAccountToken.expirationSeconds
integer
選填
expirationSeconds 是服務帳戶符記的有效期限要求。當權杖即將過期時,kubelet 磁碟區外掛程式會主動輪替服務帳戶權杖。如果權杖的存留時間超過 80%,或權杖已超過 24 小時,kubelet 就會開始嘗試輪替權杖。預設值為 1 小時,且必須至少為 10 分鐘。
additionalVolumes[].projected.sources[].serviceAccountToken.path
string
必填
path 是相對於檔案掛接點的路徑,用於將權杖投影到該檔案中。
additionalVolumes[].quobyte
object
選填
quobyte 代表主機上的 Quobyte 掛接點,與 Pod 共用生命週期
additionalVolumes[].quobyte.group
string
選填
group to map volume access to Default is no group
additionalVolumes[].quobyte.readOnly
boolean
選填
此處的 readOnly 會強制以唯讀權限掛接 Quobyte 磁碟區。預設值為 false。
additionalVolumes[].quobyte.registry
string
必填
登錄檔代表一或多個 Quobyte 登錄檔服務,以字串形式指定為 host:port 配對 (多個項目以半形逗號分隔),做為磁碟區的中央登錄檔
additionalVolumes[].quobyte.tenant
string
選填
在後端擁有指定 Quobyte 磁碟區的租戶。與動態佈建的 Quobyte 磁碟區搭配使用時,值是由外掛程式設定。
additionalVolumes[].quobyte.user
string
選填
使用者,將磁碟區存取權對應至預設服務帳戶使用者
additionalVolumes[].quobyte.volume
string
必填
volume 是指字串,會依名稱參照已建立的 Quobyte 磁碟區。
additionalVolumes[].rbd
object
選填
rbd 代表主機上掛接的 Rados Block Device,與 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 的驗證密鑰名稱。如果提供,則會覆寫金鑰環。預設值為 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 Gateway 的主機位址。
additionalVolumes[].scaleIO.protectionDomain
string
選填
protectionDomain 是已設定儲存空間的 ScaleIO 保護網域名稱。
additionalVolumes[].scaleIO.readOnly
boolean
選填
readOnly 預設值為 false (讀取/寫入)。這裡的 ReadOnly 會強制執行 VolumeMounts 中的 ReadOnly 設定。
additionalVolumes[].scaleIO.secretRef
object
必填
secretRef 參照 ScaleIO 使用者和其他機密資訊的密鑰。如果未提供這項資訊,登入作業就會失敗。
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 代表應填入這個磁碟區的密鑰。詳情請參閱: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)
選填
項目。如未指定,所參照 Secret 的「Data」欄位中每個鍵/值組合,都會投影到磁碟區中,做為名稱是鍵且內容是值的檔案。如果指定,列出的鍵會投影到指定路徑,未列出的鍵則不會出現。如果指定的金鑰不在 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 命名空間中密鑰的名稱。詳情請參閱: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 憑證的密鑰。如未指定,系統會嘗試使用預設值。
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)
選填
進入點陣列。未在殼層中執行。 如未提供此內容,系統會使用容器映像檔的 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 代表 Container 中的環境變數。
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
必填
要選取的密鑰金鑰。必須是有效的密鑰。
sidecars[].env[].valueFrom.secretKeyRef.name
string
選填
參照對象的名稱。詳情請參閱: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sidecars[].env[].valueFrom.secretKeyRef.optional
boolean
選填
指定是否必須定義密鑰或其金鑰
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
選填
可選用的 ID,會加到 ConfigMap 中每個鍵的前面。必須是 C_IDENTIFIER。
sidecars[].envFrom[].secretRef
object
選填
可選取的密鑰
sidecars[].envFrom[].secretRef.name
string
選填
參照對象的名稱。詳情請參閱:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sidecars[].envFrom[].secretRef.optional
boolean
選填
指定是否必須定義密鑰
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。如果處理常式失敗,系統會根據容器的重新啟動政策終止並重新啟動容器。在完成 Hook 之前,容器區塊的其他管理作業。更多 資訊: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 是要在容器內執行的指令列,指令的工作目錄是容器檔案系統中的根目錄 (「/」)。該指令會執行,但不會在殼層內執行,因此標準殼層指令 (「|」等) 無效。如要使用殼層,您必須明確呼叫該殼層。系統會將結束狀態為 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.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
選填
由於 API 要求或管理事件 (例如存活/啟動探查失敗、搶占和資源爭用),容器即將終止時,系統會立即呼叫 PreStop。如果容器當機或結束,系統就不會呼叫處理常式。Pod 的終止寬限期倒數計時會在執行 PreStop Hook 前開始。無論處理常式結果為何,容器最終都會在 Pod 的終止寬限期內終止 (除非因終止程式而延遲)。在 Hook 完成或達到終止寬限期之前,容器的其他管理作業都會遭到封鎖。詳情請參閱: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 是要在容器內執行的指令列,指令的工作目錄是容器檔案系統中的根目錄 (「/」)。系統只會執行指令,不會在殼層中執行,因此傳統的殼層指令 (例如「|」) 無效。如要使用殼層,您必須明確呼叫該殼層。系統會將結束狀態為 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.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 是要在容器內執行的指令列,指令的工作目錄是容器檔案系統中的根目錄 (「/」)。該指令會 exec,不會在殼層內執行,因此標準殼層指令 (「|」等) 無效。如要使用殼層,您必須明確呼叫該殼層。如果退出狀態為 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 中執行的程序收到終止信號後,到程序收到終止信號而強制停止的這段時間,以秒為單位。請將這個值設為大於程序預期清除時間。如果這個值為 nil,系統會使用 Pod 的 terminationGracePeriodSeconds。否則,這個值會覆寫 Pod 規格提供的值。值必須為非負整數。值為零表示立即停止使用終止訊號 (沒有關閉的機會)。這是 Beta 版欄位,必須啟用 ProbeTerminationGracePeriod feature gate。最小值為 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 是要在容器內執行的指令列,指令的工作目錄是容器檔案系統中的根目錄 (「/」)。該指令會 exec'd,不會在殼層內執行,因此標準殼層指令 (「|」等) 無效。如要使用殼層,您必須明確呼叫該殼層。如果退出狀態為 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 中執行的程序收到終止信號後,到程序收到終止信號而強制停止的這段時間,以秒為單位。請將這個值設為大於程序預期清除時間。如果這個值為 nil,系統會使用 Pod 的 terminationGracePeriodSeconds。否則,這個值會覆寫 Pod 規格提供的值。值必須為非負整數。值為零表示立即停止使用終止訊號 (沒有關閉的機會)。這是 Beta 版欄位,必須啟用 ProbeTerminationGracePeriod feature gate。最小值為 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
必填
名稱必須與 Pod 中 pod.spec.resourceClaims 的其中一個項目名稱相符,這個欄位會使用該項目。讓容器可存取該資源。
sidecars[].resources.limits
integer or string
選填
限制說明允許的運算資源上限。詳情請參閱:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
sidecars[].resources.requests
integer or string
選填
要求說明所需的最低運算資源量。如果省略容器的「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 容器不同,通常稱為「Sidecar」容器。雖然這個 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 旗標。如果容器:1) 以具備權限的身分執行;2) 具有 CAP_SYS_ADMIN,則 AllowPrivilegeEscalation 一律為 true。請注意,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 功能 type
sidecars[].securityContext.capabilities.drop
list (string)
選填
已移除的功能
sidecars[].securityContext.capabilities.drop[]
string
選填
Capability 代表 POSIX 功能 type
sidecars[].securityContext.privileged
boolean
選填
在特權模式中執行容器。特殊權限容器中的程序基本上等同於主機上的根程序。預設值為 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
選填
角色是套用至容器的 SELinux 角色標籤。
sidecars[].securityContext.seLinuxOptions.type
string
選填
類型是套用至容器的 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 設定檔位置的遞減路徑。如果類型為「Localhost」,則必須設定。 不得為任何其他類型設定。
sidecars[].securityContext.seccompProfile.type
string
必填
type 則表示要套用哪種 seccomp 設定檔。有效選項包括:\n Localhost - 應使用節點檔案中定義的設定檔。RuntimeDefault - 應使用容器執行階段預設設定檔。Unconfined - no profile should be applied.
sidecars[].securityContext.windowsOptions
object
選填
套用至所有容器的 Windows 專屬設定。如未指定,系統會使用 PodSecurityContext 中的選項。如果同時在 SecurityContext 和 PodSecurityContext 中設定,系統會優先採用 SecurityContext 中指定的值。請注意,如果 spec.os.name 是 Linux,就無法設定這個欄位。
sidecars[].securityContext.windowsOptions.gmsaCredentialSpec
string
選填
GMSACredentialSpec 是 GMSA 許可網路掛鉤 (https://github.com/kubernetes-sigs/windows-gmsa) 的位置,會內嵌 GMSACredentialSpecName 欄位所命名 GMSA 憑證規格的內容。
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 中的使用者名稱,用於執行容器程序的進入點。如未指定,預設會使用映像檔中繼資料指定的使用者。也可以在 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 是要在容器內執行的指令列,指令的工作目錄是容器檔案系統中的根目錄 (「/」)。該指令會 exec,不會在殼層內執行,因此標準殼層指令 (「|」等) 無效。如要使用殼層,您必須明確呼叫該殼層。如果退出狀態為 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 中執行的程序收到終止信號後,到程序收到終止信號而強制停止的這段時間,以秒為單位。請將這個值設為大於程序預期清除時間。如果這個值為 nil,系統會使用 Pod 的 terminationGracePeriodSeconds。否則,這個值會覆寫 Pod 規格提供的值。值必須為非負整數。值為零表示立即停止使用終止訊號 (沒有關閉的機會)。這是 Beta 版欄位,必須啟用 ProbeTerminationGracePeriod feature gate。最小值為 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 通道後關閉該通道。When stdin is true the stdin stream will remain open across multiple attach sessions. 如果 stdinOnce 設為 true,系統會在容器啟動時開啟 stdin,直到第一個用戶端附加至 stdin 為止,stdin 才會填入資料,之後 stdin 會保持開啟並接受資料,直到用戶端中斷連線為止,此時 stdin 會關閉,並保持關閉狀態,直到容器重新啟動。如果這個旗標為 false,從 stdin 讀取資料的容器程序永遠不會收到 EOF。預設值為 false
sidecars[].terminationMessagePath
string
選填
選用:將容器的終止訊息寫入檔案系統時,檔案掛接至容器檔案系統的路徑。Message written is intended to be brief final status, such as an assertion failure message. 如果超過 4096 個位元組,節點會截斷該值。 所有容器的訊息總長度上限為 12 KB。預設值為 /dev/termination-log。設定完成後即無法更新。
sidecars[].terminationMessagePolicy
string
選填
指出終止訊息的填入方式。檔案會使用 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 會指定 Sidecar 的觀察狀態。

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[]
object
選填
Condition 包含這個 API 資源目前狀態某個層面的詳細資料。--- This struct is intended for direct use as an array at the field path .status.conditions. 舉例來說:\n type FooStatus struct{ // Represents the observations of a\n foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"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 // other fields }
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 包含程式化 ID,指出條件上次轉換的原因。特定條件類型的產生者可能會定義這個欄位的預期值和意義,以及這些值是否視為有保障的 API。值應為 CamelCase 字串。 這個欄位不得空白。
conditions[].status
string
必填

有效值:"True""False"Unknown

條件狀態,可以是 True、False 或 Unknown。
conditions[].type
string
必填

長度上限:316

駝峰式大小寫的條件類型,或 foo.example.com/CamelCase。 --- 許多 .condition.type 值在資源間是一致的,例如 Available,但由於任意條件可能很有用 (請參閱 .node.status.conditions),因此能夠解除衝突非常重要。比對的規則運算式為 (dns1123SubdomainFmt/)?(qualifiedNameFmt)
criticalIncidents
list (object)
選填
CriticalIncidents 是所有有效 Critical 事件的平面清單。
criticalIncidents[]
object
選填
CriticalIncident 包含目前重大事件的所有資訊。
criticalIncidents[].code
string
必填
Code 是這項特定錯誤的錯誤代碼。 錯誤代碼為 DBSE+數字字串,例如「DBSE1012」。
criticalIncidents[].createTime
string
必填
CreateTime 是指在來源建立這起事件的時間戳記。
criticalIncidents[].message
string
選填
訊息會說明發生的事件/錯誤。
criticalIncidents[].messageTemplateParams
object
選填
MessageTemplateParams 包含鍵/值組合,可產生使用者友善的資料驅動型 Message 版本,並顯示在 UI 中。
criticalIncidents[].resource
object
必填
資源包含回報事件的資料庫服務元件,以及 Kubernetes 資源的相關資訊。
criticalIncidents[].resource.component
string
必填
Component 是回報事件的資料庫服務子系統內部 ID。
criticalIncidents[].resource.location
object
選填
位置
criticalIncidents[].resource.location.cluster
string
選填
叢集是受影響 Kubernetes 資源的叢集名稱。
criticalIncidents[].resource.location.group
string
選填
Group 是 Kubernetes 資源的群組名稱。
criticalIncidents[].resource.location.kind
string
選填
Kind 是 Kubernetes 資源的種類。
criticalIncidents[].resource.location.name
string
選填
「名稱」是受影響的 Kubernetes 資源名稱。
criticalIncidents[].resource.location.namespace
string
選填
命名空間是受影響 Kubernetes 資源的命名空間。
criticalIncidents[].resource.location.version
string
選填
版本是 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
選填
內部:資源是否已由控制器協調。