日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

設置ECI Pod的故障處理策略

默認情況下,ECI Pod創建失敗后,系統會自動重試嘗試創建。如果您希望盡快得到創建結果以便及時處理故障,可以修改ECI Pod的故障處理策略。

配置說明

在虛擬節點上創建ECI Pod時,可能會因為庫存不足等原因導致Pod創建失敗,默認情況下,系統會自動進行重調度,嘗試重新創建Pod。您可以通過添加k8s.aliyun.com/eci-fail-strategy的Annotation來修改ECI Pod的故障處理策略,設置ECI Pod創建失敗后是否嘗試重新創建。

重要
  • Annotation請添加在Pod的metadata下,例如:創建Deployment時,Annotation需添加在spec>template>metadata下。

  • 僅支持在創建ECI Pod時添加ECI相關Annotation來生效ECI功能,更新ECI Pod時添加或者修改ECI相關Annotation均不會生效。

k8s.aliyun.com/eci-fail-strategy的取值說明如下:

取值

說明

場景

fail-back

失敗自動恢復。即Pod創建失敗后自動嘗試重新創建。此時,Pod會保持Pending狀態,直到創建成功變為Running狀態。

側重成功率,能夠接受Pod延遲交付。

fail-over

失敗轉移。效果等同于fail-back。

fail-fast

快速失敗。Pod創建失敗后直接報錯。Pod顯示為ProviderFailed狀態,由上層編排決定是否重試,或者把Pod創建調度到普通節點。

側重效率,希望Pod快速交付,有完善的失敗處理邏輯。

說明

不推薦通過k8s.aliyun.com/eci-reschedule-enable設置重調度。

配置示例

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-fail-strategy: "fail-fast"  #設置Pod創建失敗后直接報錯,不再重新創建
        k8s.aliyun.com/eci-use-specs: "ecs.c6.large"
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

以上YAML示例中,ECI Pod的故障處理策略為fail-fast。如果Pod長時間Pending,您可以查看Pod status.reason。

  • 如果Pod status.reason為ContainerInstanceScheduleFailed,則表示ECI調度失敗。此時查看Pod status condition,通過ContainerInstanceCreated的reason和message可以確定具體原因,進而采取相應措施,例如修改指定的規格,設置多可用區等。更多信息,請參見ContainerInstanceCreated

  • 如果Pod status.reason為空(fail-fast一般不會出現該情況),可以查看Pod status condition,通過ContainerInstanceCreated的status確認調度狀態。

    • 如果ContainerInstanceCreated為True,則表示ECI調度成功,是Sandbox創建異常。

    • 如果ContainerInstanceCreated為False,且reason不是Creating,則表示ECI調度還未成功,需要繼續等待。

以庫存不足創建ECI Pod失敗為例,當Pod的故障處理策略為fail-fast時,Pod status condition為ContainerInstanceCreated的示例如下:

說明

如果Pod的故障處理策略為fail-back,Pod創建失敗后系統會自動嘗試重調度。此時,Pod status.reason不會顯示ContainerInstanceScheduleFailed,您也可以查看Pod status condition,通過ContainerInstanceCreated的reason和message確定當前調度周期內調度失敗的原因。

{
    "conditions": [
        {
            "lastProbeTime": "2023-03-30T18:11:31Z",
            "lastTransitionTime": "2023-03-30T18:11:31Z",
            "message": "Create ECI failed because the specified instance is out of stock. %s",
            "reason": "ContainerGroup.NoStock",
            "status": "False",
            "type": "ContainerInstanceCreated"
        }
    ],
    "Reason":"ContainerInstanceScheduleFailed",
    "phase": "Pending"
}