W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
為避免與 CNI 插件相關(guān)的錯誤,請確認(rèn)您正在使用或升級到經(jīng)過測試可與您的 Kubernetes 版本一起正常工作的容器運(yùn)行時。
例如,以下容器運(yùn)行時正在或已經(jīng)為 Kubernetes v1.24 準(zhǔn)備好:
當(dāng) CNI 插件尚未升級和/或 CNI 配置版本未在 CNI 配置文件中聲明時,在 containerd v1.6.0-v1.6.3 中存在 pod CNI 網(wǎng)絡(luò)設(shè)置和拆除的服務(wù)問題。 containerd 團(tuán)隊報告說,“這些問題在 containerd v1.6.4 中得到解決。”
使用 containerd v1.6.0-v1.6.3,如果您不升級 CNI 插件和/或聲明 CNI 配置版本,您可能會遇到以下“不兼容的 CNI 版本”或“無法為沙盒銷毀網(wǎng)絡(luò)”的錯誤情況。
如果您的 CNI 插件版本與配置中的插件版本不正確匹配,因為配置版本晚于插件版本,則容器日志可能會在 pod 啟動時顯示類似于以下內(nèi)容的錯誤消息:
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\"]"
如果 CNI 插件配置中缺少插件的版本,則 pod 可能會運(yùn)行。 但是,停止 pod 會產(chǎn)生類似于以下內(nèi)容的錯誤:
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)絡(luò)命名空間。 要從此問題中恢復(fù),請編輯 CNI 配置文件以添加缺少的版本信息。 下一次停止 pod 的嘗試應(yīng)該會成功。
如果您使用 containerd v1.6.0-v1.6.3 并遇到“不兼容的 CNI 版本”或“無法為沙盒銷毀網(wǎng)絡(luò)”錯誤,請考慮更新您的 CNI 插件并編輯 CNI 配置文件。
以下是每個節(jié)點的典型步驟的概述:
containerd
?,請確保您已安裝 CNI 環(huán)回插件的最新版本(v1.0.0 或更高版本)。kubectl uncordon <nodename>
?)。以下示例顯示了 ?containerd
?運(yùn)行時 v1.6.x 的配置,它支持最新版本的 CNI 規(guī)范 (v1.0.0)。
有關(guān)配置系統(tǒng)的更多說明,請參閱您的插件和網(wǎng)絡(luò)提供商的文檔。
在 Kubernetes 上,containerd 運(yùn)行時將環(huán)回接口 ?lo
?作為默認(rèn)行為添加到 pod。 containerd 運(yùn)行時通過 CNI 插件 ?loopback
?配置環(huán)回接口。 ?loopback
?插件作為具有 cni 名稱的 ?containerd
?發(fā)布包的一部分分發(fā)。 ?containerd
?v1.6.0 及更高版本包括與 CNI v1.0.0 兼容的環(huán)回插件以及其他默認(rèn) ?CNI
?插件。 loopback 插件的配置由 containerd 內(nèi)部完成,并設(shè)置為使用 CNI v1.0.0。這也意味著當(dāng)這個更新版本的 ?containerd
?啟動時,?loopback
?插件的版本必須是 v1.0.0 或更高版本。
以下 bash 命令生成示例 CNI 配置。在這里,配置版本的 1.0.0 值分配給 ?cniVersion
?字段,以供 ?containerd
?調(diào)用 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)絡(luò)尋址計劃的 IP 地址范圍更新前面示例中的 IP 地址范圍。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: