我有一個kubernetes窗格,我使用一個持久性聲明來附加一個GCE持久性卷。 (對於沒有批量聲明的更嚴重問題,請參閱:Mounting a gcePersistentDisk kubernetes volume is very slow)爲什麼在Kubernetes吊艙中安裝GCE卷會導致延遲?
當沒有連接卷時,該任務盒會立即啓動(最長2秒)。但是,如果該容器具有GCE持續卷裝,則會在20到60秒之間達到該狀態。我正在測試不同的磁盤大小(10,200,500吉比特)和多個吊艙創建,並且大小似乎與延遲無關。
而這種延遲不僅在發生開始也當滾動更新與複製控制器執行或當代碼運行時崩潰。
下面我有kubernetes規格:
複製控制器
{
"apiVersion": "v1",
"kind": "ReplicationController",
"metadata": {
"name": "a1"
},
"spec": {
"replicas": 1,
"template": {
"metadata": {
"labels": {
"app": "a1"
}
},
"spec": {
"containers": [
{
"name": "a1-setup",
"image": "nginx",
"ports": [
{
"containerPort": 80
},
{
"containerPort": 443
}
]
}
]
}
}
}
}
體積要求
{
"apiVersion": "v1",
"kind": "PersistentVolumeClaim",
"metadata": {
"name": "myclaim"
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "10Gi"
}
}
}
}
,體積
{
"apiVersion": "v1",
"kind": "PersistentVolume",
"metadata": {
"name": "mydisk",
"labels": {
"name": "mydisk"
}
},
"spec": {
"capacity": {
"storage": "10Gi"
},
"accessModes": [
"ReadWriteOnce"
],
"gcePersistentDisk": {
"pdName": "a1-drive",
"fsType": "ext4"
}
}
}
而且
不僅如此,但如果您重新啓動一個窗格或刪除並重新創建,存儲可能不會卸載,直到稍後,然後嘗試掛載存儲的窗格將無法通過,因爲存儲已經安裝在其他地方...因此它會等到存儲未安裝之後才能重新安裝。我看到幾分鐘的延遲,它與我在GKE節點日誌中可以看到的靜音錯誤相匹配。 – MrE