新聞中心
CNI 插件相關錯誤故障排除
為避免與 CNI 插件相關的錯誤,請確認您正在使用或升級到經(jīng)過測試可與您的 Kubernetes 版本一起正常工作的容器運行時。

十多年的馬村網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整馬村建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“馬村網(wǎng)站設計”,“馬村網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
例如,以下容器運行時正在或已經(jīng)為 Kubernetes v1.24 準備好:
- containerd v1.6.4 及更高版本,v1.5.11 及更高版本
- CRI-O v1.24.0 及更高版本
關于“CNI 版本不兼容”和“無法為沙盒銷毀網(wǎng)絡”錯誤
當 CNI 插件尚未升級和/或 CNI 配置版本未在 CNI 配置文件中聲明時,在 containerd v1.6.0-v1.6.3 中存在 pod CNI 網(wǎng)絡設置和拆除的服務問題。 containerd 團隊報告說,“這些問題在 containerd v1.6.4 中得到解決?!?/p>
使用 containerd v1.6.0-v1.6.3,如果您不升級 CNI 插件和/或聲明 CNI 配置版本,您可能會遇到以下“不兼容的 CNI 版本”或“無法為沙盒銷毀網(wǎng)絡”的錯誤情況。
CNI 版本不兼容錯誤
如果您的 CNI 插件版本與配置中的插件版本不正確匹配,因為配置版本晚于插件版本,則容器日志可能會在 pod 啟動時顯示類似于以下內容的錯誤消息:
incompatible CNI versions; config is \"1.0.0\", plugin supports [\"0.1.0\" \"0.2.0\" \"0.3.0\" \"0.3.1\" \"0.4.0\"]"
沙盒錯誤導致網(wǎng)絡破壞失敗
如果 CNI 插件配置中缺少插件的版本,則 pod 可能會運行。 但是,停止 pod 會產(chǎn)生類似于以下內容的錯誤:
ERRO[2022-04-26T00:43:24.518165483Z] StopPodSandbox for "b" failed
error="failed to destroy network for sandbox \"bbc85f891eaf060c5a879e27bba9b6b06450210161dfdecfbb2732959fb6500a\": invalid version \"\": the version is empty"此錯誤使 pod 處于未就緒狀態(tài),但仍附加網(wǎng)絡命名空間。 要從此問題中恢復,請編輯 CNI 配置文件以添加缺少的版本信息。 下一次停止 pod 的嘗試應該會成功。
更新 CNI 插件和 CNI 配置文件
如果您使用 containerd v1.6.0-v1.6.3 并遇到“不兼容的 CNI 版本”或“無法為沙盒銷毀網(wǎng)絡”錯誤,請考慮更新您的 CNI 插件并編輯 CNI 配置文件。
以下是每個節(jié)點的典型步驟的概述:
- 安全地排空并封鎖節(jié)點。
- 停止容器運行時和 kubelet 服務后,執(zhí)行以下升級操作:
- 如果您正在運行 CNI 插件,請將它們升級到最新版本。
- 如果您使用的是非 CNI 插件,請將它們替換為 CNI 插件。 使用最新版本的插件。
- 更新插件配置文件以指定或匹配插件支持的 CNI 規(guī)范版本,如以下“容器配置文件示例”部分所示。
- 對于 ?
containerd?,請確保您已安裝 CNI 環(huán)回插件的最新版本(v1.0.0 或更高版本)。 - 將節(jié)點組件(例如 kubelet)升級到 Kubernetes v1.24
- 升級到或安裝最新版本的容器運行時。
- 通過重新啟動容器運行時和 kubelet 將節(jié)點帶回集群。 取消封鎖節(jié)點(?
kubectl uncordon?)。
一個示例容器配置文件
以下示例顯示了 ?containerd ?運行時 v1.6.x 的配置,它支持最新版本的 CNI 規(guī)范 (v1.0.0)。
有關配置系統(tǒng)的更多說明,請參閱您的插件和網(wǎng)絡提供商的文檔。
在 Kubernetes 上,containerd 運行時將環(huán)回接口 ?lo ?作為默認行為添加到 pod。 containerd 運行時通過 CNI 插件 ?loopback ?配置環(huán)回接口。 ?loopback ?插件作為具有 cni 名稱的 ?containerd ?發(fā)布包的一部分分發(fā)。 ?containerd ?v1.6.0 及更高版本包括與 CNI v1.0.0 兼容的環(huán)回插件以及其他默認 ?CNI ?插件。 loopback 插件的配置由 containerd 內部完成,并設置為使用 CNI v1.0.0。這也意味著當這個更新版本的 ?containerd ?啟動時,?loopback ?插件的版本必須是 v1.0.0 或更高版本。
以下 bash 命令生成示例 CNI 配置。在這里,配置版本的 1.0.0 值分配給 ?cniVersion ?字段,以供 ?containerd ?調用 CNI 橋接插件時使用。
cat << EOF | tee /etc/cni/net.d/10-containerd-net.conflist
{
"cniVersion": "1.0.0",
"name": "containerd-net",
"plugins": [
{
"type": "bridge",
"bridge": "cni0",
"isGateway": true,
"ipMasq": true,
"promiscMode": true,
"ipam": {
"type": "host-local",
"ranges": [
[{
"subnet": "10.88.0.0/16"
}],
[{
"subnet": "2001:db8:4860::/64"
}]
],
"routes": [
{ "dst": "0.0.0.0/0" },
{ "dst": "::/0" }
]
}
},
{
"type": "portmap",
"capabilities": {"portMappings": true}
}
]
}
EOF使用基于您的用例和網(wǎng)絡尋址計劃的 IP 地址范圍更新前面示例中的 IP 地址范圍。
新聞名稱:創(chuàng)新互聯(lián)kubernetes教程:KubernetesCNI插件相關錯誤故障排除
網(wǎng)頁鏈接:http://m.fisionsoft.com.cn/article/dphejpj.html


咨詢
建站咨詢
