W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本頁面為你展示如何遷移你的 Docker Engine 節(jié)點(diǎn),使之使用 ?cri-dockerd
? 而不是 dockershim。 在以下場景中,你可以遵從這里的步驟執(zhí)行操作:
cri-dockerd
? 是你的一種選項。在 Kubernetes v1.24 及更早版本中,你可以在 Kubernetes 中使用 Docker Engine, 依賴于一個稱作 dockershim 的內(nèi)置 Kubernetes 組件。 dockershim 組件在 Kubernetes v1.24 發(fā)行版本中已被移除;不過,一種來自第三方的替代品, ?cri-dockerd
? 是可供使用的。?cri-dockerd
? 適配器允許你通過 容器運(yùn)行時接口(Container Runtime Interface,CRI) 來使用 Docker Engine。
Note:
如果你已經(jīng)在使用 ?cri-dockerd
?,那么你不會被 dockershim 的移除影響到。
如果你想要遷移到 ?cri-dockerd
? 以便繼續(xù)使用 Docker Engine 作為你的容器運(yùn)行時, 你需要在所有被影響的節(jié)點(diǎn)上執(zhí)行以下操作:
cri-dockerd
?;首先在非關(guān)鍵節(jié)點(diǎn)上測試這一遷移過程。
你應(yīng)該針對所有希望遷移到 ?cri-dockerd
? 的節(jié)點(diǎn)執(zhí)行以下步驟。
kubectl cordon <NODE_NAME>
將 ?<NODE_NAME>
? 替換為節(jié)點(diǎn)名稱。
kubectl drain <NODE_NAME> --ignore-daemonsets
下面的步驟適用于用 kubeadm 工具安裝的集群。如果你使用不同的工具, 你需要使用針對該工具的配置指令來修改 kubelet。
/var/lib/kubelet/kubeadm-flags.env
? 文件;--container-runtime-endpoint
? 標(biāo)志,將其設(shè)置為 ?unix:///var/run/cri-dockerd.sock
?。kubeadm 工具將節(jié)點(diǎn)上的套接字存儲為控制面上 ?Node
?對象的注解。 要為每個被影響的節(jié)點(diǎn)更改此套接字:
Node
?對象的 YAML 表示:KUBECONFIG=/path/to/admin.conf kubectl edit no <NODE_NAME>
根據(jù)下面的說明執(zhí)行替換:
/path/to/admin.conf
?:指向 kubectl 配置文件 ?admin.conf
? 的路徑;<NODE_NAME>
?:你要修改的節(jié)點(diǎn)的名稱。kubeadm.alpha.kubernetes.io/cri-socket
? 標(biāo)志從 ?/var/run/dockershim.sock
? 更改為 ?unix:///var/run/cri-dockerd.sock
?;
Node
?對象被更新systemctl restart kubelet
要檢查節(jié)點(diǎn)是否在使用 ?cri-dockerd
? 端點(diǎn), 按照查明節(jié)點(diǎn)上所使用的容器運(yùn)行時頁面所給的指令操作。 kubelet 的 ?--container-runtime-endpoint
? 標(biāo)志取值應(yīng)該是 ?unix:///var/run/cri-dockerd.sock
?。
kubectl uncordon <NODE_NAME>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: