邊緣節(jié)點(diǎn)FAQ
本文介紹使用ACK Edge集群的邊緣節(jié)點(diǎn)時(shí)可能遇到的常見問(wèn)題以及對(duì)應(yīng)的解決方案。
ACK Edge組件如何區(qū)分云上節(jié)點(diǎn)和云下節(jié)點(diǎn)(邊緣節(jié)點(diǎn))?
ACK Edge通過(guò)節(jié)點(diǎn)的label alibabacloud.com/is-edge-worker
來(lái)判斷是否是邊緣節(jié)點(diǎn)。
節(jié)點(diǎn)加入云端節(jié)點(diǎn)池或邊緣節(jié)點(diǎn)池時(shí),會(huì)自動(dòng)攜帶is-edge-worker
標(biāo)簽。若is-edge-worker
取值為true
,表示該節(jié)點(diǎn)為邊緣節(jié)點(diǎn);取值為false
,則表示該節(jié)點(diǎn)為云上節(jié)點(diǎn)。
專線環(huán)境下如何接入邊緣節(jié)點(diǎn)?
ACK Edge集群在專線環(huán)境下接入邊緣節(jié)點(diǎn),請(qǐng)注意以下要求。更多信息,請(qǐng)參見ACK Edge集群在專線場(chǎng)景下的特殊配置說(shuō)明。
選擇邊緣節(jié)點(diǎn)池類型時(shí),選擇專用型,然后通過(guò)添加節(jié)點(diǎn)操作生成節(jié)點(diǎn)接入腳本。
專用型節(jié)點(diǎn)池的具體信息,請(qǐng)參見創(chuàng)建邊緣節(jié)點(diǎn)池。
說(shuō)明ACK Edge集群版本為1.22及以上時(shí),不支持通過(guò)配置節(jié)點(diǎn)接入腳本中的
inDedicatedNetwork
參數(shù)實(shí)現(xiàn)專線接入。若您集群版本低于1.22,請(qǐng)及時(shí)升級(jí)版本。在專線場(chǎng)景下接入邊緣節(jié)點(diǎn)時(shí),接入過(guò)程與云產(chǎn)品之間通過(guò)內(nèi)網(wǎng)地址進(jìn)行交互,您需要確保節(jié)點(diǎn)與相關(guān)云產(chǎn)品的網(wǎng)絡(luò)已打通,包括OSS、ACR、SLB等。
GPU節(jié)點(diǎn)如何接入?
在接入節(jié)點(diǎn)前,需要先安裝好GPU Driver。
驅(qū)動(dòng)版本相關(guān)信息,請(qǐng)參見ACK支持的NVIDIA驅(qū)動(dòng)版本列表。
生成節(jié)點(diǎn)接入腳本時(shí),需配置
gpuVersion
參數(shù)。當(dāng)前支持的GPU版本如下:系統(tǒng)架構(gòu)
GPU型號(hào)
邊緣Kubernetes集群版本
AMD64/x86_64
Nvidia_Tesla_T4
≥1.16.9-aliyunedge.1
AMD64/x86_64
Nvidia_Tesla_P4
≥1.16.9-aliyunedge.1
AMD64/x86_64
Nvidia_Tesla_P100
≥1.16.9-aliyunedge.1
AMD64/x86_64
Nvidia_Tesla_V100
≥1.18.8-aliyunedge.1
AMD64/x86_64
Nvidia_Tesla_A100
≥1.20.11-aliyunedge.1
AMD64/x86_64
Nvidia_Tesla_A10
≥1.20.11-aliyunedge.1
AMD64/x86_64
Nvidia_L20
≥1.26.3-aliyun.1
AMD64/x86_64
Nvidia_L40
≥1.26.3-aliyun.1
該參數(shù)配置完成后,接入工具會(huì)自動(dòng)安裝nvidia-containerd-runtime,關(guān)于nvidia-containerd-runtime更多信息,請(qǐng)參見nvidia-containerd-runtime。
如何處理接入腳本執(zhí)行失敗的問(wèn)題?
當(dāng)腳本執(zhí)行時(shí)出現(xiàn)問(wèn)題,請(qǐng)參考以下常見問(wèn)題列表進(jìn)行處理。若出現(xiàn)以下表格中不存在的問(wèn)題,請(qǐng)收集節(jié)點(diǎn)診斷信息后,提交工單排查處理。關(guān)于如何收集邊緣節(jié)點(diǎn)診斷信息,請(qǐng)參見如何收集ACK Edge集群節(jié)點(diǎn)的診斷信息?
接入失敗信息 | 失敗原因 | 處理建議 |
The os XXX unsupport | 當(dāng)前邊緣節(jié)點(diǎn)的系統(tǒng)版本不支持。 | 關(guān)于支持的邊緣節(jié)點(diǎn)的系統(tǒng)列表,請(qǐng)參見添加邊緣節(jié)點(diǎn)。 |
invalid nodeName | 節(jié)點(diǎn)名稱不合法。 |
|
Node route overlaps with service cidr | 節(jié)點(diǎn)的路由表網(wǎng)段與集群創(chuàng)建時(shí)配置的Pod CIDR或Service CIDR沖突。 | 重新創(chuàng)建集群,請(qǐng)注意配置Pod CIDR與Service CIDR,需避免與邊緣節(jié)點(diǎn)的NameServer地址以及路由表網(wǎng)段沖突。 |
response error msg: TOKEN_EXPIRED | 接入Token過(guò)期。 |
|
A node named XXX is already exist in the cluster | 集群中已存在同名的節(jié)點(diǎn)。 | 下線集群中的同名節(jié)點(diǎn)。 |
error run phase join-node: failed to get cluster info: failed to get cluster-info configmap, Get "https://xx.xxx.xx.xx:6443/api/v1/namespaces/kube-public/configmaps/cluster-info": dial tcp xx.xxx.xx.xx:6443: i/o timeout | 獲取集群cluster-info失敗。 | edgeadm接入邊緣節(jié)點(diǎn)時(shí)需要通過(guò)該地址訪問(wèn)APIServer, 請(qǐng)檢查API Server負(fù)載均衡(SLB)ACL規(guī)則是否限制了該地址的訪問(wèn)。 |
error run phase join-node: Install edge-hub failed: Copy file /tmp/edge-hub to /usr/bin/edge-hub fail: open /usr/bin/edge-hub: text file busy | 40009 | 40009 | 安裝edge-hub失敗,節(jié)點(diǎn)上已經(jīng)存在edge-hub的二進(jìn)制文件。 | 執(zhí)行 |
error run phase post-check: timed out waiting for the condition | 系統(tǒng)組件啟動(dòng)失敗。 |
|
升級(jí)ACK Edge集群時(shí),邊緣節(jié)點(diǎn)升級(jí)失敗如何處理?
升級(jí)邊緣節(jié)點(diǎn)池時(shí),若未返回升級(jí)成功結(jié)果(This node has been upgraded successfully
,請(qǐng)參考以下內(nèi)容排查處理。
升級(jí)失敗信息 | 可能原因 | 處理建議 |
edgeadm version xxxx does not match cluster version | 升級(jí)工具版本與集群版本不匹配。 |
|
node has already been upgraded to xxx | 節(jié)點(diǎn)已經(jīng)是升級(jí)后的目標(biāo)版本。 | 如果確認(rèn)節(jié)點(diǎn)上還有組件沒(méi)有完成升級(jí),請(qǐng)保留日志并提交工單處理。 |
kubelet target version xxxx does not match cluster version xxxx | 指定的kubelet升級(jí)的版本與集群控制面版本不匹配 |
|
Parameter currentVersion cann't null | 使用了老版本的edgeadm。 |
|
upgrade kubelet failed at phase install, recover to previous state. error run phase upgrade: xxxx | 升級(jí)失敗,且已自動(dòng)回滾到之前的狀態(tài),節(jié)點(diǎn)狀態(tài)不受影響。 | 請(qǐng)保留日志并提交工單處理。 |
upgrade kubelet failed at phase install, recover to previous state recover kubelet failed, err: xxx error run phase upgrade: xxxx | 升級(jí)失敗,且自動(dòng)回滾失敗,節(jié)點(diǎn)狀態(tài)會(huì)受到影響。 | 請(qǐng)保留日志并提交工單處理。 |
如何收集ACK Edge集群節(jié)點(diǎn)的診斷信息?
當(dāng)ACK Edge集群的節(jié)點(diǎn)出現(xiàn)異常時(shí),您可以參見以下步驟收集集群節(jié)點(diǎn)的診斷信息,以供數(shù)據(jù)分析使用。
登錄到ACK Edge集群的異常節(jié)點(diǎn)。
執(zhí)行如下命令,下載診斷腳本。
curl -o /usr/local/bin/diagnose_edge_node.sh https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/diagnose/diagnose_k8s.sh
執(zhí)行如下命令,給診斷腳本添加執(zhí)行權(quán)限。
chmod u+x /usr/local/bin/diagnose_edge_node.sh
執(zhí)行如下命令,進(jìn)入指定目錄。
cd /usr/local/bin/
執(zhí)行如下命令,運(yùn)行診斷腳本。
./diagnose_edge_node.sh
預(yù)期輸出如下。每次執(zhí)行診斷腳本產(chǎn)生的診斷信息文件名稱不同,本示例以
diagnose_1578310147.tar.gz
為例,具體以實(shí)際環(huán)境為準(zhǔn)。...... + echo 'please get diagnose_1578310147.tar.gz for diagnostics' please get diagnose_1578310147.tar.gz for diagnostics + echo '請(qǐng)?zhí)峤?diagnose_1578310147.tar.gz 給技術(shù)支持' 請(qǐng)?zhí)峤?diagnose_1578310147.tar.gz 給技術(shù)支持
執(zhí)行
ll
命令,確認(rèn)存在diagnose_1578310147.tar.gz
診斷信息文件。