儲存卷掛載不上
檢查Flexvolume是否安裝
在master節點上執行下面命令。
# kubectl get pod -n kube-system | grep flexvolume
flexvolume-4wh8s 1/1 Running 0 8d
flexvolume-65z49 1/1 Running 0 8d
flexvolume-bpc6s 1/1 Running 0 8d
flexvolume-l8pml 1/1 Running 0 8d
flexvolume-mzkpv 1/1 Running 0 8d
flexvolume-wbfhv 1/1 Running 0 8d
flexvolume-xf5cs 1/1 Running 0 8d
查看flexvolume pod狀態是否為Running,且啟動並執行數量與節點數量相同;
如果沒有安裝,請參考安裝外掛程式。
如果運行狀態不對,請參考外掛程式作業記錄分析。
檢查動態儲存裝置外掛程式是否安裝
如果使用雲端硬碟的動態儲存裝置功能,需要確認是否安裝動態儲存裝置外掛程式,執行下面命令。
# kubectl get pod -n kube-system | grep alicloud-disk
alicloud-disk-controller-8679c9fc76-lq6zb 1/1 Running 0 7d
如果沒有安裝,請參考安裝外掛程式。
如果運行狀態不對,請參考外掛程式作業記錄分析。
如何查看儲存相關日誌
Flexvolume日誌(master1上執行)
# kubectl get pod -n kube-system | grep flexvolume
# kubectl logs flexvolume-4wh8s -n kube-system
# kubectl describe pod flexvolume-4wh8s -n kube-system
#在pod描述最後若干行是pod運行狀態的描述,可以根據描述分析錯誤;
# 查看host節點上持久化的日誌;
# 如果某個Pod掛載失敗,查看pod所在的節點地址:
# kubectl describe pod nginx-97dc96f7b-xbx8t | grep Node
Node: cn-hangzhou.i-bp19myla3uvnt6zihejb/192.168.247.85
Node-Selectors: <none>
# 登陸節點,查看日誌:
# ssh 192.168.247.85
# ls /var/log/alicloud/flexvolume*
flexvolume_disk.log flexvolume_nas.log flexvolume_o#ss.log
可以看到雲端硬碟、nas、oss掛載的日誌;
provsioner外掛程式日誌(master1上執行)
# kubectl get pod -n kube-system | grep alicloud-disk
# kubectl logs alicloud-disk-controller-8679c9fc76-lq6zb -n kube-system
# kubectl describe pod alicloud-disk-controller-8679c9fc76-lq6zb -n kube-system
#在pod描述最後若干行是pod運行狀態的描述,可以根據描述分析錯誤;
Kubelet日誌
# 如果某個Pod掛載失敗,查看pod所在的節點地址:
# kubectl describe pod nginx-97dc96f7b-xbx8t | grep Node
Node: cn-hangzhou.i-bp19myla3uvnt6zihejb/192.168.247.85
Node-Selectors: <none>
# 登陸節點,查看kubelet日誌:
# ssh 192.168.247.85
# journalctl -u kubelet -r -n 1000 &> kubelet.log
# -n的值表示期望看到的日誌行數;
上述為擷取flexvolume、provsioner、Kubelet錯誤記錄檔的方法,如果無法根據日誌修複狀態,可以附帶日誌資訊聯絡阿里雲支援人員;
雲端硬碟常見問題
雲端硬碟掛載失敗,出現timeout錯誤
如果節點為手動添加,可能是由於sts許可權的問題導致,需要手動設定RAM許可權:通過控制台使用執行個體 RAM 角色。
雲端硬碟掛載失敗,出現Size錯誤
建立雲端硬碟對Size有如下要求。
- 普通雲端硬碟:最小5Gi
- 高效雲端硬碟:最小20Gi
- SSD雲端硬碟:最小20Gi
雲端硬碟掛載失敗,出現zone錯誤;
ECS掛載雲端硬碟時,必須在同一個region下面的相同zone內,否則不能掛載成功。
升級系統後,雲端硬碟有時報錯:input/output error
- 升級flexvolume到v1.9.7-42e8198或以後版本。
- 對於已經出問題的Pod,需要重建。
升級命令:
# kubectl set image daemonset/flexvolume acs-flexvolume=registry.cn-hangzhou.aliyuncs.com/acs/flexvolume:v1.9.7-42e8198 -n kube-system
Flexvolume版本資訊:可登入Container Registry控制台,單擊左側導覽列中的鏡像搜尋,搜尋acs/flexvolume,擷取Flexvolume最新版本資訊。
NAS常見問題
NAS掛載時間太長
如果NAS卷包含的檔案量很大,且在掛載模板中配置了chmod參數,可能導致掛載時間過長的問題;可以去掉chmod參數。
NAS掛載失敗,出現timeouot錯誤
檢查nas掛載點和叢集是否在同一個vpc內,否則無法掛載。
OSS常見問題
oss掛載失敗
檢查使用的ak是否正確。