Cri-o socket (crio.sock) против сокета dockershim (dockershim.sock)
Я новичок в Kubernetes и пытаюсь понять разницу между crio и dockershim.
Я читал руководство по установке kubernetes и вижу, что в качестве шага рекомендуется использовать crio (см. Ссылку) Время выполнения контейнера / cri-o.
Тем не менее, я запутался еще больше, когда впервые попытался запустить пилотный проект, и увидел, что по умолчанию kubernetes использует другой инструмент cri (dockershim) в качестве инструмента крита по умолчанию, см. Ссылку crictl / Общее использование.
У меня вопрос: стоит ли проходить процедуру установки CRI-O? Я обнаружил ошибки в последней доступной версии centos7 (1.15.1-2.el7).
Я также протестировал crio-v1.18.0, и ошибки, похоже, исправлены, но в этом случае кажется, что CRI-O может подключаться к порту 10248 при использовании частного репо для получения пилотных изображений.
Может кто-нибудь пролить свет на это? Стоит ли пытаться исправить эти ошибки, или я трачу на это слишком много времени?
1 ответ
Kubelet (демон узла Kubernetes) взаимодействует со средой выполнения контейнера, работающей на узле, через интерфейс выполнения контейнера.dockershim
, так же как crio
реализовать CRI и действовать как связующее звено между средой выполнения и kubelet, но они относятся к разным средам выполнения контейнера.
dockershim
это соединитель между кубелетом и докеромcrio
это соединитель между kubelet и средой выполнения, совместимый со спецификацией OCI (например: runc)
Существует так много способов настройки среды выполнения контейнеров. В различных дистрибутивах kubernetes по умолчанию используются различные среды выполнения контейнеров (например, Google Kubernetes Engine установил среду выполнения containerD с помощью containerD-shim, когда я пробовал это в последний раз)
Я бы сказал, что если вы хотите начать играть с кубернетами и хотите, чтобы он был стабильным, вы должны сначала начать с docker (используйте dockershim в качестве коннектора CRI). Это наиболее часто проверенный способ использования K8S.