簡體   English   中英

Helm 未在 API 服務器調用中添加超時參數

[英]Helm not adding timeout param in API server call

當我們使用 helm 創建 Istio VirtualService 或 DestinationRules 時,需要 30 多秒。 所以我們設置了一個更高的5m超時。

命令使用helm upgrade --install --wait --timeout 5m --v 9 helloworld./templateDir

但是,我看到 helm 沒有在 APIserver 調用中傳遞新的超時值。 當我們使用 kubectl 創建它時,我們為kubectl設置--request-timeout參數,一切都很好

既然是apiserver的超時,是否可以為helm的所有API服務器請求設置更高的超時值? 您是否可以針對此問題提出其他解決方法?

I0528 17:52:57.664992   11148 round_trippers.go:423] curl -k -v -XPOST  -H "Content-Type: application/json" -H "Accept: application/json" 'https://aaaa.sk1.us-east-1.eks.amazonaws.com/apis/networking.istio.io/v1beta1/namespaces/default/destinationrules '
I0528 17:53:27.981691   11148 round_trippers.go:443] POST https://aaaa.sk1.us-east-1.eks.amazonaws.com/apis/networking.istio.io/v1beta1/namespaces/default/destinationrules  504 Gateway Timeout in 30316 milliseconds
I0528 17:53:27.981691   11148 round_trippers.go:449] Response Headers:
I0528 17:53:27.981691   11148 round_trippers.go:452]     Audit-Id: cba23005-b8db-47f7-8801-4c89e6447cd3
I0528 17:53:27.981691   11148 round_trippers.go:452]     Content-Type: application/json
I0528 17:53:27.981691   11148 round_trippers.go:452]     Content-Length: 187
I0528 17:53:27.981691   11148 round_trippers.go:452]     Date: Thu, 28 May 2020 12:23:27 GMT
I0528 17:53:27.981691   11148 request.go:1017] Response Body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Timeout: request did not complete within requested timeout 30s","reason":"Timeout","details":{},"code":504}
I0528 17:53:27.982759   11148 request.go:1017] Request Body: {"apiVersion":"networking.istio.io/v1beta1","kind":"VirtualService","metadata":{"name":"mbrsvc","namespace":"default"},"spec":{"hosts":["mbrsvc"],"http":[{"route":[{"destination":{"host":"mbrsvc","subset":"1.0.0"},"weight":100}]}]}}

文檔指出--timeout應該以秒為單位。

--timeout :等待 Kube.netes 命令完成的秒數,默認為5m0s

--wait :等待直到所有 Pod 都處於就緒狀態 state,PVC 已綁定,部署具有最小( maxUnavailable Desired Pod 處於就緒狀態 state 並且服務具有 IP 地址(如果是LoadBalancer則為 Ingress),然后再將發布標記為成功。 它會等待--timeout值。 如果達到超時,發布將被標記為FAILED 注意:在 Deployment 將replicas設置為 1 且maxUnavailable未設置為 0 作為滾動更新策略的一部分的情況下, --wait將返回就緒狀態,因為它已滿足處於就緒狀態的最小 Pod。

希望有所幫助。

此超時來自服務器(代碼 504)而不是來自客戶端(Helm)。 恐怕提供--timeout不會對這里產生影響

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM