アップグレードまたは再起動中にTrident Operator Podがスピンアップするのにかかる時間
環境
Astra Trident
回答
これは 、オペレータイメージをオンラインまたはオフラインからプルするのにかかる時間に完全に依存します。
追加情報
//コンテナが実行されていない理由を特定してみてください。// イメージのプルの遅延による一時的な エラー、またはImagePullBackOffのような永続的なエラーが原因で
ある可能性があります。
TempError:= true
containerErrors:= make(map[string] string)
if pod!
= nil{for_, containerStatus:= range pod.Status.ContainerStatuses{
//
コンテナがまだ
作成中である場合、待機の理由が「ContainerCreating」であり、それ以外のものがないことを確認してください。
理由+"、"+
"メッセージ:"+ containerStatus.State.Waiting.Message
}
}}
podNotify := func(err error, duration time.Duration)
Tridentポッドがまだ実行されていない、待機中")
}
podBackoff :=backoff.NewExponentialBackOff()
podBackoff.MaxElapsedTime=k8sTimeout
Log().Info("Waiting for Trident pod to start.")
if err :=backoff.RetryNotify(checkPodRunning, podBackoff, podNotify); err !=nil {
totalWaitTime :=k8sTimeout//
ポッドがまだ作成されていて、 //コンテナイメージのプルの遅延などの問題のために余分な時間がかかっている場合は、ポッドがオンラインになるために時間を割り当てる必要があり
ます。
If errors.IsTempOperatorError(err){
extraWaitTime :=150 * time.second
totalWaitTime = totalWaitTime + extraWaitTime
podBackoff.MaxElapsedTime = extraWaitTime
Log().Debugf("Pod is still provisioning after %3.2f seconds、"+"
waiting %3.2f seconds extra."、k8sTimeout.seconds()、extraWaitTime.seconds()
)err=backoff.RetryNotify(checkPodRunning, podBackoff, podNotify)}